Joshua Boniface
0d918d66fe
Port VM autobackups into pvcworkerd with snaps
...
Moves VM autobackups from being in-CLI to being handled by the
pvcworkerd system on the primary coordinator. Turns the CLI autobackup
command into an actual API client endpoint rather than having its logic
in the CLI.
In addition, modifies the new autobackup to leverage the new "pvc vm
snapshot" function set, just with special snapshot names. This helps
automate this within the new snapshot scaffolding.
2024-08-23 17:23:06 -04:00
Joshua Boniface
fd199f405b
Add deprection warning to pvc vm backup commands
2024-08-23 17:04:15 -04:00
Joshua Boniface
f6c009beac
Allow overriding stages in some commands
...
This allows them to be called by autobackup commands while still
preserving the current Celery report flow.
2024-08-23 11:21:02 -04:00
Joshua Boniface
fc89f4f2f5
Fix error message contents
2024-08-23 10:23:51 -04:00
Joshua Boniface
565011b277
Set snapshot name before start
2024-08-20 23:01:52 -04:00
Joshua Boniface
0bf9cc6b06
Improve stage handling
...
Run start() at the beginning, and leverage the new tweaks to the CLI to
update the total steps later. Allows errors to be handled gracefully
2024-08-20 17:50:27 -04:00
Joshua Boniface
f2dfada73e
Improve return handling for snapshot tasks
2024-08-20 17:40:44 -04:00
Joshua Boniface
f63c392ba6
Show primary status in node run_on
2024-08-20 17:32:33 -04:00
Joshua Boniface
7663ad72c5
Update length of progress bar each update
...
Allows us to start with a lower length, and increase it later.
2024-08-20 17:22:15 -04:00
Joshua Boniface
9b3075be18
Add UUID check and fix wording
...
Don't suggest renaming any more as it's not enough.
2024-08-20 17:05:27 -04:00
Joshua Boniface
9a661d0173
Convert VM snapshots to worker tasks
...
Improves manageability and offloads these from the API context.
2024-08-20 16:50:41 -04:00
Joshua Boniface
4a0680b27f
Fix issues with snapshot imports
2024-08-20 13:59:05 -04:00
Joshua Boniface
6597f7aef6
Fix bad function call
2024-08-20 12:58:17 -04:00
Joshua Boniface
f42a1bad0e
Allow passing zk_only into VM snapshot creation
2024-08-20 12:57:53 -04:00
Joshua Boniface
3fb52a13c2
Add missing VM states from snapshots
2024-08-20 11:53:57 -04:00
Joshua Boniface
8937ddf331
Simplify VM rename to preserve data
...
A rename is simply a change to two values, so instead of undefining and
re-defining the VM, just edit those two fields. This ensures things like
snapshots are preserved automatically.
2024-08-20 11:37:28 -04:00
Joshua Boniface
7cc354466f
Finish implementing snapshot import
2024-08-20 11:25:09 -04:00
Joshua Boniface
44232fe3c6
Fix export swagger definition
2024-08-20 11:07:56 -04:00
Joshua Boniface
0a8bad3418
Add VM snapshot import
2024-08-20 10:53:56 -04:00
Joshua Boniface
f10d32987b
Fix up comments
2024-08-20 10:37:58 -04:00
Joshua Boniface
faf920ac1d
Fix bug where force_flag is a string
2024-08-20 10:10:33 -04:00
Joshua Boniface
a6e824a049
Improve output text message
2024-08-19 18:51:41 -04:00
Joshua Boniface
624eb4e752
Fix bug in primary node display
2024-08-19 18:48:32 -04:00
Joshua Boniface
d060787503
Add initial implementation of snapshot export
2024-08-19 18:46:07 -04:00
Joshua Boniface
9a435fe2ae
Allow specifying become-primary during deploys
2024-08-19 17:44:13 -04:00
Joshua Boniface
9f47da6777
Fix triplicate API calls on GET commands
2024-08-19 17:33:21 -04:00
Joshua Boniface
0cf229273a
Add API endpoint for current primary node
...
This was never exposed before, so expose it for use in other functions
being built.
2024-08-19 17:15:52 -04:00
Joshua Boniface
212ecaab68
Fix Swagger doc issues
2024-08-19 16:56:18 -04:00
Joshua Boniface
f1b4593367
Store current stats with snapshots
...
Allows getting info like size, etc. for the snapshot.
2024-08-19 14:07:27 -04:00
Joshua Boniface
fc55046812
Add confirmation of snapshot removals
2024-08-19 13:57:20 -04:00
Joshua Boniface
33f905459a
Implement VM rollback
...
Closes #184
2024-08-16 10:47:18 -04:00
Joshua Boniface
174e6e08e3
Correct issues with VM output formats
2024-08-16 10:46:25 -04:00
Joshua Boniface
9f85c92dff
Handle missing or empty snapshot lists
2024-08-16 10:46:25 -04:00
Joshua Boniface
4b30d2f58a
Always show snapshots
2024-08-16 10:46:25 -04:00
Joshua Boniface
2fcee28fed
Hide topology in long output
2024-08-16 10:46:25 -04:00
Joshua Boniface
1f18e88c06
Add snapshots to VM info details
2024-08-16 10:46:25 -04:00
Joshua Boniface
359191c83f
Ensure snapshot name does not already exist
2024-08-16 10:46:25 -04:00
Joshua Boniface
3d0d5e63f6
Make default snap name just the datestring
2024-08-16 10:46:25 -04:00
Joshua Boniface
e6bfbb6d45
Actually fix incorrect naming bug
2024-08-16 10:46:25 -04:00
Joshua Boniface
b80f9e28dc
Add human-readable age to snapshots
...
This is parsed server-side for consistent timing and to simplify the API
consumers.
2024-08-16 10:46:25 -04:00
Joshua Boniface
fbd5b3cca3
Remove is_backup flag for snapshots
...
This won't be needed for anything.
2024-08-16 10:46:25 -04:00
Joshua Boniface
2b1082590e
Fix bug in snapshot removal
2024-08-16 10:46:25 -04:00
Joshua Boniface
a4ca112128
Add snapshot count to VM list
2024-08-16 10:46:25 -04:00
Joshua Boniface
6fc7f45027
Add snapshot lists and timestamp
...
Adds snapshots to the list of data in VM objects
2024-08-16 10:46:25 -04:00
Joshua Boniface
0c240a5129
Add VM snapshot removal
2024-08-16 10:46:25 -04:00
Joshua Boniface
553c1e670e
Add VM snapshots functionality
...
Adds the ability to create snapshots of an entire VM, including all its
RBD disks and the VM XML config, though not any PVC metadata.
2024-08-16 10:46:25 -04:00
Joshua Boniface
942de9f15b
Add better exception handling for XML configs
2024-08-16 10:46:04 -04:00
Joshua Boniface
9aca8e215b
Run IPMI check 3 times with 2s timeout
...
Avoids potential timeouts or deadlocks, and retries if a single try
fails.
2024-07-28 12:36:01 -04:00
Joshua Boniface
97329bb90d
Sort Ceph pool data by name
...
There is no guarantee that both commands output the pools in the same
order, so sort them by name first so the iteration over the pools by ID
is successful.
2024-07-22 13:26:27 -04:00
Joshua Boniface
c186015d6f
Add check for invalid profile
2024-07-13 17:13:40 -04:00