Commit Graph

63 Commits

Author SHA1 Message Date
Joshua Boniface acc7c1b554 Ensure template code responses accross everything 2020-01-05 22:07:37 -05:00
Joshua Boniface f4ae245184 Avoid splitting an empty node_limit 2020-01-05 21:28:22 -05:00
Joshua Boniface 5521110043 Add missing return failure 2020-01-05 20:16:49 -05:00
Joshua Boniface 80077efc63 Send error in regular message and fix codes 2020-01-05 19:41:55 -05:00
Joshua Boniface 832ca2e4b3 Handle code properly 2020-01-05 19:28:02 -05:00
Joshua Boniface 698b185fb4 Fix bugs with codes and fsargs 2020-01-05 19:11:39 -05:00
Joshua Boniface e433181e34 Support source_volume options to storage volumes 2020-01-05 17:25:34 -05:00
Joshua Boniface cfb5862cf0 Just return an empty log 2020-01-05 17:06:14 -05:00
Joshua Boniface bde0bd6238 Better handle empty script 2020-01-05 16:59:19 -05:00
Joshua Boniface 6306586ad3 Handle new return setup 2020-01-05 16:53:12 -05:00
Joshua Boniface 8b05dfea7b Skip provisioning process steps if script is "empty" 2020-01-05 16:43:50 -05:00
Joshua Boniface c3231ddc24 Wrap list bad request responses in JSON 2020-01-05 15:14:11 -05:00
Joshua Boniface 9d06aa111b Handle creating swap in provisioner 2020-01-05 15:07:48 -05:00
Joshua Boniface 8d758f3e53 Add missing disable function 2020-01-05 14:38:14 -05:00
Joshua Boniface 065ba29c84 Handle retcode from list functions 2020-01-05 02:47:32 -05:00
Joshua Boniface e0dfda3ff6 Send a useful retcode for failed lists 2020-01-05 02:34:55 -05:00
Joshua Boniface 0a04c5d748 Handle empty arguments better 2020-01-04 14:05:42 -05:00
Joshua Boniface c2c6198dae Once more occurrance 2020-01-04 14:00:26 -05:00
Joshua Boniface 8fea073b55 Fix remaining instances of userdata_template 2020-01-04 13:42:16 -05:00
Joshua Boniface 139672d8c9 Fix bug in function argument order 2020-01-04 11:43:35 -05:00
Joshua Boniface 19ea01e17e Don't strip down single-element lists
This is causing problems, so don't do it.
2020-01-04 11:14:55 -05:00
Joshua Boniface e4a83bb063 Use different MAC prefixes for MAC templates 2020-01-04 10:42:04 -05:00
Joshua Boniface a6b6c54422 Use consistent messages and formatting 2020-01-03 13:59:32 -05:00
Joshua Boniface 816dbac912 Remove explicit flask.jsonify 2020-01-03 12:00:06 -05:00
Joshua Boniface 5d92a4aa62 Ensure zk_conn handling is consistent 2020-01-02 12:13:11 -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 3b08e887f8 Add cluster status to API 2019-12-29 20:52:05 -05:00
Joshua Boniface e82b851643 Don't bother splitting name_servers 2019-12-27 12:15:57 -05:00
Joshua Boniface bc22c008dd Split the name_servers in the right place 2019-12-27 12:14:34 -05:00
Joshua Boniface 1d4e4d178c Correct bad comma 2019-12-26 18:58:46 -05:00
Joshua Boniface e8d8fb161b Add wait functionality to API domain-state 2019-12-25 20:24:12 -05:00
Joshua Boniface b1c19a21ba Move int cast to helper try block 2019-12-25 19:31:51 -05:00
Joshua Boniface 1f77b382ef Support providing console log lines from API 2019-12-25 19:13:53 -05:00
Joshua Boniface b92c1876d6 Make sure we return True from init function 2019-12-25 12:18:26 -05:00
Joshua Boniface a6683d5b17 Rebuild API using Flask-RESTful and Swagger docs 2019-12-23 20:43:20 -05:00
Joshua Boniface 796fa4692f Pass remaining required args to vm_define 2019-12-19 11:53:24 -05:00
Joshua Boniface 78089afb4e Remove spurious argument to vm_define 2019-12-19 11:43:59 -05:00
Joshua Boniface 0727a7f6ed Move all provisioner API functionality into main 2019-12-14 14:12:55 -05:00
Joshua Boniface 1fb560e996 Add DNS nameservers to networks 2019-12-08 23:55:45 -05:00
Joshua Boniface ad5f232c03 Update header names 2019-10-13 12:11:23 -04:00
Joshua Boniface 03447d3374 Update copyright string year to include 2019 2019-10-13 12:09:51 -04:00
Joshua Boniface a9e9198970 Rename API library file 2019-10-13 12:07:57 -04:00
Joshua Boniface 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
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 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
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 a3c96764e0 Implement getting Node states via API 2019-07-28 23:31:59 -04:00
Joshua Boniface 2dbf276e51 Implement snapshot renaming
[3/2] Implements #44
2019-07-28 23:00:35 -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