83 Commits

Author SHA1 Message Date
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
aaf9f5e43b Add clone volume to API 2019-10-10 14:37:35 -04:00
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
795ca0777c Update README badges 2019-08-08 20:48:28 -04:00
48764f2e70 Correct spelling in all documentation 2019-08-08 20:36:25 -04:00
ea2426fa73 Implement additional functions
1. VM state
2. VM node
3. Lock flush
2019-08-07 14:46:20 -04:00
fac02f8520 Add hosts element to Ansible doc 2019-08-07 12:50:03 -04:00
b8d336423e Add basic testing procedures to manual 2019-08-07 11:07:05 -04:00
37eaf000c8 Remove extra text 2019-07-29 22:49:52 -04:00
c2aaa713ac Use updated storage ceph commands 2019-07-29 21:17:52 -04:00
14dc33ca1b Add links to author section 2019-07-29 00:25:21 -04:00
8992536dea Tweak wording of API about 2019-07-29 00:23:28 -04:00
b8d11302ef Fix a few more typos 2019-07-29 00:12:15 -04:00
171e4067e4 Use real arrow in titles 2019-07-29 00:06:33 -04:00
8dec54ef23 Fix spacing in sublist 2019-07-29 00:04:29 -04:00
5678446bca Fix indenting on sublist 2019-07-29 00:03:45 -04:00
c3e4d97aa0 Fix typos and errors 2019-07-29 00:01:54 -04:00
0041cbc2ee Remove extrenuous period 2019-07-28 23:43:04 -04:00
f8074ffbaa Correct image location 2019-07-28 23:41:56 -04:00
47c72d9b68 Move token authentication to X-Api-Token header
Implements #46
2019-07-28 23:12:53 -04:00
5873cf6c53 Add cluster architecture document 2019-07-28 22:43:24 -04:00
c8404ecea7 Add daemon configuration reference 2019-07-28 20:27:15 -04:00
c38d9b31e1 Add section on API configuration file 2019-07-28 20:27:07 -04:00
0d195121ba Wording tweaks in manual 2019-07-28 20:26:57 -04:00
0d79def842 Increase indentations 2019-07-28 18:26:41 -04:00
8daafa150c Add configuration section to CLI manual 2019-07-28 18:22:46 -04:00
67704198e4 Add basic architecture docs 2019-07-28 18:22:33 -04:00
2f186f9d67 Remove extra colons 2019-07-27 16:10:44 -04:00
d5f263bdd6 Implement Ceph volume resize and rename in clients
[1/2] Implements #44
2019-07-26 15:13:21 -04:00
17b463afd4 Replace retcodes with 400; implement OSD status 2019-07-26 11:23:19 -04:00
4cf3ade10a RESTify the remaining components 2019-07-26 11:00:11 -04:00
d43ced176f RESTify the network endpoints; remove some cruft 2019-07-26 09:41:46 -04:00
dff1c68f6e RESTify the VM functions and enable debug mode 2019-07-25 15:42:17 -04:00
19ae10e582 Update storage docs for RESTfulness 2019-07-25 12:49:02 -04:00
eb83305ac2 Update network docs for RESTfulness 2019-07-25 12:30:29 -04:00
ee6e219c92 Update node and VM docs for RESTfulness 2019-07-24 22:24:39 -04:00
4284a0fae3 Correct file name 2019-07-24 20:56:31 -04:00
383bc958fe Add Ansible architecture doc 2019-07-12 00:30:22 -04:00
0bf0721fda Add documentation manual for Ansible configuration 2019-07-11 13:27:06 -04:00
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
fbceaf57cd Add mention of setting IPMI over LAN 2019-07-09 13:43:56 -04:00
31b4dd9aed Show radosdf output in clients 2019-07-08 10:59:49 -04:00
9c89a22ec4 Remove missed return message 2019-07-07 16:42:54 -04:00
128db8e683 Remove indent 2019-07-07 16:39:07 -04:00
fed6dd6639 Fix bad replace 2019-07-07 15:36:45 -04:00
143639cc3b Update URLs in badges 2019-07-07 15:35:41 -04:00
021fcb2c59 Add section about the author 2019-07-07 15:34:26 -04:00
4a93945b58 Add additional e for consistency 2019-07-07 15:18:35 -04:00
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
be146d7364 Add wording and formatting tweaks 2019-07-07 15:01:21 -04:00