Commit Graph

1771 Commits

Author SHA1 Message Date
Joshua Boniface 650ed972a1 Use disk_id ordering for storage volumes
Prevents a bug if a disk is removed/readded and the database ID order
does not match the sdX/vdX order.
2020-01-20 21:12:33 -05:00
Joshua Boniface b615a27e98 Return false if wait is not set 2020-01-18 23:12:38 -05:00
Joshua Boniface 99b220b051 Add profile modification endpoint 2020-01-16 22:58:08 -05:00
Joshua Boniface 5af7dc422d Fix bad replace in default config 2020-01-16 22:35:47 -05:00
Joshua Boniface 194a642c15 Report errors in log -f 2020-01-15 00:47:14 -05:00
Joshua Boniface 4c1b78d7a4 Use dictionary get() to prevent crashes
Use the get() function throughout to prevent crashes in various
scenarios if the profile data isn't present or consistent.
2020-01-13 09:21:57 -05:00
Joshua Boniface 4ad29f669d Update default configuration samples 2020-01-12 21:33:15 -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 0d2e22a111 Normalize all static networks with bridges
Modifies the storage and upstream networks to mirror the cluster
network, with a bridge on top of the underlying specified dev, and all
IPs bound to the bridge.

Allows creating VMs in the storage or upstream networks, as well as the
cluster network, should the administrator choose to do so (manually).
2020-01-12 19:04:31 -05:00
Joshua Boniface 3fbd5fcead Reformat output warning message 2020-01-12 16:07:26 -05:00
Joshua Boniface 003171ea18 Correct syntax error 2020-01-12 16:04:42 -05:00
Joshua Boniface 74ff8b41ea Add prov warning to primary/secondary commands
Warn the administrator if there are active provisioning jobs while
adjusting the current primary node. This is the simplest, cleanest
solution to #69 without trying to implement any hacks or blocking
operations. The administrator can then decide to revert the action
if needed, or will at least know how many jobs are running/queued and
may need to be cancelled.
2020-01-12 16:03:51 -05:00
Joshua Boniface c4ef73c953 Refactor provisioner data+list format to match 2020-01-12 14:23:11 -05:00
Joshua Boniface b9177c2f26 Add word Job to task ID output 2020-01-12 14:16:11 -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 1671a87dd4 Fix the flush service 2020-01-11 17:04:12 -05:00
Joshua Boniface 1683a638cf Remove ceph subcommand from storage
Move everything from under "storage ceph" to "storage" to simplify the
CLI; additional subclasses can be re-added at a future time if and when
additional storage classes are supported.
2020-01-11 16:03:40 -05:00
Joshua Boniface 7d0a64763d Use pass instead of continue 2020-01-09 13:58:10 -05:00
Joshua Boniface 83de40307c Fix missing console_log in CLI VM 2020-01-09 13:53:11 -05:00
Joshua Boniface 641f13bb95 Let provisioning finish if script fails
This will allow cleanup to succeed even if the provisioning script
fails, avoiding leaving the system in a weird state.
2020-01-09 13:19:23 -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 4cda5ebb52 Correct syntax error 2020-01-09 09:46:58 -05:00
Joshua Boniface a60afe8ea0 Update swagger.json with recent API changes 2020-01-08 21:27:13 -05:00
Joshua Boniface 4f4b4c65c6 Correct handling of disk size in provisioner 2020-01-08 21:26:53 -05:00
Joshua Boniface 6cd3d5c888 Support no-start/no-define in CLI client 2020-01-08 20:13:26 -05:00
Joshua Boniface f280c93c82 Add create/start VM flags to API endpoint 2020-01-08 19:59:01 -05:00
Joshua Boniface d00e532611 Support cloning volumes in provisioning flow 2020-01-08 19:55:06 -05:00
Joshua Boniface 9342bc4959 Add extra newline after debug output 2020-01-08 19:41:01 -05:00
Joshua Boniface 4e5bce4975 Update copyright header year to 2020 2020-01-08 19:38:02 -05:00
Joshua Boniface 6e5065511c Move API call to function and implement keys
Move all API calls to a new common function called call_api to
facilitate easier future changes. Use this function to implement API key
handling via request header value as well as integrate the request URI
generation and debug output handling.

Closes #65
2020-01-08 19:34:24 -05:00
Joshua Boniface 10d892c698 Support adding API keys to client configs
Sets the groundwork for the remainder of #65
2020-01-08 18:43:02 -05:00
Joshua Boniface c26ee544a9 Lower wait times in Ceph client commands 2020-01-08 18:21:28 -05:00
Joshua Boniface c27a024543 Create VM on the cluster before provisioning
Move the tasks around such that the XML is created and the VM is defined
on the cluster before actual provisioning begins. This facilitates us
setting the "provision" state of the VM so clients can see that the VM
is being provisioned.
2020-01-08 18:18:17 -05:00
Joshua Boniface 682c6cecf7 Support overriding initial state of VM
Still defaults to "stop" state unless overridden in the calling
function.
2020-01-08 17:46:30 -05:00
Joshua Boniface c515d63340 Add provision state for VMs 2020-01-08 17:40:02 -05:00
Joshua Boniface 9cab1c6eb5 Don't go unhealthy for migrate/unmigrate VMs 2020-01-08 17:37:07 -05:00
Joshua Boniface 23b1f6cb00 Improve handling of progressbar on success 2020-01-08 17:07:57 -05:00
Joshua Boniface a197d9da80 Support wait watching provisioning task
Addresses #67
2020-01-08 14:41:46 -05:00
Joshua Boniface c183bc7fef Use click.confirm for all confirmations
Addresses #67
2020-01-08 10:34:27 -05:00
Joshua Boniface 9e7d86d5cf Use click.echo_via_pager for VM log output
Addresses #67
2020-01-08 10:06:34 -05:00
Joshua Boniface edbe29d06a Use click.edit for modification tasks
Closes #63
2020-01-08 09:33:01 -05:00
Joshua Boniface f83ede9ee8 Catch all exceptions around database commits
Just catching IntegrtiyError caused some to be missed; catch anything
instead since it all results in a Bad Request response.
2020-01-08 09:31:08 -05:00
Joshua Boniface 2005342a2d Correct verb on VM modify 2020-01-08 09:24:17 -05:00
Joshua Boniface 65e3d153cb Fix invalid is_fuzzy logic condition 2020-01-07 11:45:45 -05:00
Joshua Boniface 0fca10de4a Verify profile is valid when creating VM 2020-01-07 11:45:39 -05:00
Joshua Boniface e2b9ce2a70 Fix some bugs in provisioning 2020-01-07 01:44:23 -05:00
Joshua Boniface 977bd2a439 Fix return text of empty profile list 2020-01-07 00:48:00 -05:00