Commit Graph

254 Commits

Author SHA1 Message Date
Joshua Boniface baac8f24fd Bump version to 0.9.3 2020-11-09 10:28:15 -05:00
Joshua Boniface 11702f4bc8 Bump version to 0.9.2 2020-11-08 02:03:29 -05:00
Joshua Boniface 56ba7b1457 Bump version to 0.9.1 2020-10-29 12:16:38 -04:00
Joshua Boniface 81141c9b93 Include 0.9.0 changelog entries 2020-10-26 02:20:18 -04:00
Joshua Boniface 9bfcab5e2b Improve documentation around n-1 situations
Closes #104
2020-10-21 03:30:33 -04:00
Joshua Boniface d96a23276b Mention recommendations about system disks
Advise SSDs always, mention the situations where slower media can be
acceptable and the risks therein.
2020-10-21 02:31:09 -04:00
Joshua Boniface a4b80be5ed Add provisioned memory to node info
Adds a separate field to the node memory, "provisioned", which totals
the amount of memory provisioned to all VMs on the node, regardless of
state, and in contrast to "allocated" which only counts running VMs.

Allows for the detection of potential overprovisioned states when
factoring in non-running VMs.

Includes the supporting code to get this data, since the original
implementation of VM memory selection was dependent on the VM being
running and getting this from libvirt. Now, if the VM is not active, it
gets this from the domain XML instead.
2020-10-18 14:17:15 -04:00
Joshua Boniface 78dec77987 Bump version to 0.8 2020-08-26 10:24:44 -04:00
Joshua Boniface eb06c1494e Add API spec for benchmark results 2020-08-25 12:43:16 -04:00
Joshua Boniface 1dcc1f6d55 Rename sample database for API
From pvcprov to pvcapi to facilitate the changing nature of this
database and its expansion to benchmark results.
2020-08-25 01:59:35 -04:00
Joshua Boniface 37a58d35e8 Implement limiting of node output
Closes #98
2020-06-25 11:51:53 -04:00
Joshua Boniface 4cdf1f7247 Add statistics values to the API 2020-06-07 02:15:33 -04:00
Joshua Boniface 683c3afea6 Correct spelling mistake 2020-05-06 11:29:42 -04:00
Joshua Boniface 4c7cb1a20c Add further wording tweaks and details 2020-05-06 11:20:12 -04:00
Joshua Boniface 90feb83eab Revamp some wording in the documentation 2020-05-06 10:41:13 -04:00
Joshua Boniface 59707bad4e Fix some errors in the FAQ 2020-04-11 01:33:18 -04:00
Joshua Boniface 9c19813808 Fix link to FAQ page 2020-04-11 01:28:32 -04:00
Joshua Boniface 8fe50bea77 Add FAQ to documentation 2020-04-11 01:22:07 -04:00
Joshua Boniface 6563053f6c Add underlying OS and architecture blurbs 2020-03-25 15:54:03 -04:00
Joshua Boniface 862f7ee9a8 Reword the opening paragraph 2020-03-25 15:42:51 -04:00
Joshua Boniface 97a560fcbe Update cluster documentation
Add a TOC, add additional sections, improve wording in some sections,
spellcheck.
2020-03-25 15:38:00 -04:00
Joshua Boniface 3f5076d9ca Revamp some architecture documentation 2020-03-15 18:07:05 -04:00
Joshua Boniface 8ed602ef9c Update getting started paragraph 2020-03-15 17:50:16 -04:00
Joshua Boniface 082648f3b2 Mention Zookeeper in initial paragraph 2020-03-15 17:36:12 -04:00
Joshua Boniface 616d7c43ed Add additional info about OVA deployment 2020-03-15 17:31:12 -04:00
Joshua Boniface 4fe3a73980 Reorganize manuals and architecture pages 2020-03-15 17:19:51 -04:00
Joshua Boniface 26084741d0 Update README and index for 0.7 2020-03-15 17:17:17 -04:00
Joshua Boniface 99f579e41a Add wait support to API commands
References #72
2020-02-19 09:51:42 -05:00
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
Joshua Boniface f41969094e Tweak wording in install doc intro 2019-07-07 00:49:04 -04:00
Joshua Boniface 1f0f7bc5a6 Add blurb about patience with old tools 2019-07-07 00:40:10 -04:00
Joshua Boniface f666fc0673 Add manual stubs for API and Ansible 2019-07-07 00:24:17 -04:00
Joshua Boniface 48f02a379d Add CLI manual 2019-07-07 00:19:49 -04:00
Joshua Boniface 17046f923f Add Ansible manual 2019-07-06 18:41:51 -04:00
Joshua Boniface c04f959fa6 Add empty architecture files 2019-07-06 18:39:27 -04:00
Joshua Boniface 7ab8c81c4f Even more formatting tweaks 2019-07-06 18:16:28 -04:00
Joshua Boniface 2b657f73a1 One more attempt 2019-07-06 18:15:11 -04:00
Joshua Boniface ca1aada5b0 And another 2019-07-06 18:13:28 -04:00
Joshua Boniface af5224abe7 Add more formatting tweaks for RTD 2019-07-06 18:12:53 -04:00
Joshua Boniface 9c9d0edd86 Add layout fixes for RTD 2019-07-06 18:11:20 -04:00
Joshua Boniface 96b9522f1e Add installing document 2019-07-06 16:58:42 -04:00
Joshua Boniface f8e8bf1f10 Add changelog to index page 2019-07-06 16:58:35 -04:00
Joshua Boniface ee0abf880a Rewrite the about page 2019-07-06 15:23:30 -04:00
Joshua Boniface 43e4718d4f Revamp docs in prep for rewrite 2019-07-06 14:29:05 -04:00
Joshua Boniface 45da4e3f9a Remove backup file 2019-05-30 21:59:56 -04:00
Joshua Boniface 7596e3c3b5 Add missing number 2019-05-28 23:41:31 -04:00
Joshua Boniface b7beea2692 Fix some typos and poor wordings 2019-05-28 20:17:45 -04:00
Joshua Boniface 2a6157521d Reorganize documentation 2019-05-28 20:04:55 -04:00
Joshua Boniface 24a9612377 Remove obsolete about 2019-03-17 22:37:57 -04:00
Joshua Boniface 0bf5455d12 Add changelog and correct typos 2019-03-16 00:43:11 -04:00
Joshua Boniface fd0b8d670a Correct spelling errors with aspell 2019-03-15 21:33:49 -04:00