Investigate cleanup of pvcXd.yaml configurations #172

Closed
opened 2023-11-26 03:50:43 -05:00 by joshuaboniface · 1 comment

Currently there are two main PVC yaml configurations, pvcnoded.yaml and pvcapid.yaml. Both contain configuration information for the cluster, but with some overlap and with some discrete parts. There is also the separate autobackup.yaml which defines PVC autobackup configurations.

In #171 we seek to add two more packages/daemons to the mix, which might need some or both of these configs.

Instead, let's look into unifying and restructuring our configuration files into a single pvc.yaml. This can cover all the currently disparate settings from the 3 mentioned files into a single configuration going forward, along with a corresponding reorganization.

This will help keep settings for nodes and the cluster much more organized and flexible. All daemons can then read from this configuration for information they need. Ideally, as well, we can also eliminate some current "flexibility" and ensure that this configuration is cluster-global instead of node-specific.

First, we must define a configuration schema for the new pvc.yaml configuration.

Next, we will need some temporary migrations in all existing daemons to determine which configurations each daemon should be reading from. This will ensure compatibility with both.

Finally we can add a migration to pvc-ansible to remove the old configs and add the new ones, with an ideally seamless transition at that point.

Currently there are two main PVC yaml configurations, `pvcnoded.yaml` and `pvcapid.yaml`. Both contain configuration information for the cluster, but with some overlap and with some discrete parts. There is also the separate `autobackup.yaml` which defines PVC autobackup configurations. In #171 we seek to add two more packages/daemons to the mix, which might need some or both of these configs. Instead, let's look into unifying and restructuring our configuration files into a single `pvc.yaml`. This can cover all the currently disparate settings from the 3 mentioned files into a single configuration going forward, along with a corresponding reorganization. This will help keep settings for nodes and the cluster much more organized and flexible. All daemons can then read from this configuration for information they need. Ideally, as well, we can also eliminate some current "flexibility" and ensure that this configuration is cluster-global instead of node-specific. First, we must define a configuration schema for the new `pvc.yaml` configuration. Next, we will need some temporary migrations in all existing daemons to determine which configurations each daemon should be reading from. This will ensure compatibility with both. Finally we can add a migration to `pvc-ansible` to remove the old configs and add the new ones, with an ideally seamless transition at that point.
joshuaboniface added this to the 1.0 milestone 2023-11-26 03:50:43 -05:00
Author
Owner

Implemented both a legacy and new format, where new will read from /etc/pvc/pvc.conf if it exists, otherwise it will fall back to allow transition time via the PVC Ansible playbooks.

The legacy handler can go away eventually.

Will be present in 0.9.82.

Implemented both a legacy and new format, where new will read from `/etc/pvc/pvc.conf` if it exists, otherwise it will fall back to allow transition time via the PVC Ansible playbooks. The legacy handler can go away eventually. Will be present in 0.9.82.
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: parallelvirtualcluster/pvc#172
No description provided.