Joshua Boniface
cebc660fb0
Allow image uploads if file_size is None
2024-11-14 10:05:35 -05:00
Joshua Boniface
861fef91e3
Add modification of Monitor hosts on XML import
...
Missing this means clusters with different storage hosts would fail to
start silently. Ensure these are updated like the secret UUID is as
well.
2024-10-16 16:00:54 -04:00
Joshua Boniface
9a91767405
Add proper return codes to API handlers
2024-10-11 14:43:44 -04:00
Joshua Boniface
96cebfb42a
Handle cross-cluster Ceph storage secrets
2024-10-10 00:47:50 -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
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
7fac7a62cf
Clean up debug print statements
2024-09-30 03:51:39 -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
b1c4b2e928
Add Ceph block receive (initial)
2024-09-28 02:01:56 -04:00
Joshua Boniface
7543eb839d
Add dedicated volume scan endpoint
...
Allows an imported volume to be scanned for stats independently.
Designed to be used as part of a snapshot import via API, to allow the
"create" to happen before the real import (to check for available space,
etc.) and then run this import after when the RBD volume actually
exists.
2024-09-03 20:32:27 -04:00
Joshua Boniface
7cc354466f
Finish implementing snapshot import
2024-08-20 11:25:09 -04:00
Joshua Boniface
faf920ac1d
Fix bug where force_flag is a string
2024-08-20 10:10:33 -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
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
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
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
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
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
0bcf8cfe19
Add Zookeeper metrics proxy
2023-12-28 13:53:15 -05:00
Joshua Boniface
39f9f3640c
Rename health metrics and add resource metrics
2023-12-21 09:40:49 -05:00
Joshua Boniface
ed9c37982a
Move metric collection into daemon library
2023-12-11 19:20:30 -05:00
Joshua Boniface
44a4f0e1f7
Use new info detail output instead of new lists
...
Avoids multiple additional ZK calls by using data that is now in the
status detail output.
2023-12-10 22:19:09 -05:00
Joshua Boniface
4ca2381077
Rework metrics output and add combined endpoint
2023-12-09 15:47:40 -05:00
Joshua Boniface
a70c1d63b0
Separate state totals from states, separate states
2023-12-09 13:59:17 -05:00
Joshua Boniface
fd717b702d
Use external list of fault states
2023-12-09 12:51:41 -05:00
Joshua Boniface
132cde5591
Add totals and nice-format states
...
Avoids tons of annoying rewriting in the UI later.
2023-12-09 12:50:19 -05:00
Joshua Boniface
ba565ead4c
Report all state combinations in Prom metrics
...
Ensures that every state combination is always shown to metrics, even if
it contains 0 entries.
2023-12-09 12:40:37 -05:00
Joshua Boniface
2b8abea8df
Remove debug printing
2023-12-09 12:22:36 -05:00
Joshua Boniface
9b3c9f1be5
Add Ceph metrics proxy and health fault counts
2023-12-09 12:22:36 -05:00
Joshua Boniface
7373bfed3f
Add Prometheus metric exporter
...
Adds a "fake" Prometheus metrics endpoint which returns cluster status
information in Prometheus format.
2023-12-09 12:22:36 -05:00
Joshua Boniface
20acf3295f
Add mass ack/delete of faults
2023-12-06 13:59:39 -05:00
Joshua Boniface
672e58133f
Implement interfaces to faults
2023-12-04 01:37:54 -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
64e37ae963
Update OSD replacement functionality
...
1. Simplify this by leveraging the existing remove_osd/add_osd
functions, since its task was functionally identical to those two in
sequential order.
2. Add support for split OSDs within the command (replacing all OSDs on
the block device(s) as required).
3. Add additional configurability and flexibility around the old device,
weight, and external DB LVs.
2023-11-03 01:45:49 -04:00
Joshua Boniface
980ea6a9e9
Adjust handling of ext_db and _count options
...
Avoid the use of superfluous flag options, default them to none, and add
support for fixed-size DB LVs.
2023-11-02 13:29:47 -04:00
Joshua Boniface
526a5f4a74
Add support for split OSD adds
...
Allows creating multiple OSDs on a single (NVMe) block device,
leveraging the "ceph-volume lvm batch" command. Replaces the previous
method of creating OSDs.
Also adds a new ZK item for each OSD indicating if it is split or not.
2023-11-01 21:31:35 -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
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
bbb940da65
Remove spurious comments
2023-09-30 12:37:58 -04:00