pvc (0.9.87-0) unstable; urgency=high

  * [API Daemon] Adds cluster Prometheus resource utilization metrics and an updated Grafana dashboard.
  * [Node Daemon] Adds network traffic rate calculation subsystem.
  * [All Daemons] Fixes a printing bug where newlines were not added atomically.
  * [CLI Client] Fixes a bug listing connections if no default is specified.
  * [All Daemons] Simplifies debug logging conditionals by moving into the Logger instance itself.

 -- Joshua M. Boniface <joshua@boniface.me>  Wed, 27 Dec 2023 13:40:51 -0500

pvc (0.9.86-0) unstable; urgency=high

  * [API Daemon] Significantly improves the performance of several commands via async Zookeeper calls and removal of superfluous backend calls.
  * [Docs] Improves the project README and updates screenshot images to show the current output and more functionality.
  * [API Daemon/CLI] Corrects some bugs in VM metainformation output.
  * [Node Daemon] Fixes resource reporting bugs from 0.9.81 and properly clears node resource numbers on a fence.
  * [Health Daemon] Adds a wait during pvchealthd startup until the node is in run state, to avoid erroneous faults during node bootup.
  * [API Daemon] Fixes an incorrect reference to legacy pvcapid.yaml file in migration script.

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 14 Dec 2023 14:46:29 -0500

pvc (0.9.85-0) unstable; urgency=high

  * [Packaging] Fixes a dependency bug introduced in 0.9.84
  * [Node Daemon] Fixes an output bug during keepalives
  * [Node Daemon] Fixes a bug in the example Prometheus Grafana dashboard

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 10 Dec 2023 01:00:33 -0500

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 <joshua@boniface.me>  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.

  * [All] Unifies all daemon (and on-node CLI task) configuration into a "pvc.conf" YAML configuration.
  * [All] Splits the node worker subsystem into a discrete codebase and package ("pvc-daemon-worker"), still named "pvcworkerd".
  * [All] Splits the node health subsystem into a discrete codebase and package ("pvc-daemon-health"), named "pvchealthd".
  * [All] Improves Zookeeper node logging to avoid bugs and to support multiple simultaneous daemon writes.
  * [All] Fixes several bugs in file logging and splits file logs by daemon.
  * [Node Daemon] Improves several log messages to match new standards from Health daemon.
  * [API Daemon] Reworks Celery task routing and handling to move all worker tasks to Worker daemon.

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 01 Dec 2023 17:33:53 -0500

pvc (0.9.82-0) unstable; urgency=high

  * [API Daemon] Fixes a bug where the Celery result_backend was not loading properly on Celery <5.2.x (Debian 10/11).

 -- Joshua M. Boniface <joshua@boniface.me>  Sat, 25 Nov 2023 15:38:50 -0500

pvc (0.9.81-0) unstable; urgency=high

  **Breaking Changes:** This large release features a number of major changes. While these should all be a seamless transition, the behaviour of several commands and the backend system for handling them has changed significantly, along with new dependencies from PVC Ansible. A full cluster configuration update via `pvc.yml` is recommended after installing this version. Redis is replaced with KeyDB on coordinator nodes as a Celery backend; this transition will be handled gracefully by the `pvc-ansible` playbooks, though note that KeyDB will be exposed on the Upstream interface. The Celery worker system is renamed `pvcworkerd`, is now active on all nodes (coordinator and non-coordinator), and is expanded to encompass several commands that previously used a similar, custom setup within the node daemons, including "pvc vm flush-locks" and all "pvc storage osd" tasks. The previously-mentioned CLI commands now all feature "--wait"/"--no-wait" flags, with wait showing a progress bar and status output of the task run. The "pvc cluster task" command can now used for viewing all task types, replacing the previously-custom/specific "pvc provisioner status" command. All example provisioner scripts have been updated to leverage new helper functions in the Celery system; while updating these is optional, an administrator is recommended to do so for optimal log output behaviour.

  * [CLI Client] Fixes "--live" argument handling and duplicate restart prompts.
  * [All] Adds support for multiple OSDs on individual disks (NVMe workloads).
  * [All] Corrects and updates OSD replace, refresh, remove, and add functionality; replace no longer purges.
  * [All] Switches to KeyDB (multi-master) instead of Redis and adds node monitoring plugin.
  * [All] Replaces Zookeeper/Node Daemon-based message passing and task handling with pvcworkerd Celery workers on all nodes; increases worker concurrency to 3 (per node).
  * [All] Moves all task-like functions to Celery and updates existing Celery tasks to use new helpers and ID system.
  * [CLI Client] Adds "--wait/--no-wait" options with progress bars to all Celery-based tasks, "--wait" default; adds a standardized task interface under "pvc cluster task".
  * [Node Daemon] Cleans up the fencing handler and related functions.
  * [Node Daemon] Fixes bugs with VM memory reporting during keepalives.
  * [Node Daemon] Fixes a potential race condition during primary/secondary transition by backgrounding systemctl commands.
  * [API Daemon] Updates example provisioner plugins to use new Celery functions.

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 17 Nov 2023 01:29:41 -0500

pvc (0.9.80-0) unstable; urgency=high

  * [CLI] Improves CLI performance by not loading "pkg_resources" until needed
  * [CLI] Improves the output of the audit log (full command paths)
  * [Node Daemon/API Daemon] Moves the sample YAML configurations to /usr/share/pvc instead of /etc/pvc and cleans up the old locations automatically
  * [CLI] Adds VM autobackup functionality to automate VM backup/retention and scheduling
  * [CLI] Handles the internal store in a better way to ensure CLI can be used as a module properly

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 27 Oct 2023 09:56:31 -0400

pvc (0.9.79-0) unstable; urgency=high

  **API Changes**: New endpoints /vm/{vm}/backup, /vm/{vm}/restore

  * [CLI Client] Fixes some storage pool help text messages
  * [Node Daemon] Increases the IPMI monitoring plugin timeout
  * [All] Adds support for VM backups, including creation, removal, and restore
  * [Repository] Fixes shebangs in scripts to be consistent
  * [Daemon Library] Improves the handling of VM list arguments (default None)

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 24 Oct 2023 02:10:24 -0400

pvc (0.9.78-0) unstable; urgency=high

  * [API, Client CLI] Fixes several bugs around image uploads; adds a new query parameter for non-raw images
  * [API] Ensures RBD images are created with a raw bytes value to avoid rounding errors

 -- Joshua M. Boniface <joshua@boniface.me>  Sat, 30 Sep 2023 12:57:55 -0400

pvc (0.9.77-0) unstable; urgency=high

  * [Client CLI] Fixes a bug from a bad library import

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 19 Sep 2023 11:05:55 -0400

pvc (0.9.76-0) unstable; urgency=high

  * [API, Client CLI] Corrects some missing node states for fencing in status output

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 18 Sep 2023 10:15:52 -0400

pvc (0.9.75-0) unstable; urgency=high

  * [Node Daemon] Adds a startup message about IPMI when succeeding
  * [Node Daemon] Fixes a bug in fencing allowing non-failing VMs to migrate
  * [Node Daemon] Adds rounding to load average in load plugin for consistency

 -- Joshua M. Boniface <joshua@boniface.me>  Sat, 16 Sep 2023 23:06:38 -0400

pvc (0.9.74-0) unstable; urgency=high

  * [Docs] Removes docs from the main repo
  * [Client CLI] Ensures that "provision" VMs are shown in the right colour
  * [Node Daemon] Separates the node monitoring subsystem into its own thread with a longer, customizable update interval
  * [Node Daemon] Adds checks for PSU input power reundancy (psur) and hardware RAID (hwrd)
  * [Node Daemon] Updates when Keepalive start messages are printed (end of run, with runtime) to align with new monitoring messages

 -- Joshua M. Boniface <joshua@boniface.me>  Sat, 16 Sep 2023 00:18:13 -0400

pvc (0.9.73-0) unstable; urgency=high

  * [Node Daemon] Fixes a bug creating monitoring instance

 -- Joshua M. Boniface <joshua@boniface.me>  Sat, 02 Sep 2023 02:16:19 -0400

pvc (0.9.72-0) unstable; urgency=high

  * [CLI] Restores old functionality for default node value

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 01 Sep 2023 16:34:45 -0400

pvc (0.9.71-0) unstable; urgency=high

  * [API] Adds API support for Debian Bookworm

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 01 Sep 2023 00:30:42 -0400

pvc (0.9.70-0) unstable; urgency=high

  * [Node Daemon] Fixes several compatibility issues for Debian 12 "Bookworm"

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 31 Aug 2023 14:15:54 -0400

pvc (0.9.69-0) unstable; urgency=high

  * [Node Daemon] Ensures that system load is always 2 decimal places on Bookworm
  * [Node Daemon] Fixes bug blocking primary takeover at DNS Aggregator start if Patroni is down

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 29 Aug 2023 22:01:22 -0400

pvc (0.9.68-0) unstable; urgency=high

  * [CLI] Fixes another bug with network info view

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 27 Aug 2023 20:59:23 -0400

pvc (0.9.67-0) unstable; urgency=high

  * [CLI] Fixes several more bugs in the refactored CLI

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 27 Aug 2023 14:47:20 -0400

pvc (0.9.66-0) unstable; urgency=high

  * [CLI] Fixes a missing YAML import in CLI

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 27 Aug 2023 11:36:05 -0400

pvc (0.9.65-0) unstable; urgency=high

  * [CLI] Fixes a bug in the node list filtering command
  * [CLI] Fixes a bug/default when no connection is specified

 -- Joshua M. Boniface <joshua@boniface.me>  Wed, 23 Aug 2023 01:56:57 -0400

pvc (0.9.64-0) unstable; urgency=high

  **Breaking Change [CLI]**: The CLI client root commands have been reorganized. The following commands have changed:

   * `pvc cluster` -> `pvc connection` (all subcommands)
   * `pvc task` -> `pvc cluster` (all subcommands)
   * `pvc maintenance` -> `pvc cluster maintenance`
   * `pvc status` -> `pvc cluster status`

Ensure you have updated to the latest version of the PVC Ansible repository before deploying this version or using PVC Ansible oneshot playbooks for management.

  **Breaking Change [CLI]**: The `--restart` option for VM configuration changes now has an explicit `--no-restart` to disable restarting, or a prompt if neither is specified; `--unsafe` no longer bypasses this prompt which was a bug. Applies to most `vm <cmd> set` commands like `vm vcpu set`, `vm memory set`, etc. All instances also feature restart confirmation afterwards, which, if `--restart` is provided, will prompt for confirmation unless `--yes` or `--unsafe` is specified.

  **Breaking Change [CLI]**: The `--long` option previously on some `info` commands no longer exists; use `-f long`/`--format long` instead.

  * [CLI] Significantly refactors the CLI client code for consistency and cleanliness
  * [CLI] Implements `-f`/`--format` options for all `list` and `info` commands in a consistent way
  * [CLI] Changes the behaviour of VM modification options with "--restart" to provide a "--no-restart"; defaults to a prompt if neither is specified and ignores the "--unsafe" global entirely
  * [API] Fixes several bugs in the 3-debootstrap.py provisioner example script
  * [Node] Fixes some bugs around VM shutdown on node flush
  * [Documentation] Adds mentions of Ganeti and Harvester

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 18 Aug 2023 12:20:43 -0400

pvc (0.9.63-0) unstable; urgency=high

  * Mentions Ganeti in the docs
  * Increases API timeout back to 2s
  * Adds .update-* configs to dpkg plugin
  * Adds full/nearfull OSD warnings
  * Improves size value handling for volumes

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 28 Apr 2023 14:47:04 -0400

pvc (0.9.62-0) unstable; urgency=high

  * [all] Adds an enhanced health checking, monitoring, and reporting system for nodes and clusters
  * [cli] Adds a cluster detail command

 -- Joshua M. Boniface <joshua@boniface.me>  Wed, 22 Feb 2023 18:13:45 -0500

pvc (0.9.61-0) unstable; urgency=high

  * [provisioner] Fixes a bug in network comparison
  * [api] Fixes a bug being unable to rename disabled VMs

 -- Joshua M. Boniface <joshua@boniface.me>  Wed, 08 Feb 2023 10:08:05 -0500

pvc (0.9.60-0) unstable; urgency=high

  * [Provisioner] Cleans up several remaining bugs in the example scripts; they should all be valid now
  * [Provisioner] Adjust default libvirt schema to disable RBD caching for a 2x+ performance boost

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 06 Dec 2022 15:42:55 -0500

pvc (0.9.59-0) unstable; urgency=high

  * [API] Flips the mem(prov) and mem(free) selectors making mem(free) the default for "mem" and "memprov" explicit

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 15 Nov 2022 15:50:15 -0500

pvc (0.9.58-0) unstable; urgency=high

  * [API] Fixes a bug where migration selector could have case-sensitive operational faults

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 07 Nov 2022 12:27:48 -0500

pvc (0.9.57-0) unstable; urgency=high

  * [CLI] Removes an invalid reference to VXLAN
  * [CLI] Improves the handling of invalid networks in VM lists and on attach
  * [API] Modularizes the benchmarking library so it can be used externally too
  * [Daemon Library] Adds a module tag file so it can be used externally too

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 06 Nov 2022 01:39:50 -0400

pvc (0.9.56-0) unstable; urgency=high

  * [API/Provisioner] Fundamentally revamps the provisioner script framework to provide more extensibility (BREAKING CHANGE)
  * [API/Provisioner] Adds example provisioner scripts for noop, ova, debootstrap, rinse, and pfsense (BREAKING CHANGE)
  * [API/Provisioner] Enforces the use of the ova provisioner script during new OVA uploads; existing uploads will not work (BREAKING CHANGE)
  * [Documentation] Updates the documentation around provisioner scripts and OVAs to reflect the above changes
  * [Node] Adds a new pvcautoready.service oneshot unit to replicate the on-boot-ready functionality of old pvc-flush.service unit

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 27 Oct 2022 14:19:18 -0400

pvc (0.9.55-0) unstable; urgency=high

  * Fixes a problem with the literal eval handler in the provisioner (again)
  * Fixes a potential log deadlock in Zookeeper-lost situations when doing keepalives

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 04 Oct 2022 13:21:40 -0400

pvc (0.9.54-0) unstable; urgency=high

[CLI Client] Fixes a bad variable reference from the previous change
[API Daemon] Enables TLSv1 with an SSLContext object for maximum compatibility

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 23 Aug 2022 11:01:05 -0400

pvc (0.9.53-0) unstable; urgency=high

  * [API] Fixes sort order of VM list (for real this time)

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 12 Aug 2022 17:47:11 -0400

pvc (0.9.52-0) unstable; urgency=high

  * [CLI] Fixes a bug with vm modify not requiring a cluster
  * [Docs] Adds a reference to the bootstrap daemon
  * [API] Adds sorting to node and VM lists for consistency
  * [Node Daemon/API] Adds kb_ stats values for OSD stats

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 12 Aug 2022 11:09:25 -0400

pvc (0.9.51-0) unstable; urgency=high

  * [CLI Client] Fixes a faulty literal_eval when viewing task status
  * [CLI Client] Adds a confirmation flag to the vm disable command
  * [Node Daemon] Removes the pvc-flush service

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 25 Jul 2022 23:25:41 -0400

pvc (0.9.50-0) unstable; urgency=high

  * [Node Daemon/API/CLI] Adds free memory node selector
  * [Node Daemon] Fixes bug sending space-containing detect disk strings

 -- Joshua M. Boniface <joshua@boniface.me>  Wed, 06 Jul 2022 16:01:14 -0400

pvc (0.9.49-0) unstable; urgency=high

  * [Node Daemon] Fixes bugs with OSD stat population on creation
  * [Node Daemon/API] Adds additional information to Zookeeper about OSDs
  * [Node Daemon] Refactors OSD removal for improved safety
  * [Node Daemon/API/CLI] Adds explicit support for replacing and refreshing (reimporting) OSDs
  * [API/CLI] Fixes a language inconsistency about "router mode"

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 06 May 2022 15:49:39 -0400

pvc (0.9.48-0) unstable; urgency=high

  * [CLI] Fixes situation where only a single cluster is available
  * [CLI/API/Daemon] Allows forcing of OSD removal ignoring errors
  * [CLI] Fixes bug where down OSDs are not displayed

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 29 Apr 2022 12:13:58 -0400

pvc (0.9.47-0) unstable; urgency=high

  * [Node Daemon/API/CLI] Adds Ceph pool device class/tier support
  * [API] Fixes a bug returning values if a Ceph pool has not yet reported stats
  * [API/CLI] Adds PGs count to the pool list output
  * [API/CLI] Adds Ceph pool PGs count adjustment support

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 28 Dec 2021 22:01:22 -0500

pvc (0.9.46-0) unstable; urgency=high

  * [API] Fixes bugs with legacy benchmark display
  * [API] Fixes a bug around cloned image sizes
  * [API] Removes extraneous message text in provisioner create command
  * [API] Corrects bugs around fuzzy matching
  * [CLI] Adds auditing for PVC CLI to local syslog
  * [CLI] Adds --yes bypass for benchmark command
  * [Node Daemon/API/CLI] Adds support for "detect" strings when specifying OSD or OSDDB devices
  * [Node Daemon] Fixes a bug when removing OSDs
  * [Node Daemon] Fixes a single-node cluster shutdown deadlock

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 28 Dec 2021 15:02:14 -0500

pvc (0.9.45-0) unstable; urgency=high

  * [Node Daemon] Fixes an ordering issue with pvcnoded.service
  * [CLI Client] Fixes bad calls to echo() without argument

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 25 Nov 2021 09:34:20 -0500

pvc (0.9.44-0) unstable; urgency=high

  * [Node Daemon] Adds a Munin plugin for Ceph utilization
  * [CLI] Fixes timeouts for long-running API commands

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 11 Nov 2021 16:20:38 -0500

pvc (0.9.44-0) unstable; urgency=high

  * [CLI] Fixes timeout issues with long-running API commands

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 11 Nov 2021 16:19:32 -0500

pvc (0.9.43-0) unstable; urgency=high

  * [Packaging] Fixes a bad test in postinst            
  * [CLI] Adds support for removing VM interfaces by MAC address                                                         
  * [CLI] Modifies the default restart + live behaviour to prefer the explicit restart                                   
  * [CLI] Adds support for adding additional VM interfaces in the same network                                           
  * [CLI] Various ordering and message fixes                                                                             
  * [Node Daemon] Adds additional delays and retries to fencing actions                                                  
  * [All] Adds Black formatting for Python code and various script/hook cleanups                                         
  * [CLI/API] Adds automatic shutdown or stop when disabling a VM                                                        
  * [CLI] Adds support for forcing colourized output                                                                     
  * [Docs] Remove obsolete Ansible and Testing manuals  

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 08 Nov 2021 02:27:38 -0500

pvc (0.9.42-0) unstable; urgency=high

  * [Documentation] Reworks and updates various documentation sections
  * [Node Daemon] Adjusts the fencing process to use a power off rather than a power reset for maximum certainty
  * [Node Daemon] Ensures that MTU values are validated during the first read too
  * [Node Daemon] Corrects the loading of the bridge_mtu value to use the current active setting rather than a fixed default to prevent unintended surprises

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 12 Oct 2021 13:48:19 -0400

pvc (0.9.41-0) unstable; urgency=high

  * Fixes a bad conditional check in IPMI verification
  * Implements per-network MTU configuration; NOTE: Requires new keys in pvcnoded.yaml (`bridge_mtu`) and Ansible group_vars (`pvc_bridge_mtu`)

 -- Joshua M. Boniface <joshua@boniface.me>  Sat, 09 Oct 2021 19:39:21 -0400

pvc (0.9.40-0) unstable; urgency=high

  * [Docs] Documentation updates for new Changelog file
  * [Node Daemon] Fixes bug with schema updates

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 07 Oct 2021 14:42:04 -0400

pvc (0.9.39-0) unstable; urgency=high

  * [Documentation] Update several documentation sections
  * [API Daemon/CLI Client] Add negate flag for VM option limits (node, tag, state)
  * [Build] Add linting check to build-and-deploy.sh

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 07 Oct 2021 11:52:38 -0400

pvc (0.9.38-0) unstable; urgency=high

  * [All] Significantly improve storage benchmark format and reporting

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 03 Oct 2021 22:32:41 -0400

pvc (0.9.37-0) unstable; urgency=high

  * [All] Adds support for configurable OSD DB size ratios
  * [Node Daemon] Fixes bugs with OSD creation
  * [Node Daemon] Fixes exception bugs in CephInstance
  * [CLI Client] Adjusts descriptions around Ceph OSDs
  * [Node Daemon] Fixes ordering of pvc-flush unit
  * [Node Daemon] Fixes bugs in fence handling and libvirt keepalive
  * [Node Daemon] Simplifies locking for and speeds up VM migrations
  * [Node Daemon] Fixes bugs in queue get timeouts
  * [API Daemon] Adjusts benchmark test jobs configuration and naming

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 30 Sep 2021 02:02:53 -0400

pvc (0.9.36-0) unstable; urgency=high

  * [Node Daemon] Fixes a bug during early cleanup
  * [All] Adds support for OSD database/WAL block devices to improve Ceph performance; NOTE: Applies only to new OSDs

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 23 Sep 2021 14:01:38 -0400

pvc (0.9.35-0) unstable; urgency=high

  * [Node Daemon] Fixes several bugs and crashes in node daemon
  * [General] Updates linting rules for newer Flake8 linter
  * [Daemons/CLI client] Adds VM network and disk hot attach/detach support; NOTE: Changes the default behaviour of `pvc vm network add`/`remove` and `pvc vm volume add`/`remove`
  * [API Daemon] Adds checks for pool size when resizing volumes
  * [API Daemon] Adds checks for RAM and vCPU sizes when defining or modifying VMs

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 13 Sep 2021 02:20:46 -0400

pvc (0.9.34-0) unstable; urgency=high

  * [Provisioner] Adds support for filesystem arguments containing =
  * [CLI Client] Fixes bug with pvc provisioner status output formatting
  * [Node Daemon] Fixes minor typo in startup message

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 24 Aug 2021 16:15:25 -0400

pvc (0.9.33-0) unstable; urgency=high

  * [Node Daemon] A major refactoring of the node daemon
  * [CLI Client] Fixes output errors if a node has no provisioner data
  * [Packages] Fixes issues with including __pycache__ directories in .deb files

 -- Joshua M. Boniface <joshua@boniface.me>  Sat, 21 Aug 2021 03:28:48 -0400

pvc (0.9.32-0) unstable; urgency=high

  * [CLI Client] Fixes some incorrect colours in network lists
  * [Documentation] Adds documentation screenshots of CLI client
  * [Node Daemon] Fixes a bug if VM stats gathering fails

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 19 Aug 2021 12:37:58 -0400

pvc (0.9.31-0) unstable; urgency=high

  * [Packages] Cleans up obsolete Suggests lines
  * [Node Daemon] Adjusts log text of VM migrations to show the correct source node
  * [API Daemon] Adjusts the OVA importer to support floppy RASD types for compatability
  * [API Daemon] Ensures that volume resize commands without a suffix get B appended
  * [API Daemon] Removes the explicit setting of image-features in PVC; defaulting to the limited set has been moved to the ceph.conf configuration on nodes via PVC Ansible

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 30 Jul 2021 12:08:12 -0400

pvc (0.9.30-0) unstable; urgency=high

  * [Node Daemon] Fixes bug with schema validation

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 20 Jul 2021 00:01:45 -0400

pvc (0.9.29-0) unstable; urgency=high

  * [Node Daemon] Corrects numerous bugs with node logging framework

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 19 Jul 2021 16:55:41 -0400

pvc (0.9.28-0) unstable; urgency=high

  * [CLI Client] Revamp confirmation options for "vm modify" command

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 19 Jul 2021 09:29:34 -0400

pvc (0.9.27-0) unstable; urgency=high

  * [CLI Client] Fixes a bug with vm modify command when passed a file

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 19 Jul 2021 00:03:40 -0400

pvc (0.9.26-0) unstable; urgency=high

  * [Node Daemon] Corrects some bad assumptions about fencing results during hardware failures
  * [All] Implements VM tagging functionality
  * [All] Implements Node log access via PVC functionality

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 18 Jul 2021 20:49:52 -0400

pvc (0.9.25-0) unstable; urgency=high

  * [Node Daemon] Returns to Rados library calls for Ceph due to performance problems
  * [Node Daemon] Adds a date output to keepalive messages
  * [Daemons] Configures ZK connection logging only for persistent connections
  * [API Provisioner] Add context manager-based chroot to Debootstrap example script
  * [Node Daemon] Fixes a bug where shutdown daemon state was overwritten

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 11 Jul 2021 23:19:09 -0400

pvc (0.9.24-0) unstable; urgency=high

  * [Node Daemon] Removes Rados module polling of Ceph cluster and returns to command-based polling for timeout purposes, and removes some flaky return statements
  * [Node Daemon] Removes flaky Zookeeper connection renewals that caused problems
  * [CLI Client] Allow raw lists of clusters from `pvc cluster list`
  * [API Daemon] Fixes several issues when getting VM data without stats
  * [API Daemon] Fixes issues with removing VMs while disks are still in use (failed provisioning, etc.)

 -- Joshua M. Boniface <joshua@boniface.me>  Fri, 09 Jul 2021 15:58:36 -0400

pvc (0.9.23-0) unstable; urgency=high

  * [Daemons] Fixes a critical overwriting bug in zkhandler when schema paths are not yet valid
  * [Node Daemon] Ensures the daemon mode is updated on every startup (fixes the side effect of the above bug in 0.9.22)

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 05 Jul 2021 23:40:32 -0400

pvc (0.9.22-0) unstable; urgency=high

  * [API Daemon] Drastically improves performance when getting large lists (e.g. VMs)
  * [Daemons] Adds profiler functions for use in debug mode
  * [Daemons] Improves reliability of ZK locking
  * [Daemons] Adds the new logo in ASCII form to the Daemon startup message
  * [Node Daemon] Fixes bug where VMs would sometimes not stop
  * [Node Daemon] Code cleanups in various classes
  * [Node Daemon] Fixes a bug when reading node schema data
  * [All] Adds node PVC version information to the list output
  * [CLI Client] Improves the style and formatting of list output including a new header line
  * [API Worker] Fixes a bug that prevented the storage benchmark job from running

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 05 Jul 2021 14:18:51 -0400

pvc (0.9.21-0) unstable; urgency=high

  * [API Daemon] Ensures VMs stop before removing them
  * [Node Daemon] Fixes a bug with VM shutdowns not timing out
  * [Documentation] Adds information about georedundancy caveats
  * [All] Adds support for SR-IOV NICs (hostdev and macvtap) and surrounding documentation
  * [Node Daemon] Fixes a bug where shutdown aborted migrations unexpectedly
  * [Node Daemon] Fixes a bug where the migration method was not updated realtime
  * [Node Daemon] Adjusts the Patroni commands to remove reference to Zookeeper path
  * [CLI Client] Adjusts several help messages and fixes some typos
  * [CLI Client] Converts the CLI client to a proper Python module
  * [API Daemon] Improves VM list performance
  * [API Daemon] Adjusts VM list matching critera (only matches against the UUID if it's a full UUID)
  * [API Worker] Fixes incompatibility between Deb 10 and 11 in launching Celery worker
  * [API Daemon] Corrects several bugs with initialization command
  * [Documentation] Adds a shiny new logo and revamps introduction text

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 29 Jun 2021 19:21:31 -0400

pvc (0.9.20-0) unstable; urgency=high

  * [Daemons] Implemented a Zookeeper schema handler and version 0 schema
  * [Daemons] Completes major refactoring of codebase to make use of the schema handler
  * [Daemons] Adds support for dynamic chema changges and "hot reloading" of pvcnoded processes
  * [Daemons] Adds a functional testing script for verifying operation against a test cluster
  * [Daemons, CLI] Fixes several minor bugs found by the above script
  * [Daemons, CLI] Add support for Debian 11 "Bullseye"

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 14 Jun 2021 18:06:27 -0400

pvc (0.9.19-0) unstable; urgency=high

  * [CLI] Corrects some flawed conditionals
  * [API] Disables SQLAlchemy modification tracking functionality (not used by us)
  * [Daemons] Implements new zkhandler module for improved reliability and reusability
  * [Daemons] Refactors some code to use new zkhandler module
  * [API, CLI] Adds support for "none" migration selector (uses cluster default instead)
  * [Daemons] Moves some configuration keys to new /config tree
  * [Node Daemon] Increases initial lock timeout for VM migrations to avoid out-of-sync potential
  * [Provisioner] Support storing and using textual cluster network labels ("upstream", "storage", "cluster") in templates
  * [API] Avoid duplicating existing node states

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 06 Jun 2021 01:47:41 -0400

pvc (0.9.18-0) unstable; urgency=high

  * Adds VM rename functionality to API and CLI client

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 23 May 2021 17:23:10 -0400

pvc (0.9.17-0) unstable; urgency=high

  * [CLI] Fixes bugs in log follow output

 -- Joshua M. Boniface <joshua@boniface.me>  Wed, 19 May 2021 17:06:29 -0400

pvc (0.9.16-0) unstable; urgency=high

  * Improves some CLI help messages
  * Skips empty local cluster in CLI
  * Adjusts how confirmations happen during VM modify restarts
  * Fixes bug around corrupted VM log files
  * Fixes bug around subprocess pipe exceptions

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 10 May 2021 01:13:21 -0400

pvc (0.9.15-0) unstable; urgency=high

  * [CLI] Adds additional verification (--yes) to several VM management commands
  * [CLI] Adds a method to override --yes/confirmation requirements via envvar (PVC_UNSAFE)
  * [CLI] Adds description fields to PVC clusters in CLI

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 08 Apr 2021 13:37:47 -0400

pvc (0.9.14-0) unstable; urgency=high

  * Fixes bugs around cloned volume provisioning
  * Fixes some minor visual bugs
  * Minor license update (from GPL3+ to GPL3)
  * Adds qemu-guest-agent support to provisioner-created VMs by default

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 30 Mar 2021 10:27:37 -0400

pvc (0.9.13-0) unstable; urgency=high

  * Adds nicer startup messages for daemons
  * Adds additional API field for stored_bytes to pool stats
  * Fixes sorting issues with snapshot lists
  * Fixes missing increment/decrement of snapshot_count on volumes
  * Fixes bad calls in pool element API endpoints
  * Fixes inconsistent bytes_tohuman behaviour in daemons
  * Adds validation and maximum volume size on creation (must be smaller than the pool free space)

 -- Joshua M. Boniface <joshua@boniface.me>  Wed, 17 Feb 2021 11:33:28 -0500

pvc (0.9.12-0) unstable; urgency=high

  * Fixes a bug in the pvcnoded service unit file causing a Zookeeper startup race condition

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 28 Jan 2021 16:29:58 -0500

pvc (0.9.11-0) unstable; urgency=high

  * Documentation updates
  * Adds VNC information to VM info
  * Goes back to external Ceph commands for disk usage

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 05 Jan 2021 15:58:26 -0500

pvc (0.9.10-0) unstable; urgency=high

  * Moves OSD stats uploading to primary, eliminating reporting failures while hosts are down
  * Documentation updates
  * Significantly improves RBD locking behaviour in several situations, eliminating cold-cluster start issues and failed VM boot-ups after crashes
  * Fixes some timeout delays with fencing
  * Fixes bug in validating YAML provisioner userdata

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 15 Dec 2020 10:45:15 -0500

pvc (0.9.9-0) unstable; urgency=high

  * Adds documentation updates
  * Removes single-element list stripping and fixes surrounding bugs
  * Adds additional fields to some API endpoints for ease of parsing by clients
  * Fixes bugs with network configuration

 -- Joshua M. Boniface <joshua@boniface.me>  Wed, 09 Dec 2020 02:20:20 -0500

pvc (0.9.8-0) unstable; urgency=high

  * Adds support for cluster backup/restore
  * Moves location of `init` command in CLI to make room for the above
  * Cleans up some invalid help messages from the API

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 24 Nov 2020 12:26:57 -0500

pvc (0.9.7-0) unstable; urgency=high

  * Fixes bug with provisioner system template modifications

 -- Joshua M. Boniface <joshua@boniface.me>  Thu, 19 Nov 2020 10:48:28 -0500

pvc (0.9.6-0) unstable; urgency=high

  * Fixes bug with migrations

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 17 Nov 2020 13:01:54 -0500

pvc (0.9.5-0) unstable; urgency=high

  * Fixes bug with line count in log follow
  * Fixes bug with disk stat output being None
  * Adds short pretty health output
  * Documentation updates

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 17 Nov 2020 12:34:04 -0500

pvc (0.9.4-0) unstable; urgency=high

  * Fixes major bug in OVA parser

 -- Joshua M. Boniface <joshua@boniface.me>  Tue, 10 Nov 2020 15:33:50 -0500

pvc (0.9.3-0) unstable; urgency=high

  * Fixes bugs with image & OVA upload parsing

 -- Joshua M. Boniface <joshua@boniface.me>  Mon, 09 Nov 2020 10:28:15 -0500

pvc (0.9.2-0) unstable; urgency=high

  * Major linting of the codebase with flake8; adds linting tools
  * Implements CLI-based modification of VM vCPUs, memory, networks, and disks without directly editing XML
  * Fixes bug where `pvc vm log -f` would show all 1000 lines before starting
  * Fixes bug in default provisioner libvirt schema (`drive` -> `driver` typo)

 -- Joshua M. Boniface <joshua@boniface.me>  Sun, 08 Nov 2020 02:03:29 -0500

pvc (0.9.1-0) unstable; urgency=high

  * Added per-VM migration method feature
  * Fixed bug with provisioner system template listing

 -- Joshua Boniface <joshua@boniface.me>  Thu, 29 Oct 2020 12:15:28 -0400

pvc (0.9.0-0) unstable; urgency=high

  * Numerous bugfixes and improvements

 -- Joshua Boniface <joshua@boniface.me>  Sun, 18 Oct 2020 14:31:00 -0400

pvc (0.8-1) unstable; urgency=high

  * Fix bug with IPv6 being enabled on bridged interfaces

 -- Joshua Boniface <joshua@boniface.me>  Thu, 15 Oct 2020 11:02:24 -0400

pvc (0.8-0) unstable; urgency=medium

  * Numerous bugfixes and improvements

 -- Joshua Boniface <joshua@boniface.me>  Tue, 11 Aug 2020 12:12:07 -0400

pvc (0.7-0) unstable; urgency=medium

  * Numerous bugfixes and improvements

 -- Joshua Boniface <joshua@boniface.me>  Sat, 15 Feb 2020 23:24:17 -0500

pvc (0.6-0) unstable; urgency=medium

  * Numerous improvements, implementation of provisioner and API client

 -- Joshua Boniface <joshua@boniface.me>  Sat, 08 Feb 2020 18:26:58 -0500

pvc (0.5-0) unstable; urgency=medium

  * First public release

 -- Joshua Boniface <joshua@boniface.me>  Thu, 08 Aug 2019 20:55:51 -0400

pvc (0.4-0) unstable; urgency=medium

  * Unification of all daemons into node daemon
  * Numerous client tweaks

 -- Joshua Boniface <joshua@boniface.me>  Sat, 13 Oct 2018 10:40:14 -0400

pvc (0.3-1) unstable; urgency=medium

  * Code and package reorganization pending additional daemons

 -- Joshua Boniface <joshua@boniface.me>  Wed, 12 Sep 2018 12:08:28 -0400

pvc (0.2-1) unstable; urgency=medium

  * Minor version bump with stability fixes

 -- Joshua Boniface <joshua@boniface.me>  Wed, 18 Jul 2018 02:18:25 -0400

pvc (0.1-1) unstable; urgency=medium

  * Initial packaging release

 -- Joshua Boniface <joshua@boniface.me>  Sun, 17 Jun 2018 02:40:39 -0400
