Commit Graph

146 Commits

Author SHA1 Message Date
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 4f4b4c65c6 Correct handling of disk size in provisioner 2020-01-08 21:26:53 -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 4e5bce4975 Update copyright header year to 2020 2020-01-08 19:38:02 -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 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 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
Joshua Boniface 096a740c4f Fix bugs around dhcp4_flag 2020-01-06 15:38:06 -05:00
Joshua Boniface 17b6af3ee6 Only split nameservers if needed 2020-01-06 13:21:37 -05:00
Joshua Boniface 220230ad47 Add missing reqargs to network post() 2020-01-06 13:12:08 -05:00
Joshua Boniface 1122589b88 Add documentation of OSD endpoints and proper return 2020-01-06 12:54:18 -05:00
Joshua Boniface 5edcd45ad6 Handle non-200 codes in the multi-template return 2020-01-06 11:43:32 -05:00
Joshua Boniface a9edbe0234 Improve retdata 2020-01-06 11:32:27 -05:00
Joshua Boniface 56bc104f19 Actually return body 2020-01-06 10:53:25 -05:00
Joshua Boniface 3e5c7c5546 Remove my stuff from userdata.yaml example 2020-01-05 23:55:11 -05:00
Joshua Boniface cdd887757e Use by-id labels for disks and dump/cpass /var/log 2020-01-05 23:46:06 -05:00
Joshua Boniface 5e2efacda5 Strip VM schema when defining 2020-01-05 23:22:23 -05:00
Joshua Boniface 3719d850c7 Fix setting hostname in debootstrap script 2020-01-05 23:09:33 -05:00
Joshua Boniface 8eb95afae5 Update the comment and remove hostname 2020-01-05 22:47:10 -05:00
Joshua Boniface 46c5e8e36c Correct bad variable name 2020-01-05 22:11:40 -05:00
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 6fc12b4438 Add wget to packages list in debootstrap script 2020-01-05 20:18:58 -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 2ed6949373 Add storage table column for source_volume 2020-01-05 17:17:06 -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 ba85d1d338 Update schema format 2020-01-05 16:46:13 -05:00
Joshua Boniface 3b3436f647 Add default "empty" script matching userdata 2020-01-05 16:45:01 -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 a7a2ace5ae Properly pass reqargs to script put() 2020-01-05 02:42:21 -05:00
Joshua Boniface e0dfda3ff6 Send a useful retcode for failed lists 2020-01-05 02:34:55 -05:00
Joshua Boniface c032cf3f49 Correct bad variables 2020-01-05 00:55:17 -05:00
Joshua Boniface 41766febe6 Fix name of endpoint 2020-01-04 14:21:15 -05:00
Joshua Boniface c34ec68038 Return delete 2020-01-04 14:07:58 -05:00
Joshua Boniface 0a04c5d748 Handle empty arguments better 2020-01-04 14:05:42 -05:00