132 Commits

Author SHA1 Message Date
35fe16ce75 Revert "Adjust stage naming to reflect autobackup stages"
This reverts commit c1f320ede29f6fc7891137ec39830e6443be5156.
2024-08-25 15:58:25 -04:00
c1f320ede2 Adjust stage naming to reflect autobackup stages 2024-08-25 15:55:16 -04:00
c0686fc5c7 Remove stage overrides
These aren't needed after pending refactor.
2024-08-25 15:17:46 -04:00
4b37c4fea3 Fix assignment bug 2024-08-25 14:10:59 -04:00
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
fc89f4f2f5 Fix error message contents 2024-08-23 10:23:51 -04:00
565011b277 Set snapshot name before start 2024-08-20 23:01:52 -04:00
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
f2dfada73e Improve return handling for snapshot tasks 2024-08-20 17:40:44 -04:00
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
9a661d0173 Convert VM snapshots to worker tasks
Improves manageability and offloads these from the API context.
2024-08-20 16:50:41 -04:00
4a0680b27f Fix issues with snapshot imports 2024-08-20 13:59:05 -04:00
f42a1bad0e Allow passing zk_only into VM snapshot creation 2024-08-20 12:57:53 -04:00
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
7cc354466f Finish implementing snapshot import 2024-08-20 11:25:09 -04:00
0a8bad3418 Add VM snapshot import 2024-08-20 10:53:56 -04:00
f10d32987b Fix up comments 2024-08-20 10:37:58 -04:00
d060787503 Add initial implementation of snapshot export 2024-08-19 18:46:07 -04:00
33f905459a Implement VM rollback
Closes #184
2024-08-16 10:47:18 -04:00
359191c83f Ensure snapshot name does not already exist 2024-08-16 10:46:25 -04:00
3d0d5e63f6 Make default snap name just the datestring 2024-08-16 10:46:25 -04:00
e6bfbb6d45 Actually fix incorrect naming bug 2024-08-16 10:46:25 -04:00
fbd5b3cca3 Remove is_backup flag for snapshots
This won't be needed for anything.
2024-08-16 10:46:25 -04:00
2b1082590e Fix bug in snapshot removal 2024-08-16 10:46:25 -04:00
6fc7f45027 Add snapshot lists and timestamp
Adds snapshots to the list of data in VM objects
2024-08-16 10:46:25 -04:00
0c240a5129 Add VM snapshot removal 2024-08-16 10:46:25 -04:00
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
942de9f15b Add better exception handling for XML configs 2024-08-16 10:46:04 -04:00
09269f182c Add live migrate max downtime selector meta field
Adds a new flag to VM metadata to allow setting the VM live migration
max downtime. This will enable very busy VMs that hang live migration to
have this value changed.
2024-01-11 00:05:50 -05:00
362edeed8c Add backup reporting and improve metrics
Major improvements to autobackup and backups, including additional
information/fields in the backup JSON itself, improved error handling,
and the ability to email reports of autobackups using a local sendmail
utility.
2024-01-10 14:18:44 -05:00
39c8367723 Add additional metainfo to VM backups
Adds additional information about failures, runtime, file sizes, etc. to
the JSON output of a VM backup.

This helps enable additional reporting and summary information for
autobackup runs.
2024-01-10 10:37:29 -05:00
123c7ce857 Update copyright header on all files for 2024
Last release of 2023 is probably the best time to do this.
2023-12-29 11:16:59 -05:00
08411708f6 Clean up dangling references to cmd pipes
Also removes the schema references for these CMD pipes as they are no
longer required.
2023-11-09 23:28:14 -05:00
ce17c60a20 Port OSD on-node tasks to Celery worker system
Adds Celery versions of the osd_add, osd_replace, osd_refresh,
osd_remove, and osd_db_vg_add functions.
2023-11-09 23:28:08 -05:00
89681d54b9 Port VM on-node tasks to Celery worker system
Adds Celery versions of the flush_locks, device_attach, and
device_detach functions.
2023-11-06 20:40:46 -05:00
35f80e544c Use more hierarchical backup path structure 2023-10-24 02:04:16 -04:00
83b937654c Avoid removing nonexistent snapshots
Store retain_snapshot in JSON and use that to check during delete.
2023-10-24 01:35:00 -04:00
714bde89e6 Fix incorrect variable ref 2023-10-24 01:25:01 -04:00
c87736eb0a Use consistent path name and format 2023-10-24 01:20:44 -04:00
63d0a85e29 Add backup deletion command 2023-10-24 01:18:27 -04:00
55ca131c2c Handle snapshots on restore and provide options
Also rename the retain option to remove superfluous plural.
2023-10-24 00:25:06 -04:00
8d256a1737 Complete VM restore functionality 2023-10-23 22:23:17 -04:00
d3b3fdfc80 Revert "Export backup images to a tar archive"
This reverts commit 38abd078afde9d92e7252e091545c652a2fc850b.
2023-10-23 11:01:16 -04:00
f1b29ea94e Initial VM restore work 2023-10-23 11:00:54 -04:00
38abd078af Export backup images to a tar archive
This helps ensure an easier restore as the tar archive(s) can be sent
directly to the API via the normal process of image uploading, instead
of individual disks.
2023-10-23 09:56:50 -04:00
68124db323 Remove extra spaces 2023-10-17 13:01:38 -04:00
8921efd269 Fix incorrect tuple construct 2023-10-17 12:55:44 -04:00
3d12915989 Further improve return messages 2023-10-17 12:53:08 -04:00
67b0b19bca Use better time functionality 2023-10-17 12:39:37 -04:00
5d0c674d1d Add runtime and adjust ordering 2023-10-17 12:32:40 -04:00