406 Commits

Author SHA1 Message Date
f63c392ba6 Show primary status in node run_on 2024-08-20 17:32:33 -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
7cc354466f Finish implementing snapshot import 2024-08-20 11:25:09 -04:00
44232fe3c6 Fix export swagger definition 2024-08-20 11:07:56 -04:00
faf920ac1d Fix bug where force_flag is a string 2024-08-20 10:10:33 -04:00
d060787503 Add initial implementation of snapshot export 2024-08-19 18:46:07 -04:00
0cf229273a Add API endpoint for current primary node
This was never exposed before, so expose it for use in other functions
being built.
2024-08-19 17:15:52 -04:00
212ecaab68 Fix Swagger doc issues 2024-08-19 16:56:18 -04:00
33f905459a Implement VM rollback
Closes #184
2024-08-16 10:47:18 -04:00
fbd5b3cca3 Remove is_backup flag for snapshots
This won't be needed for anything.
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
1aa5999109 Bump version to 0.9.98 2024-06-05 12:01:31 -04:00
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
f1fe0c63f5 Bump version to 0.9.97 2024-04-19 10:32:16 -04:00
78c774b607 Bump version to 0.9.96 2024-03-08 14:23:07 -05:00
dee8d186cf Bump version to 0.9.95 2024-02-12 13:12:48 -05:00
9cd88ebccb Ensure storage template disks are sorted 2024-02-09 12:40:20 -05:00
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
d63cc2e661 Bump version to 0.9.94 2024-02-06 13:31:50 -05:00
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
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
18f09196be Bump version to 0.9.93 2024-01-30 09:51:21 -05:00
df40b779af Bump version to 0.9.92 2024-01-29 09:39:10 -05:00
f29b4c2755 Bump version to 0.9.91 2024-01-23 10:40:59 -05:00
86ca363697 Bump version to 0.9.90 2024-01-11 10:22:48 -05: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
e9b6072fa0 Bump version to 0.9.89 2024-01-09 12:15:53 -05:00
3c458ca9a6 Fix broken result backend on old Celery 2024-01-09 12:06:23 -05:00
1d480f5629 Bump version to 0.9.88 2023-12-29 14:56:33 -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
4969e90f8a Allow enable/disable of Prometheus endpoints
Since these are unauthenticated, it might be the case that an
administrator wishes to completely disable these metrics endpoints.
Provide that option via pvc.conf through pvc-ansible's existing
enable_prometheus_exporters option and the new enable_prometheus
configuration flag.

Defaults to "yes" to provide all functionality unless explicitly
disabled, as the author assumes that the PVC API is secured in other
ways as well and that metric information is not completely sensitive.
2023-12-29 09:25:10 -05:00
0bcf8cfe19 Add Zookeeper metrics proxy 2023-12-28 13:53:15 -05:00
8083b7a3e6 Bump version to 0.9.87 2023-12-27 13:40:51 -05:00
3e4cc53fdd Add node network statistics and utilization values
Adds a new physical network interface stats parser to the node
keepalives, and leverages this information to provide a network
utilization overview in the Prometheus metrics.
2023-12-21 15:45:01 -05:00
39f9f3640c Rename health metrics and add resource metrics 2023-12-21 09:40:49 -05:00
0a93f526e0 Bump version to 0.9.86 2023-12-14 14:46:29 -05:00
ed9c37982a Move metric collection into daemon library 2023-12-11 19:20:30 -05:00
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
9dc5097dbc Bump version to 0.9.85 2023-12-10 01:00:33 -05:00
9aee2a9075 Bump version to 0.9.84 2023-12-09 23:05:40 -05:00
4ca2381077 Rework metrics output and add combined endpoint 2023-12-09 15:47:40 -05:00
a70c1d63b0 Separate state totals from states, separate states 2023-12-09 13:59:17 -05:00
fd717b702d Use external list of fault states 2023-12-09 12:51:41 -05:00
132cde5591 Add totals and nice-format states
Avoids tons of annoying rewriting in the UI later.
2023-12-09 12:50:19 -05:00
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
2b8abea8df Remove debug printing 2023-12-09 12:22:36 -05:00
9b3c9f1be5 Add Ceph metrics proxy and health fault counts 2023-12-09 12:22:36 -05:00
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