Commit Graph

1690 Commits

Author SHA1 Message Date
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
Joshua Boniface d6182d92fc Strip incoming userdata and script documents 2020-01-06 23:52:29 -05:00
Joshua Boniface 82a88f8433 Fix incorrect port in swagger docs 2020-01-06 23:50:12 -05:00
Joshua Boniface a174afa280 Remove obsolete artifacts upload from gitlab-ci 2020-01-06 23:49:14 -05:00
Joshua Boniface 21d87f5e51 Add v6 configurations to dnsmasq
These options were only applied with v4 networks; now, use the v6
address in a dual-stack or v6-only network.
2020-01-06 23:48:04 -05:00
Joshua Boniface b452a7355f Add GitHub note to README 2020-01-06 23:45:08 -05:00
Joshua Boniface f4206c2b44 Use correct method for userdata update 2020-01-06 23:39:47 -05:00
Joshua Boniface 62798f9ee8 Use the passed name to modify commands 2020-01-06 23:37:28 -05:00
Joshua Boniface 2aaccfffa7 Use POST body for large data objects 2020-01-06 23:30:34 -05:00
Joshua Boniface f326fd99e2 Properly fix IPv4 no-DHCP networking 2020-01-06 22:31:37 -05:00
Joshua Boniface 589b2b1677 Forcibly remove tempdir just in case 2020-01-06 16:52:25 -05:00
Joshua Boniface 38dae8b32f Change name of cluster in patronictl command 2020-01-06 16:37:17 -05:00
Joshua Boniface 2d2bdb879e Use get() instead of direct dict reference 2020-01-06 16:34:39 -05:00
Joshua Boniface a0542d61d0 Fix bad variable name 2020-01-06 16:30:59 -05:00
Joshua Boniface 30d4470c8f Only print AXFR errors in debug mode 2020-01-06 16:04:37 -05:00
Joshua Boniface bbfadac5e1 Fix dnsmasq options for DHCP-disabled networks 2020-01-06 16:04:26 -05:00
Joshua Boniface 096a740c4f Fix bugs around dhcp4_flag 2020-01-06 15:38:06 -05:00
Joshua Boniface 3816da6be6 Don't set a domain except on managed networks 2020-01-06 15:06:00 -05:00
Joshua Boniface 65be917542 Make sure dhcp4_flag is boolean 2020-01-06 15:03:24 -05:00
Joshua Boniface 7b3e267f7a Implement bridge_device for bridged VNIs
Required due to #64. Bridged networks were being created on top of a
vLAN if the Cluster network was a vLAN device, rather than being created
on the underlying device. This came from a previous revision of the
cluster architecture guidelines where Cluster was supposed to be a raw
device rather than a vLAN. This fixed the problem by implementing a
configuration field for a "bridge_device", a NIC device that can then
have the bridged vLANs created on top of it.

Fixes #64
2020-01-06 14:44:56 -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 456a50a73c Send proper delete for OSD deletion 2020-01-06 12:59:00 -05:00
Joshua Boniface 47c49f7672 Fix click import (again) 2020-01-06 12:55:44 -05:00
Joshua Boniface 1122589b88 Add documentation of OSD endpoints and proper return 2020-01-06 12:54:18 -05:00
Joshua Boniface 27279c9686 Properly import click echo 2020-01-06 12:38:20 -05:00
Joshua Boniface 094ac8c3a8 Ensure stdout is used 2020-01-06 12:34:35 -05:00
Joshua Boniface 9ea86cc570 Better handle key values 2020-01-06 11:56:34 -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 13548b791d Add additional debugging and fix pool_idx loop var 2020-01-06 11:31:22 -05:00
Joshua Boniface 56bc104f19 Actually return body 2020-01-06 10:53:25 -05:00