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
Joshua Boniface
1aa5999109
Bump version to 0.9.98
2024-06-05 12:01:31 -04:00
Joshua Boniface
570460e5ee
Add --version flag to pvcnoded.py for info
2024-06-05 11:57:47 -04:00
Joshua Boniface
7a99e0e524
Fix bugs listing snapshots by pool/volume
...
The logic of this didn't work, so reconfigure to use these like limits.
Also fixes a bug in the upper getCephVolumes for invalid pools.
2024-05-16 16:32:22 -04:00
Joshua Boniface
234d6ae83b
Add warnings about snapshot consistency
2024-05-13 15:29:43 -04:00
Joshua Boniface
5d0e7931d1
Add support for rolling back snapshots
...
We supported creating snapshots, but not doing anything with them. This
removes the manual task of restoring a snapshot and replace it with a
PVC abstraction of rolling back to a snapshot.
While Ceph recommends cloning a snapshot instead of rolling back, due to
the time taken, in our usecase I don't think that is an optimal
strategy, as it will leave dangling clones that we'd then have to
manage.
Closes #183
2024-05-13 15:24:51 -04:00
Joshua Boniface
dcb9c0d12c
Improve fence handling conditions
...
Use the intermediate output text when judging the fence status, rather
than the retcode of the stop as this should be more reliable.
2024-05-08 10:55:15 -04:00
Joshua Boniface
f6e856bf98
Fix debug output on timeout
2024-05-06 10:49:57 -04:00
Joshua Boniface
f1fe0c63f5
Bump version to 0.9.97
2024-04-19 10:32:16 -04:00
Joshua Boniface
ab944f9b95
Add RBD snap purge during volume removal
...
Fixes #180
2024-04-19 10:31:11 -04:00
Joshua Boniface
9714ac20b2
Update formatting for Black 24.4.0
2024-04-19 10:26:06 -04:00
Joshua Boniface
79ad09ae59
Switch virtual memory free to allocated
...
Avoids incorrect reporting if cache/buffers exceeds normal.
2024-04-19 10:25:33 -04:00
Joshua Boniface
4c6aabec6a
Fix bug if d_network changes
2024-04-05 14:05:51 -04:00
Joshua Boniface
559400ed90
Explicitly set --lines to integer type
2024-03-13 13:01:02 -04:00
Joshua Boniface
78c774b607
Bump version to 0.9.96
2024-03-08 14:23:07 -05:00
Joshua Boniface
a461791ce8
Fix bug cleaning up successful benchmark results
2024-03-08 14:22:07 -05:00
Joshua Boniface
9fdb6d8708
Fix bug with network stats
2024-03-07 15:44:35 -05:00
Joshua Boniface
2fb7c40497
Work around bad plugin data
2024-03-07 14:37:05 -05:00
Joshua Boniface
dee8d186cf
Bump version to 0.9.95
2024-02-12 13:12:48 -05:00
Joshua Boniface
1e9871241e
Fix bug showing OSDs as split when not
2024-02-12 13:12:08 -05:00
Joshua Boniface
9cd88ebccb
Ensure storage template disks are sorted
2024-02-09 12:40:20 -05:00
Joshua Boniface
3bc500bc55
Permit duplicate VNIs in templates with flag
...
Supports niche usecases whereby a network template should contain the
same VNI(s) more than once.
2024-02-09 12:12:04 -05:00
Joshua Boniface
d63cc2e661
Bump version to 0.9.94
2024-02-06 13:31:50 -05:00
Joshua Boniface
67ec41aaf9
Fix invalid memory errors for stopped VMs
2024-02-06 13:30:48 -05:00
Joshua Boniface
a95e72008e
Add size validations for volume clones
...
Adds the same validations as a volume add or resize to volume clones, to
ensure there is enough free space for them.
2024-02-02 11:37:29 -05:00
Joshua Boniface
efc7434143
Add safety check for 80% full size
...
Adds a check that a volume creation or resize won't violate the 80% full
rule for the storage cluster. This ensures a cluster won't get too full
if a storage volume fills up.
Also adds a force flag throughout the pipeline to override this check,
should an administrator really want to do so.
Closes #177
2024-02-02 11:37:00 -05:00
Joshua Boniface
c473dcca81
Fix errors with autobackup email summary
...
How this was being done didn't work, as the backup volume was already
unmounted when we tried to read the backups from it. Instead, populate
the backup summary earlier in the run, during the actual backup.
2024-02-02 09:31:16 -05:00
Joshua Boniface
18f09196be
Bump version to 0.9.93
2024-01-30 09:51:21 -05:00
Joshua Boniface
8419659e1b
Ensure zkhandler is always cleaned up
...
Even if the subfunction of an API @ZKConnection call fails, the
zkhandler needs to terminate and clean up, or it leaves stuck threads
around.
2024-01-30 09:48:17 -05:00
Joshua Boniface
df40b779af
Bump version to 0.9.92
2024-01-29 09:39:10 -05:00
Joshua Boniface
db4f0881a2
Improve error handling and retries
...
1. Use the actual response code from the server on error, or 504 on
timeouts instead of 500.
2. Retry GET requests 3 times and only error if the last fails
2024-01-29 09:35:14 -05:00
Joshua Boniface
9b51fe9f10
Use get() for newer keys in client
2024-01-29 09:21:02 -05:00
Joshua Boniface
a66449541d
Improve script error handling and variables
2024-01-26 15:41:34 -05:00
Joshua Boniface
d28fb71f57
Fix incorrect variable set
2024-01-24 14:40:40 -05:00
Joshua Boniface
e5e9c7086a
Add missing restore state to colours
2024-01-24 09:34:59 -05:00
Joshua Boniface
f29b4c2755
Bump version to 0.9.91
2024-01-23 10:40:59 -05:00
Joshua Boniface
0adec2be0d
Use consistent and less error-prone find rm's
2024-01-23 10:40:48 -05:00
Joshua Boniface
b994e1a26c
Add cleanup of pycaches to CLI install
2024-01-23 10:22:50 -05:00
Joshua Boniface
6d6420a695
Add missing value to vm_define function
2024-01-23 09:58:32 -05:00
Joshua Boniface
94e0287fc4
Add missing modules to default cloud-init
2024-01-21 14:23:44 -05:00
Joshua Boniface
2886176762
Improve handling of task arg display
...
Shows each subarg of the task_args as its own element, if applicable,
and fits the width to the terminal using MAX_CONTENT_WIDTH instead of an
arbitrary value.
2024-01-18 13:00:48 -05:00
Joshua Boniface
4dc4c975f1
Add status messages during task query
2024-01-18 12:38:53 -05:00
Joshua Boniface
8f3120baf3
Avoid errors if task_status is a tuple
2024-01-18 12:30:31 -05:00
Joshua Boniface
86ca363697
Bump version to 0.9.90
2024-01-11 10:22:48 -05:00
Joshua Boniface
a5763c9d25
Fix possible race condition applying schemas
...
Found an instance where two of these fired too close together, and
caused a fatal error. Use a write lock, and then catch the schema.apply
function in case it fails anyways.
2024-01-11 10:21:01 -05:00