Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSC defaults must be upgrade-able #2488

Closed
alexandre-allard opened this issue Apr 27, 2020 · 0 comments
Closed

CSC defaults must be upgrade-able #2488

alexandre-allard opened this issue Apr 27, 2020 · 0 comments
Assignees
Labels
complexity:medium Something that requires one or few days to fix kind:enhancement New feature or request topic: cluster&service configuration Anything related to cluster and service configuration persistence

Comments

@alexandre-allard
Copy link
Contributor

Component: salt, csc

Why this is needed:
To be able to change the default values for the components using CSC during an upgrade or a downgrade (e.g. Alertmanager configuration file format changes between 2 versions).

What should be done:
We need to provide a mechanism to be able to change default values in CSC.

Implementation proposal (strongly recommended):
Instead of hardcoding default values in Salt formulas, we could use the salt/metalk8s/defaults.yaml to define these values.
So, we could simply use them through Jinja templating using a | default() or we could even do better, developing Salt modules taking care of merging the content of the CSC ConfigMap with the default values and returning the configuration as a dict.

Test plan:

@alexandre-allard alexandre-allard added kind:enhancement New feature or request complexity:medium Something that requires one or few days to fix topic: cluster&service configuration Anything related to cluster and service configuration persistence labels Apr 27, 2020
Ebaneck added a commit that referenced this issue Apr 30, 2020
This commit ensures default csc values are update-able by merging
the default csc defined in `csc.yaml` to those of service configmaps
defined by users during render time.

closes: #2488
Ebaneck added a commit that referenced this issue May 4, 2020
This commit makes use of the salt module `dictupdate.merge` ensuring
that default CSC values are merged with user specified CSC while still
providing a fallback configuation for extreme scenarios.

This above merge is implemented to ensure that we can do the following:
1. Deploy metalk8s addons with minimum default service values
2. Metalk8s administrators can update and add new configurations values
3. In cases of no Administrator configurations, the default values will be used
   to deploy the services.
4. In cases where CSC configmaps are removed, we can fall back to default values

closes: #2488
Ebaneck added a commit that referenced this issue May 4, 2020
This commit makes use of the salt module `dictupdate.merge` ensuring
that default CSC values are merged with user specified CSC while still
providing a fallback configuation for extreme scenarios.

This above merge is implemented to ensure that we can do the following:
1. Deploy metalk8s addons with minimum default service values
2. Metalk8s administrators can update and add new configurations values
3. In cases of no Administrator configurations, the default values will be used
   to deploy the services.
4. In cases where CSC configmaps are removed, we can fall back to default values

closes: #2488
Ebaneck added a commit that referenced this issue May 4, 2020
This commit makes use of the salt module `dictupdate.merge` ensuring
that default CSC values are merged with user specified CSC while still
providing a fallback configuation for extreme scenarios.

This above merge is implemented to ensure that we can do the following:
1. Deploy metalk8s addons with minimum default service values
2. Metalk8s administrators can update and add new configurations values
3. In cases of no Administrator configurations, the default values will be used
   to deploy the services.
4. In cases where CSC configmaps are removed, we can fall back to default values

closes: #2488
Ebaneck added a commit that referenced this issue May 4, 2020
This commit makes use of the salt module `dictupdate.merge` ensuring
that default CSC values are merged with user specified CSC while still
providing a fallback configuation for extreme scenarios.

This above merge is implemented to ensure that we can do the following:
1. Deploy metalk8s addons with minimum default service values
2. Metalk8s administrators can update and add new configurations values
3. In cases of no Administrator configurations, the default values will be used
   to deploy the services.
4. In cases where CSC configmaps are removed, we can fall back to default values

closes: #2488
Ebaneck added a commit that referenced this issue May 5, 2020
This commit makes use of the salt module `dictupdate.merge` ensuring
that default CSC values are merged with user specified CSC while still
providing a fallback configuation for extreme scenarios.

This above merge is implemented to ensure that we can do the following:
1. Deploy metalk8s addons with minimum default service values
2. Metalk8s administrators can update and add new configurations values
3. In cases of no Administrator configurations, the default values will be used
   to deploy the services.
4. In cases where CSC configmaps are removed, we can fall back to default values

closes: #2488
Ebaneck added a commit that referenced this issue May 5, 2020
This commit makes use of the salt module `dictupdate.merge` ensuring
that default CSC values are merged with user specified CSC while still
providing a fallback configuation for extreme scenarios.

This above merge is implemented to ensure that we can do the following:
1. Deploy metalk8s addons with minimum default service values
2. Metalk8s administrators can update and add new configurations values
3. In cases of no Administrator configurations, the default values will be used
   to deploy the services.
4. In cases where CSC configmaps are removed, we can fall back to default values

closes: #2488
@bert-e bert-e closed this as completed in 17e8285 May 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity:medium Something that requires one or few days to fix kind:enhancement New feature or request topic: cluster&service configuration Anything related to cluster and service configuration persistence
Projects
None yet
Development

No branches or pull requests

2 participants