226 Commits

Author SHA1 Message Date
b9fe918d7d Remove extraneous print 2019-12-29 16:33:50 -05:00
3e960b8adf Fix bugs in ACL 2019-12-29 16:33:28 -05:00
e55f2f0b92 Ensure var is valid first 2019-12-29 16:19:33 -05:00
a3df70014b Refactor modify_network to use nicer format 2019-12-27 12:30:45 -05:00
e82b851643 Don't bother splitting name_servers 2019-12-27 12:15:57 -05:00
4a0806d23e Fix bug setting node limit of CSV 2019-12-26 19:08:26 -05:00
1f77b382ef Support providing console log lines from API 2019-12-25 19:13:53 -05:00
8a0a278fe9 Cast numbers to strings for length 2019-12-25 13:47:46 -05:00
a6683d5b17 Rebuild API using Flask-RESTful and Swagger docs 2019-12-23 20:43:20 -05:00
91cb542e37 Make sure ACLs are name-unique in both directions 2019-12-22 22:33:26 -05:00
66078223a4 Fix several bugs 2019-12-22 22:28:34 -05:00
2fe808f812 Make this even nicer 2019-12-19 13:29:15 -05:00
7901ffb5e3 Handle the list of node_limits even better 2019-12-19 13:22:38 -05:00
684499cce3 Better handle list elements when defining VM 2019-12-19 12:08:44 -05:00
2d14fabe62 Don't throw exception while defining new VM
This would throw an exception since we tried to find the current host of
a VM that did not exist yet. If this happens, just get None.
2019-12-19 11:30:13 -05:00
c91c9ae6d5 Fix formatting of node_limit when writing 2019-12-12 21:36:21 -05:00
fff44ab44e Make node limit output nicer 2019-12-12 20:52:56 -05:00
52127f2938 Add provisioner profile to VM information 2019-12-11 17:04:16 -05:00
a95e7d1f76 Add profile from provisioner to data stored in ZK 2019-12-11 16:49:11 -05:00
867634cea7 Fix missing argument 2019-12-09 11:31:56 -05:00
d4dc3ac649 Enforce VM uniqueness when defining
Closes #56
2019-12-09 09:56:59 -05:00
1fb560e996 Add DNS nameservers to networks 2019-12-08 23:55:45 -05:00
356c12db2e Add ceph df output to pool data
Allows additional information visible in the `ceph df` command,
including pool free space and used percentage.
2019-12-06 00:47:27 -05:00
531578fd28 Use consistent tense for VM states
Replace "failed" with "fail" and "disabled" with "disable" for
consistency with the remaining states.
2019-10-23 23:57:59 -04:00
6a4c75deb8 Clean up unnecessary zookeeper connection handling 2019-10-23 23:50:46 -04:00
9736a3c653 Implement disabled state in cluster status
References #53
2019-10-23 23:49:19 -04:00
32b4ed66e8 Add VM disable command
Closes #53
2019-10-23 23:44:47 -04:00
715640955f Better handle missing OSD stat keys 2019-10-22 13:59:28 -04:00
d5a120f490 Add colour to the health status output 2019-10-22 12:24:47 -04:00
e7129f0158 Correct invalid variable name 2019-10-22 12:18:51 -04:00
4bff533571 Add cluster status command 2019-10-22 11:23:12 -04:00
53dc343ea2 Avoid migration to invalid target_nodes 2019-10-17 12:16:21 -04:00
8690d40927 Fix syntax error 2019-10-17 12:11:46 -04:00
fb29ce1167 Improve autoselection setup 2019-10-17 10:31:19 -04:00
03447d3374 Update copyright string year to include 2019 2019-10-13 12:09:51 -04:00
116013695f Fix bugs with bad strings 2019-10-12 18:43:29 -04:00
75d95bbef7 Fix minor bugs 2019-10-12 02:03:23 -04:00
18fc49fc6c Use node instead of hypervisor consistently 2019-10-12 01:59:08 -04:00
0763bd2d51 Fix minor bugs 2019-10-12 01:55:37 -04:00
e5393082b6 Use build-in selector and respect limits in client
Use the new built-in selector option, as well as respecting node limits,
when performing migrate or move actions on a VM via the clients.
2019-10-12 01:45:44 -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
76e6b42389 Add clone_volume backend command 2019-10-10 14:09:07 -04:00
b0175eafcb Fix bug in output 2019-09-27 11:25:36 -04:00
63cf90b23d Add Python header to ceph.py 2019-09-26 14:07:52 -04:00
0c9d6db14f Gracefully handle log following output
If the Zookeeper node goes away (e.g. VM is deleted), return a
reasonable error message instead of a stack trace.
2019-09-07 12:30:31 -04:00
3b7c1adf71 Implement configurable replcfg (client-side)
Implements administrator-selectable replication configurations for new
pools in PVC clusters, overriding the default of copies=3,mincopies=2.
2019-08-23 14:12:15 -04:00
2880a761c0 Move Ceph command pipe to new location
Matching the new /cmd/domain pipe, move Ceph pipe to /cmd/ceph.
2019-08-07 14:47:27 -04:00
43756fc62b Implement lock flush function for clients
Uses a similar command pathway as the Ceph commands do, but in a
different location (pending move of the Ceph commands to a similar
location).
2019-08-07 13:38:49 -04:00
6a712ffe7a Don't crash if VM has invalid disks
Useful if storage=False and removing a VM.
2019-07-31 23:05:00 -04:00