Commit Graph

1768 Commits

Author SHA1 Message Date
Joshua Boniface db09b4c983 Correct some ordering in build-and-deploy 2020-02-15 22:51:35 -05:00
Joshua Boniface 560cb609ba Add database management with SQLAlchemy
Add management of the pvcprov database with SQLAlchemy, to allow
seamless management of the database. Add automatic tasks to the postinst
of the API to execute these migrations.
2020-02-15 22:51:27 -05:00
Joshua Boniface 670596ed8e Add dead node states to status 2020-02-15 18:51:02 -05:00
Joshua Boniface bd8536d9d1 Add OVA upload to API (initial)
Initial, very barebones OVA parsing and image creation.

References #71
2020-02-15 02:10:14 -05:00
Joshua Boniface 95c59c2b39 Support non-extension fromhuman for normalization 2020-02-11 20:31:56 -05:00
Joshua Boniface b29c69378d Just describe the body in words 2020-02-09 21:08:27 -05:00
Joshua Boniface ad60f4b1f1 Try again with just query 2020-02-09 21:06:33 -05:00
Joshua Boniface 68638d7760 Use in: body for body contents 2020-02-09 21:05:15 -05:00
Joshua Boniface 4fa9878e01 Update swagger.json file 2020-02-09 21:02:29 -05:00
Joshua Boniface 602c2f9d4a Use request instead of requestBody 2020-02-09 21:02:13 -05:00
Joshua Boniface c979fed10a Use proper requestBody description of file 2020-02-09 20:59:03 -05:00
Joshua Boniface 1231ba19b7 Ensure image_format is mandatory
References #68
2020-02-09 20:45:43 -05:00
Joshua Boniface 1de57ab6f3 Add CLI client interface to image upload
Closes #68
2020-02-09 20:42:56 -05:00
Joshua Boniface e419855911 Support converting types during upload
Allow the user to specify other, non-raw files and upload them,
performing a conversion with qemu-img convert and a temporary block
device as a shim (since qemu-img can't use FIFOs).

Also ensures that the target volume exists before proceeding.

Addresses #68
2020-02-09 20:29:12 -05:00
Joshua Boniface 49e5ce1176 Support uploading disk images to volumes in API
Addresses #68
2020-02-09 13:45:04 -05:00
Joshua Boniface 92df125a77 Add missing library imports in common functions 2020-02-08 23:43:49 -05:00
Joshua Boniface 7ace5b5056 Remove /ceph/cmd pipe for (most) Ceph commands
Addresses #80
2020-02-08 23:40:02 -05:00
Joshua Boniface eeb8879f73 Move run_os_command to common functions
References #80
2020-02-08 23:33:15 -05:00
Joshua Boniface 37310e5455 Correct name of systemd target 2020-02-08 20:39:07 -05:00
Joshua Boniface 26c2c2c295 Further split API so only Flask can be loaded 2020-02-08 20:36:53 -05:00
Joshua Boniface d564671e1c Avoid restarting pvcapid in build-and-deploy 2020-02-08 20:28:58 -05:00
Joshua Boniface 4f25c55efc Fix startup of API daemon
References #79
2020-02-08 20:27:45 -05:00
Joshua Boniface 3532dcc11f Update startup of API and Swagger generator
References #79
2020-02-08 19:52:15 -05:00
Joshua Boniface ce985234c3 Use consistent naming of components
Rename "pvcd" to "pvcnoded", and "pvc-api" to "pvcapid" so names for the
daemons are fully consistent. Update the names of the configuration
files as well to match this new formatting.

References #79
2020-02-08 19:34:07 -05:00
Joshua Boniface 83704d8677 Adjust package descriptions
References #79
2020-02-08 19:01:01 -05:00
Joshua Boniface 97e318a2ca Align naming of Debian packages
Rename pvc-daemon to pvc-daemon-node and pvc-api to pvc-daemon-api.

Closes #79
2020-02-08 18:58:56 -05:00
Joshua Boniface 4505b239eb Rename API and common Debian packages
Closes #79
2020-02-08 18:50:38 -05:00
Joshua Boniface 74228eb063 Bump version to 0.6 2020-02-08 18:27:39 -05:00
Joshua Boniface 97a800b065 Update text in example multipart userdata 2020-02-07 09:08:29 -05:00
Joshua Boniface 90e42683c6 Reduce sleep time during VM migrations 2020-02-04 17:52:37 -05:00
Joshua Boniface 20c8466296 Handle invalid search fields better 2020-02-04 17:35:24 -05:00
Joshua Boniface 776d4f7262 Update API docs for profile 2020-02-02 01:34:55 -05:00
Joshua Boniface e7728b8375 Allow modification of a VM profile
And fix some bugs around this.

Fixes #76
2020-01-30 11:45:46 -05:00
Joshua Boniface b3558f1783 Ensure VM restart happens after cfg update
Fixes #74
2020-01-30 11:18:53 -05:00
Joshua Boniface cae0de6c0f Use strtobool for all boolean flags
Fixes #74
2020-01-30 09:39:47 -05:00
Joshua Boniface 4868625809 Add try/except around new log lines
Fixes #73
2020-01-30 09:28:47 -05:00
Joshua Boniface ebfd9c1882 Gracefully handle API connect timeouts
Prevents dumping a massive stacktrace if connection fails.
2020-01-30 09:24:10 -05:00
Joshua Boniface ab28bf40d1 Change ordering of services during primary switch
Fixes #77
2020-01-30 09:18:56 -05:00
Joshua Boniface 5d73974e95 Fix several bugs around load-based migrations 2020-01-29 17:35:10 -05:00
Joshua Boniface 65ddcee0db Fix bad ZK node name 2020-01-29 17:20:08 -05:00
Joshua Boniface 43ddf5b709 Fix bug accessing auth tokens 2020-01-29 16:04:03 -05:00
Joshua Boniface 8c59707cba Prevent writing invalid XML to config 2020-01-28 10:51:32 -05:00
Joshua Boniface 27e73fc6a9 Fix issues with wait on node flush/ready
Ensure that the strings are converted to booleans on the API side, and
that we're sending a lowercase true/false (for consistency).
2020-01-26 23:05:30 -05:00
Joshua Boniface 0892e4c842 Fix overlapping name config in VM define 2020-01-23 11:33:09 -05:00
Joshua Boniface 0b31bab797 Add more helpful config parse error message 2020-01-22 12:09:31 -05:00
Joshua Boniface 0076bcc83f Add provision to VM list state 2020-01-21 21:51:02 -05:00
Joshua Boniface 53819b198c Add info about disk/net ordering in templates
Ensures that the behaviour of 650ed972a1
is reflected in the help messages of these commands.
2020-01-20 21:20:41 -05:00
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