From 9aee2a90750bd3bbe15ef681352ec5a40c3d6a8c Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Sat, 9 Dec 2023 23:05:40 -0500 Subject: [PATCH] Bump version to 0.9.84 --- .version | 2 +- CHANGELOG.md | 10 ++++++++++ api-daemon/pvcapid/Daemon.py | 2 +- client-cli/setup.py | 2 +- debian/changelog | 12 ++++++++++++ health-daemon/pvchealthd/Daemon.py | 2 +- node-daemon/pvcnoded/Daemon.py | 2 +- worker-daemon/pvcworkerd/Daemon.py | 2 +- 8 files changed, 28 insertions(+), 6 deletions(-) diff --git a/.version b/.version index ee42df0f..9a43fc6e 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -0.9.83 +0.9.84 diff --git a/CHANGELOG.md b/CHANGELOG.md index 6953891c..467e59d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ ## PVC Changelog +###### [v0.9.84](https://github.com/parallelvirtualcluster/pvc/releases/tag/v0.9.84) + + **Breaking Changes:** This release features a major reconfiguration to how monitoring and reporting of the cluster health works. Node health plugins now report "faults", as do several other issues which were previously manually checked for in "cluster" daemon library for the "/status" endpoint, from within the Health daemon. These faults are persistent, and under each given identifier can be triggered once and subsequent triggers simply update the "last reported" time. An additional set of API endpoints and commands are added to manage these faults, either by "ack"(nowledging) them (keeping the alert around to be further updated but setting its health delta to 0%), or "delete"ing them (completely removing the fault unless it retriggers), both individually, to (from the CLI) multiple, or all. Cluster health reporting is now done based on these faults instead of anything else, and the default interval for health checks is reduced to 15 seconds to accomodate this. In addition to this, Promethius metrics have been added, along with an example Grafana dashboard, for the PVC cluster itself, as well as a proxy to the Ceph cluster metrics. This release also fixes some bugs in the VM provisioner that were introduced in 0.9.83; these fixes require a **reimport or reconfiguration of any provisioner scripts**; reference the updated examples for details. + + * [All] Adds persistent fault reporting to clusters, replacing the old cluster health calculations. + * [API Daemon] Adds cluster-level Prometheus metric exporting as well as a Ceph Prometheus proxy to the API. + * [CLI Client] Improves formatting output of "pvc cluster status". + * [Node Daemon] Fixes several bugs and enhances the working of the psql health check plugin. + * [Worker Daemon] Fixes several bugs in the example provisioner scripts, and moves the libvirt_schema library into the daemon common libraries. + ###### [v0.9.83](https://github.com/parallelvirtualcluster/pvc/releases/tag/v0.9.83) **Breaking Changes:** This release features a breaking change for the daemon config. A new unified "pvc.conf" file is required for all daemons (and the CLI client for Autobackup and API-on-this-host functionality), which will be written by the "pvc" role in the PVC Ansible framework. Using the "update-pvc-daemons" oneshot playbook from PVC Ansible is **required** to update to this release, as it will ensure this file is written to the proper place before deploying the new package versions, and also ensures that the old entires are cleaned up afterwards. In addition, this release fully splits the node worker and health subsystems into discrete daemons ("pvcworkerd" and "pvchealthd") and packages ("pvc-daemon-worker" and "pvc-daemon-health") respectively. The "pvc-daemon-node" package also now depends on both packages, and the "pvc-daemon-api" package can now be reliably used outside of the PVC nodes themselves (for instance, in a VM) without any strange cross-dependency issues. diff --git a/api-daemon/pvcapid/Daemon.py b/api-daemon/pvcapid/Daemon.py index 958bd723..130d383f 100755 --- a/api-daemon/pvcapid/Daemon.py +++ b/api-daemon/pvcapid/Daemon.py @@ -27,7 +27,7 @@ from distutils.util import strtobool as dustrtobool import daemon_lib.config as cfg # Daemon version -version = "0.9.83" +version = "0.9.84" # API version API_VERSION = 1.0 diff --git a/client-cli/setup.py b/client-cli/setup.py index 100182e2..c89b2c11 100644 --- a/client-cli/setup.py +++ b/client-cli/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name="pvc", - version="0.9.83", + version="0.9.84", packages=["pvc.cli", "pvc.lib"], install_requires=[ "Click", diff --git a/debian/changelog b/debian/changelog index b98f49e9..3d327e46 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +pvc (0.9.84-0) unstable; urgency=high + + **Breaking Changes:** This release features a major reconfiguration to how monitoring and reporting of the cluster health works. Node health plugins now report "faults", as do several other issues which were previously manually checked for in "cluster" daemon library for the "/status" endpoint, from within the Health daemon. These faults are persistent, and under each given identifier can be triggered once and subsequent triggers simply update the "last reported" time. An additional set of API endpoints and commands are added to manage these faults, either by "ack"(nowledging) them (keeping the alert around to be further updated but setting its health delta to 0%), or "delete"ing them (completely removing the fault unless it retriggers), both individually, to (from the CLI) multiple, or all. Cluster health reporting is now done based on these faults instead of anything else, and the default interval for health checks is reduced to 15 seconds to accomodate this. In addition to this, Promethius metrics have been added, along with an example Grafana dashboard, for the PVC cluster itself, as well as a proxy to the Ceph cluster metrics. This release also fixes some bugs in the VM provisioner that were introduced in 0.9.83; these fixes require a **reimport or reconfiguration of any provisioner scripts**; reference the updated examples for details. + + * [All] Adds persistent fault reporting to clusters, replacing the old cluster health calculations. + * [API Daemon] Adds cluster-level Prometheus metric exporting as well as a Ceph Prometheus proxy to the API. + * [CLI Client] Improves formatting output of "pvc cluster status". + * [Node Daemon] Fixes several bugs and enhances the working of the psql health check plugin. + * [Worker Daemon] Fixes several bugs in the example provisioner scripts, and moves the libvirt_schema library into the daemon common libraries. + + -- Joshua M. Boniface Sat, 09 Dec 2023 23:05:40 -0500 + pvc (0.9.83-0) unstable; urgency=high **Breaking Changes:** This release features a breaking change for the daemon config. A new unified "pvc.conf" file is required for all daemons (and the CLI client for Autobackup and API-on-this-host functionality), which will be written by the "pvc" role in the PVC Ansible framework. Using the "update-pvc-daemons" oneshot playbook from PVC Ansible is **required** to update to this release, as it will ensure this file is written to the proper place before deploying the new package versions, and also ensures that the old entires are cleaned up afterwards. In addition, this release fully splits the node worker and health subsystems into discrete daemons ("pvcworkerd" and "pvchealthd") and packages ("pvc-daemon-worker" and "pvc-daemon-health") respectively. The "pvc-daemon-node" package also now depends on both packages, and the "pvc-daemon-api" package can now be reliably used outside of the PVC nodes themselves (for instance, in a VM) without any strange cross-dependency issues. diff --git a/health-daemon/pvchealthd/Daemon.py b/health-daemon/pvchealthd/Daemon.py index 36262d14..cb838f64 100644 --- a/health-daemon/pvchealthd/Daemon.py +++ b/health-daemon/pvchealthd/Daemon.py @@ -33,7 +33,7 @@ import os import signal # Daemon version -version = "0.9.83" +version = "0.9.84" ########################################################## diff --git a/node-daemon/pvcnoded/Daemon.py b/node-daemon/pvcnoded/Daemon.py index c12f927f..5977e9f8 100644 --- a/node-daemon/pvcnoded/Daemon.py +++ b/node-daemon/pvcnoded/Daemon.py @@ -48,7 +48,7 @@ import re import json # Daemon version -version = "0.9.83" +version = "0.9.84" ########################################################## diff --git a/worker-daemon/pvcworkerd/Daemon.py b/worker-daemon/pvcworkerd/Daemon.py index 5c41a571..9b624a7a 100755 --- a/worker-daemon/pvcworkerd/Daemon.py +++ b/worker-daemon/pvcworkerd/Daemon.py @@ -44,7 +44,7 @@ from daemon_lib.vmbuilder import ( ) # Daemon version -version = "0.9.83" +version = "0.9.84" config = cfg.get_configuration()