Joshua Boniface
6ace2ebf6a
Set expected PVC version for mirroring
2024-10-15 11:31:50 -04:00
Joshua Boniface
1293e8ae7e
Fix bugs in lock freeing function
...
1. The destination state on an error was invalid; should be "stop".
2. If a lock was listed but removing it fails (because it was already
cleared somehow, this would error. In turn this would cause the VM to
not migrate and be left in an undefined state. Fix that when unlocking
is forced.
2024-10-15 10:43:52 -04:00
Joshua Boniface
28b8b3bb44
Use proper response parsing instead of raise_for
2024-10-11 10:32:15 -04:00
Joshua Boniface
214e7f835a
Properly preserve state on promotion
...
Ensure if the state is start, stop, or disable, that state is preserved;
if it's anything else, the remote side will be started.
2024-10-10 01:21:05 -04:00
Joshua Boniface
c4763ac596
Fix invalid responses during promote
2024-10-09 01:14:19 -04:00
Joshua Boniface
ea5512e3d8
Only shut down VM if it is running
2024-10-09 01:10:42 -04:00
Joshua Boniface
6d31bf439e
Update error text
2024-10-09 01:00:51 -04:00
Joshua Boniface
c714093a2e
Ensure VM start is forced
2024-10-09 00:58:43 -04:00
Joshua Boniface
04a09b9269
Fix invalid data in state change
2024-10-09 00:55:13 -04:00
Joshua Boniface
3ede0c7d38
Name mirror snapshots like autobackup snapshots
2024-10-09 00:49:22 -04:00
Joshua Boniface
ab9390fdb8
Fix another bad stage counting instance
2024-10-09 00:44:20 -04:00
Joshua Boniface
1c83584788
Set correct verbage
2024-10-09 00:38:59 -04:00
Joshua Boniface
7f3ab4e119
Fix stage counting in tasks
2024-10-09 00:37:13 -04:00
Joshua Boniface
16eb09dc22
Fix ordering bug with vm_detail
2024-10-09 00:33:00 -04:00
Joshua Boniface
7ba75adef4
Fix bug if destination is missing
2024-10-09 00:27:42 -04:00
Joshua Boniface
1d90b066bc
Add guard rails against manipulating mirrors
...
Snapshot mirrors should normally be promoted using "mirror promote", and
not started manually. This adds guard rails against that to the "start",
"stop", and "disable" state commands to prevent changing mirror states
without an explicit "--force" option.
2024-10-08 23:51:48 -04:00
Joshua Boniface
3ea7421f09
Implement friendlier VM mirror commands
...
Adds two helper commands which automate sending and promoting VM
snapshots as "vm mirror" commands.
"vm mirror create" replicates the functionality of "snapshot create" and
"snapshot send", performing both in one single task using an
autogenerated dated snapshot name for automatic cross-cluster
replication.
"vm mirror promote" replicates the functionality of "vm shutdown",
"snapshot create", "snapshot send", "vm start" (remote), and,
optionally, "vm remove", performing in one single task an entire
cross-cluster VM move with or without retaining the copy on the local
cluster (if retained, the local copy becomes a snapshot mirror of the
remote, flipping their statuses).
2024-10-08 23:51:39 -04:00
Joshua Boniface
235299942a
Add volume resize if changed
2024-09-30 20:51:59 -04:00
Joshua Boniface
75eac356d5
Increase send blocksize and add total speed
...
It's much faster and seems to cause no issues.
2024-09-30 20:11:12 -04:00
Joshua Boniface
fb8561cc5d
Actually fix incremental sending
2024-09-30 17:00:18 -04:00
Joshua Boniface
5f7aa0b2d6
Improve incremental send speed
2024-09-30 04:15:17 -04:00
Joshua Boniface
7785166a7e
Finish working implementation of send/receive
...
Required some significant refactoring due to issues with the diff send,
but it works.
2024-09-30 02:53:23 -04:00
Joshua Boniface
34f0a2f388
Add mostly complete implementation of VM send
2024-09-29 01:31:13 -04:00
Joshua Boniface
f462ebbc6b
Add VM snapshot send (initial)
2024-09-28 10:49:35 -04:00
Joshua Boniface
1cbadb1172
Add "mirror" VM state
2024-09-28 02:01:56 -04:00
Joshua Boniface
35fe16ce75
Revert "Adjust stage naming to reflect autobackup stages"
...
This reverts commit c1f320ede2
.
2024-08-25 15:58:25 -04:00
Joshua Boniface
c1f320ede2
Adjust stage naming to reflect autobackup stages
2024-08-25 15:55:16 -04:00
Joshua Boniface
c0686fc5c7
Remove stage overrides
...
These aren't needed after pending refactor.
2024-08-25 15:17:46 -04:00
Joshua Boniface
4b37c4fea3
Fix assignment bug
2024-08-25 14:10:59 -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
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
f42a1bad0e
Allow passing zk_only into VM snapshot creation
2024-08-20 12:57:53 -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
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
d060787503
Add initial implementation of snapshot export
2024-08-19 18:46:07 -04:00
Joshua Boniface
33f905459a
Implement VM rollback
...
Closes #184
2024-08-16 10:47:18 -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
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
6fc7f45027
Add snapshot lists and timestamp
...
Adds snapshots to the list of data in VM objects
2024-08-16 10:46:25 -04:00