17 Commits

Author SHA1 Message Date
4e5bce4975 Update copyright header year to 2020 2020-01-08 19:38:02 -05:00
03447d3374 Update copyright string year to include 2019 2019-10-13 12:09:51 -04:00
18fc49fc6c Use node instead of hypervisor consistently 2019-10-12 01:59:08 -04:00
8dc0c8f0ac Fix minor bugs 2019-10-12 01:36:50 -04:00
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
496216321e Move lock flushing to VMInstance
Prepares for reuse of this function via client commands.
2019-08-07 13:36:56 -04:00
33a963c2af Improve fence output on failure and increase delay 2019-08-07 11:35:49 -04:00
8a28738bff Use consistent terminology in fence message 2019-07-10 11:54:56 -04:00
ad284b13bc Fix bugs with fencing 2019-07-09 19:17:53 -04:00
7f828a27a5 Free RBD locks when fencing node 2019-07-09 10:59:31 -04:00
3e591bd09e Remove extra whitespaces on blank lines 2019-06-25 22:33:23 -04:00
249611b161 Remove duplicate import 2019-06-24 20:14:43 -04:00
6eab87a2a8 Fix bad split on list 2019-03-13 19:26:08 -04:00
cbc70e2ef8 Use correct IPMItool command to start server 2018-12-07 12:36:53 -05:00
790ed16a42 Make IPMI handling a bit better 2018-11-23 20:05:07 -05:00
94398a7847 Remove spurious ipmi_command definition 2018-10-22 23:49:56 -04:00
6b5fa3d50b Move Zookeeper update out of NodeInstance and into the main Daemon 2018-10-22 21:01:59 -04:00