Joshua Boniface
ca5327b908
Make strtobool even more robust
...
If strtobool fails, return False always.
2020-03-09 09:30:16 -04:00
Joshua Boniface
d36d8e0637
Use custom strtobool to handle weird edge cases
2020-03-06 09:40:13 -05:00
Joshua Boniface
b8852e116e
Improve handling of root disk in GRUB
...
Since vdX names become sdX names inside VMs, use the same setup as the
fstab in order to map this onto a static SCSI ID.
2020-03-02 10:02:39 -05:00
Joshua Boniface
fd80eb9e22
Ensure profile creation works with empty lists
...
If we get a 404 code back from the upper function, we should create an
empty list rather than trying to loop through the dictionary.
2020-02-24 09:30:58 -05:00
Joshua Boniface
6ac82d6ce9
Ensure single-element templates are lists
...
Ensures any list-assuming statements later on hold true even when there
is only a single template entry.
2020-02-21 10:50:28 -05:00
Joshua Boniface
b438b9b4c2
Import gevent for production listener
2020-02-21 09:39:07 -05:00
Joshua Boniface
56a9e48163
Normalize all return messages
...
Ensure all API return messages are formated the same: no "error", a
final period except when displaying Exception text, and a regular spaced
out format.
2020-02-20 22:42:19 -05:00
Joshua Boniface
31a117e21c
Fix call to config dictionary from pvc_api
2020-02-20 15:11:20 -05:00
Joshua Boniface
8678dedfea
Revert "Implement wait for node coordinator transition"
...
This reverts commit 0aefafa7f7
.
This does not work since the API goes away during the transition.
References #72
2020-02-19 10:50:21 -05:00
Joshua Boniface
0aefafa7f7
Implement wait for node coordinator transition
...
References #72
2020-02-19 10:50:04 -05:00
Joshua Boniface
99f579e41a
Add wait support to API commands
...
References #72
2020-02-19 09:51:42 -05:00
Joshua Boniface
097f0d9be4
Fix bug with script load from database
2020-02-18 20:39:36 -05:00
Joshua Boniface
ca68321be3
Allow modification of system templates
...
Closes #82
2020-02-18 16:18:27 -05:00
Joshua Boniface
b322841edf
Complete integration of OVA provisioner
...
Finishes a basic form of OVA provisioning within the existing create_vm
function. Future plans should include separating out the functions and
cleaning them up a bit more, but this is sufficient for basic operation.
Closes #71
2020-02-18 14:42:45 -05:00
Joshua Boniface
4c58addead
Fix typo'd storage_host entry
2020-02-18 14:42:32 -05:00
Joshua Boniface
e811c5bbfb
Fix renamed import for worker
2020-02-18 12:20:42 -05:00
Joshua Boniface
24c86f2c42
Remove obsolete print statement
2020-02-17 23:25:27 -05:00
Joshua Boniface
db558ec91f
Complete implementation of OVA handling
...
Add functions for uploading, listing, and removing OVA images to the API
and CLI interfaces. Includes improved parsing of the OVF and creation of
a system_template and profile for each OVA.
Also modifies some behaviour around profiles, making most components
option at creation to support both profile types (and incomplete
profiles generally).
Implementation part 2/3 - remaining: OVA VM creation
References #71
2020-02-17 23:22:50 -05:00
Joshua Boniface
59ca296c58
Add basic OVA profile support
2020-02-17 12:00:51 -05:00
Joshua Boniface
c18c76f42c
Add alembic script_location field
2020-02-17 11:36:33 -05:00
Joshua Boniface
d975f90f29
Add database fields for OVA storage
2020-02-17 11:27:35 -05:00
Joshua Boniface
8125aea4f3
Clean up some database columns
2020-02-16 19:19:04 -05:00
Joshua Boniface
f3de900bdb
Import all database models
2020-02-16 19:15:21 -05:00
Joshua Boniface
760805fec1
Ensure database migrations are in source control
2020-02-15 23:16:40 -05:00
Joshua Boniface
158ed8d3f0
Remove obsolete schema definition
2020-02-15 23:04:21 -05:00
Joshua Boniface
574623f2a8
Remove obsolete script
2020-02-15 22:59:12 -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
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
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
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
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
eeb8879f73
Move run_os_command to common functions
...
References #80
2020-02-08 23:33:15 -05:00
Joshua Boniface
26c2c2c295
Further split API so only Flask can be loaded
2020-02-08 20:36:53 -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
4505b239eb
Rename API and common Debian packages
...
Closes #79
2020-02-08 18:50:38 -05:00