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
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
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
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
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
Joshua Boniface
35f80e544c
Use more hierarchical backup path structure
2023-10-24 02:04:16 -04:00
Joshua Boniface
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
Joshua Boniface
714bde89e6
Fix incorrect variable ref
2023-10-24 01:25:01 -04:00
Joshua Boniface
c87736eb0a
Use consistent path name and format
2023-10-24 01:20:44 -04:00
Joshua Boniface
63d0a85e29
Add backup deletion command
2023-10-24 01:18:27 -04:00
Joshua Boniface
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
Joshua Boniface
8d256a1737
Complete VM restore functionality
2023-10-23 22:23:17 -04:00
Joshua Boniface
d3b3fdfc80
Revert "Export backup images to a tar archive"
...
This reverts commit 38abd078af
.
2023-10-23 11:01:16 -04:00
Joshua Boniface
f1b29ea94e
Initial VM restore work
2023-10-23 11:00:54 -04:00
Joshua Boniface
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
Joshua Boniface
68124db323
Remove extra spaces
2023-10-17 13:01:38 -04:00
Joshua Boniface
8921efd269
Fix incorrect tuple construct
2023-10-17 12:55:44 -04:00
Joshua Boniface
3d12915989
Further improve return messages
2023-10-17 12:53:08 -04:00
Joshua Boniface
67b0b19bca
Use better time functionality
2023-10-17 12:39:37 -04:00
Joshua Boniface
5d0c674d1d
Add runtime and adjust ordering
2023-10-17 12:32:40 -04:00
Joshua Boniface
f441b0d823
Improve missing parent message
2023-10-17 12:17:29 -04:00
Joshua Boniface
a5d0f219e4
Improve return messages
2023-10-17 12:10:55 -04:00
Joshua Boniface
0169510df0
Fix up datestring generation
2023-10-17 12:05:45 -04:00
Joshua Boniface
a58c1d5a8c
Fix bad snapshot removals
2023-10-17 12:02:24 -04:00
Joshua Boniface
a8e4b01b67
Handle return data even better
2023-10-17 11:51:03 -04:00
Joshua Boniface
45c4c86911
Handle extra return variable
2023-10-17 11:47:01 -04:00
Joshua Boniface
6448b31d2c
Improve VM list arguments
...
Use kwargs here instead of fixed args to allow default None values.
2023-10-17 11:01:38 -04:00
Joshua Boniface
b997c6f31e
Add support for full VM backups
...
Adds support for exporting full VM backups, including configuration,
metainfo, and RBD disk images, with incremental support.
2023-10-17 10:15:06 -04:00
Joshua Boniface
671a907236
Allow rename in disable state
2023-01-30 11:48:43 -05:00
Joshua Boniface
79eb994a5e
Ensure equality of none and None for selector
2022-11-07 11:59:53 -05:00
Joshua Boniface
726d0a562b
Update copyright header year
2022-10-06 11:55:27 -04:00
Joshua Boniface
881550b610
Actually fix VM sorting
...
Due to the executor the previous attempt did not work.
2022-08-12 17:46:29 -04:00
Joshua Boniface
bcabd7d079
Always sort VM list
...
Same justification as previous commit.
2022-08-09 12:05:40 -04:00
Joshua Boniface
6ccd19e636
Standardize fuzzy matching and use fullmatch
...
Solves two problems:
1. How match fuzziness was used was very inconsistent; make them all the
same, i.e. "if is_fuzzy and limit, apply .* to both sides".
2. Use re.fullmatch instead of re.match to ensure exact matching of the
regex to the value. Without fuzziness, this would sometimes cause
inconsistent behavior, for instance if a limit was non-fuzzy "vm",
expecting to match the actual "vm", but also matching "vm1" too.
2021-12-06 16:35:29 -05:00
Joshua Boniface
0d857d5ab8
Use positive check rather than negative
...
Ensure the VM is start before doing shutdown/stop, rather than being
stopped. Prevents overwrite of existing disable state and other
weirdness.
2021-11-06 04:08:33 -04:00
Joshua Boniface
5f193a6134
Perform automatic shutdown/stop on VM disable
...
Instead of requiring the VM to already be stopped, instead allow disable
state changes to perform a shutdown first. Also add a force option which
will do a hard stop instead of a shutdown.
References #148
2021-11-06 03:57:24 -04:00
Joshua Boniface
c41664d2da
Reformat code with Black code formatter
...
Unify the code style along PEP and Black principles using the tool.
2021-11-06 03:02:43 -04:00
Joshua Boniface
c0f7ba0125
Add limit negation to VM list
...
When using the "state", "node", or "tag" arguments to a VM list, add
support for a "negate" flag to look for all VMs *not in* the state,
node, or tag state.
2021-10-07 11:50:52 -04:00