Joshua Boniface
ca68321be3
Allow modification of system templates
...
Closes #82
2020-02-18 16:18:27 -05:00
Joshua Boniface
db558ec91f
Complete implementation of OVA handling
...
Add functions for uploading, listing, and removing OVA images to the API
and CLI interfaces. Includes improved parsing of the OVF and creation of
a system_template and profile for each OVA.
Also modifies some behaviour around profiles, making most components
option at creation to support both profile types (and incomplete
profiles generally).
Implementation part 2/3 - remaining: OVA VM creation
References #71
2020-02-17 23:22:50 -05:00
Joshua Boniface
b29c69378d
Just describe the body in words
2020-02-09 21:08:27 -05:00
Joshua Boniface
ad60f4b1f1
Try again with just query
2020-02-09 21:06:33 -05:00
Joshua Boniface
68638d7760
Use in: body for body contents
2020-02-09 21:05:15 -05:00
Joshua Boniface
4fa9878e01
Update swagger.json file
2020-02-09 21:02:29 -05:00
Joshua Boniface
c979fed10a
Use proper requestBody description of file
2020-02-09 20:59:03 -05:00
Joshua Boniface
e419855911
Support converting types during upload
...
Allow the user to specify other, non-raw files and upload them,
performing a conversion with qemu-img convert and a temporary block
device as a shim (since qemu-img can't use FIFOs).
Also ensures that the target volume exists before proceeding.
Addresses #68
2020-02-09 20:29:12 -05:00
Joshua Boniface
49e5ce1176
Support uploading disk images to volumes in API
...
Addresses #68
2020-02-09 13:45:04 -05:00
Joshua Boniface
ce985234c3
Use consistent naming of components
...
Rename "pvcd" to "pvcnoded", and "pvc-api" to "pvcapid" so names for the
daemons are fully consistent. Update the names of the configuration
files as well to match this new formatting.
References #79
2020-02-08 19:34:07 -05:00
Joshua Boniface
74228eb063
Bump version to 0.6
2020-02-08 18:27:39 -05:00
Joshua Boniface
776d4f7262
Update API docs for profile
2020-02-02 01:34:55 -05:00
Joshua Boniface
99b220b051
Add profile modification endpoint
2020-01-16 22:58:08 -05:00
Joshua Boniface
1665113ed4
Update manuals with current information
2020-01-12 21:32:02 -05:00
Joshua Boniface
c42ff46de9
Revamp architecture documentation
...
Include completed provisioner documentation as well as updated CLI and
cluster architecture descriptions.
2020-01-12 21:13:02 -05:00
Joshua Boniface
b68f09f787
Update about page with recent changes
2020-01-12 20:12:02 -05:00
Joshua Boniface
2057859b9f
Add Celery task list output
2020-01-12 14:12:01 -05:00
Joshua Boniface
ed84df5237
Remove ceph subcommand from docs
2020-01-12 11:44:16 -05:00
Joshua Boniface
b6474198a4
Implement cluster maintenance mode
...
Implements a "maintenance mode" for PVC clusters. For now, the only
thing this mode does is disable node fencing while the state is true.
This allows the administrator to tell PVC that network connectivity,
etc. might be interrupted and to avoid fencing nodes.
Closes #70
2020-01-09 10:53:27 -05:00
Joshua Boniface
a60afe8ea0
Update swagger.json with recent API changes
2020-01-08 21:27:13 -05:00
Joshua Boniface
82a88f8433
Fix incorrect port in swagger docs
2020-01-06 23:50:12 -05:00
Joshua Boniface
1122589b88
Add documentation of OSD endpoints and proper return
2020-01-06 12:54:18 -05:00
Joshua Boniface
e433181e34
Support source_volume options to storage volumes
2020-01-05 17:25:34 -05:00
Joshua Boniface
41766febe6
Fix name of endpoint
2020-01-04 14:21:15 -05:00
Joshua Boniface
a10ce95be3
Remove a few more instances of userdata_template
2020-01-04 13:58:48 -05:00
Joshua Boniface
e550d4589d
Move userdata from templates
...
This arrangement was driving me somewhat mad; make userdata just like
script in that it is not a "template".
2019-12-30 15:01:28 -05:00
Joshua Boniface
6de65378ca
Fix bad metadata documentation
2019-12-29 20:58:02 -05:00
Joshua Boniface
4af95ecfcb
Add API doc for cluster status
2019-12-29 20:54:20 -05:00
Joshua Boniface
c9fb9600a4
Fix two small bugs and regen docs
2019-12-26 18:45:11 -05:00
Joshua Boniface
49dfc6564f
Add additional bit about response bodies
2019-12-26 11:26:30 -05:00
Joshua Boniface
ebcf0cee43
Add doc endpoint
2019-12-23 23:11:55 -05:00
Joshua Boniface
2dec61ce88
Fix the host in the output file
2019-12-23 21:22:09 -05:00
Joshua Boniface
d75a9749ac
Regenerate host value
2019-12-23 21:14:59 -05:00
Joshua Boniface
60ffe534a1
Add proper (local) URL to swagger docs
2019-12-23 21:06:08 -05:00
Joshua Boniface
05f08a714a
Update link to API reference document
2019-12-23 20:59:46 -05:00
Joshua Boniface
14b811e3c7
Rename API reference page
2019-12-23 20:59:24 -05:00
Joshua Boniface
1d59453252
API documentation page cleanup
2019-12-23 20:58:20 -05:00
Joshua Boniface
fd4f033a04
Update return from initialize
2019-12-23 20:51:18 -05:00
Joshua Boniface
9076208a92
Fix missing code end block
2019-12-23 20:47:01 -05:00
Joshua Boniface
e6a8ed0734
Replace in-markdown API docs with Swagger
2019-12-23 20:45:30 -05:00
Joshua Boniface
a6683d5b17
Rebuild API using Flask-RESTful and Swagger docs
2019-12-23 20:43:20 -05:00
Joshua Boniface
de8c79755b
Add documentation about the provisioner API
2019-12-19 23:44:10 -05:00
Joshua Boniface
4a7c6db9b2
Initial provisioner configuration
...
Features all the components of creating various templates and scripts
for the provisioner, as well as VM profiles combining these.
2019-12-06 00:48:00 -05:00
Joshua Boniface
5995353597
Implement VM metadata and use it
...
Implements the storing of three VM metadata attributes:
1. Node limits - allows specifying a list of hosts on which the VM must
run. This limit influences the migration behaviour of VMs.
2. Per-VM node selectors - allows each VM to have its migration
autoselection method specified, to automatically allow different methods
per VM based on the administrator's preferences.
3. VM autorestart - allows a VM to be automatically restarted from a
stopped state, presumably due to a failure to find a target node (either
due to limits or otherwise) during a flush/fence recovery, on the next
node unflush/ready state of its home hypervisor. Useful mostly in
conjunction with limits to ensure that VMs which were shut down due to
there being no valid migration targets are started back up when their
node becomes ready again.
Includes the full client interaction with these metadata options,
including printing, as well as defining a new function to modify this
metadata. For the CLI it is set/modified either on `vm define` or via the
`vm meta` command. For the API it is set/modified either on a POST to
the `/vm` endpoint (during VM definition) or on POST to the `/vm/<vm>`
endpoint. For the API this replaces the previous reserved word for VM
creation from scratch as this will no longer be implemented in-daemon
(see #22 ).
Closes #52
2019-10-12 01:17:39 -04:00
Joshua Boniface
aaf9f5e43b
Add clone volume to API
2019-10-10 14:37:35 -04:00
Joshua Boniface
5158cec0ec
Implement configurable replcfg (documentation)
...
Implements administrator-selectable replication configurations for new
pools in PVC clusters, overriding the default of copies=3,mincopies=2.
2019-08-23 22:14:28 -04:00
Joshua Boniface
795ca0777c
Update README badges
2019-08-08 20:48:28 -04:00
Joshua Boniface
48764f2e70
Correct spelling in all documentation
2019-08-08 20:36:25 -04:00
Joshua Boniface
ea2426fa73
Implement additional functions
...
1. VM state
2. VM node
3. Lock flush
2019-08-07 14:46:20 -04:00
Joshua Boniface
fac02f8520
Add hosts element to Ansible doc
2019-08-07 12:50:03 -04:00
Joshua Boniface
b8d336423e
Add basic testing procedures to manual
2019-08-07 11:07:05 -04:00
Joshua Boniface
37eaf000c8
Remove extra text
2019-07-29 22:49:52 -04:00
Joshua Boniface
c2aaa713ac
Use updated storage ceph commands
2019-07-29 21:17:52 -04:00
Joshua Boniface
14dc33ca1b
Add links to author section
2019-07-29 00:25:21 -04:00
Joshua Boniface
8992536dea
Tweak wording of API about
2019-07-29 00:23:28 -04:00
Joshua Boniface
b8d11302ef
Fix a few more typos
2019-07-29 00:12:15 -04:00
Joshua Boniface
171e4067e4
Use real arrow in titles
2019-07-29 00:06:33 -04:00
Joshua Boniface
8dec54ef23
Fix spacing in sublist
2019-07-29 00:04:29 -04:00
Joshua Boniface
5678446bca
Fix indenting on sublist
2019-07-29 00:03:45 -04:00
Joshua Boniface
c3e4d97aa0
Fix typos and errors
2019-07-29 00:01:54 -04:00
Joshua Boniface
0041cbc2ee
Remove extrenuous period
2019-07-28 23:43:04 -04:00
Joshua Boniface
f8074ffbaa
Correct image location
2019-07-28 23:41:56 -04:00
Joshua Boniface
47c72d9b68
Move token authentication to X-Api-Token header
...
Implements #46
2019-07-28 23:12:53 -04:00
Joshua Boniface
5873cf6c53
Add cluster architecture document
2019-07-28 22:43:24 -04:00
Joshua Boniface
c8404ecea7
Add daemon configuration reference
2019-07-28 20:27:15 -04:00
Joshua Boniface
c38d9b31e1
Add section on API configuration file
2019-07-28 20:27:07 -04:00
Joshua Boniface
0d195121ba
Wording tweaks in manual
2019-07-28 20:26:57 -04:00
Joshua Boniface
0d79def842
Increase indentations
2019-07-28 18:26:41 -04:00
Joshua Boniface
8daafa150c
Add configuration section to CLI manual
2019-07-28 18:22:46 -04:00
Joshua Boniface
67704198e4
Add basic architecture docs
2019-07-28 18:22:33 -04:00
Joshua Boniface
2f186f9d67
Remove extra colons
2019-07-27 16:10:44 -04:00
Joshua Boniface
d5f263bdd6
Implement Ceph volume resize and rename in clients
...
[1/2] Implements #44
2019-07-26 15:13:21 -04:00
Joshua Boniface
17b463afd4
Replace retcodes with 400; implement OSD status
2019-07-26 11:23:19 -04:00
Joshua Boniface
4cf3ade10a
RESTify the remaining components
2019-07-26 11:00:11 -04:00
Joshua Boniface
d43ced176f
RESTify the network endpoints; remove some cruft
2019-07-26 09:41:46 -04:00
Joshua Boniface
dff1c68f6e
RESTify the VM functions and enable debug mode
2019-07-25 15:42:17 -04:00
Joshua Boniface
19ae10e582
Update storage docs for RESTfulness
2019-07-25 12:49:02 -04:00
Joshua Boniface
eb83305ac2
Update network docs for RESTfulness
2019-07-25 12:30:29 -04:00
Joshua Boniface
ee6e219c92
Update node and VM docs for RESTfulness
2019-07-24 22:24:39 -04:00
Joshua Boniface
4284a0fae3
Correct file name
2019-07-24 20:56:31 -04:00
Joshua Boniface
383bc958fe
Add Ansible architecture doc
2019-07-12 00:30:22 -04:00
Joshua Boniface
0bf0721fda
Add documentation manual for Ansible configuration
2019-07-11 13:27:06 -04:00
Joshua Boniface
9ccf3390ab
Add storage prefix to Ceph commands
...
Add the "storage" prefix to all Ceph-based commands in both the CLI and
the API. This partially abstracts the storage subsystem from the Ceph
tool specifically, should future storage subsystems be added or changed.
The name "ceph" is still used due to the non-abstracted components of
the Ceph management, e.g. referencing Ceph-specific concepts like OSDs
or pools.
2019-07-10 15:14:17 -04:00
Joshua Boniface
fbceaf57cd
Add mention of setting IPMI over LAN
2019-07-09 13:43:56 -04:00
Joshua Boniface
31b4dd9aed
Show radosdf output in clients
2019-07-08 10:59:49 -04:00
Joshua Boniface
9c89a22ec4
Remove missed return message
2019-07-07 16:42:54 -04:00
Joshua Boniface
128db8e683
Remove indent
2019-07-07 16:39:07 -04:00
Joshua Boniface
fed6dd6639
Fix bad replace
2019-07-07 15:36:45 -04:00
Joshua Boniface
143639cc3b
Update URLs in badges
2019-07-07 15:35:41 -04:00
Joshua Boniface
021fcb2c59
Add section about the author
2019-07-07 15:34:26 -04:00
Joshua Boniface
4a93945b58
Add additional e for consistency
2019-07-07 15:18:35 -04:00
Joshua Boniface
f75216d946
Make force_migrate not replace existing node
...
Previous to this, if once force-migrated a VM, the previous_node value
would be updated to the current node, which is likely never what an
administrator would want. Change this functionality so that the previous
node value is not changed, and update the documentation to reflect this.
2019-07-07 15:10:48 -04:00
Joshua Boniface
be146d7364
Add wording and formatting tweaks
2019-07-07 15:01:21 -04:00
Joshua Boniface
5e15c171da
Add fixed-width tags around endpoint addresses
2019-07-07 14:49:36 -04:00
Joshua Boniface
b18e282987
Add further wording tweaks and remove repeat lines
2019-07-07 14:44:54 -04:00
Joshua Boniface
3f67bcd31d
Tweaks to API documentation
2019-07-07 14:37:59 -04:00
Joshua Boniface
dd186c1228
Add API reference manual documentation
2019-07-07 14:18:40 -04:00
Joshua Boniface
7769b322f4
Bold NOTEs instead of italicizing
2019-07-07 12:01:24 -04:00
Joshua Boniface
2297d0b69e
Add mention of buildiso.sh help
2019-07-07 11:19:45 -04:00
Joshua Boniface
a2362db11e
Fix some typos
2019-07-07 01:17:05 -04:00