CORTX Provisioner offers a framework which accepts configurations (cluster.yaml and config.yaml) in the form of ConfigMap, translates into internal configuration (CORTX Conf Store) and then orchestrates across components mini provisioners to allow them to configure services. In Kubernetes environment, CORTX Provisioner framework runs on all the CORTX PODs (in a separate one time init container).
Update generated cluster configuration at provisioning time with node_group set to Kubernetes worker node name
Design
As part of CORTX-29695, the node_group information will be injected at deployment time and available when the initContainer is running the provisioning logic. The cortx-k8s code will inject the Kubernetes worker node name into the initContainer as an environment variable (NODE_NAME) and the Provisioner logic will need to update the generated configuration information to set node_group to the value defined in NODE_NAME environment variable.
Coding
Checklist for Author
[x] Coding conventions are followed and code is consistent
Testing
Checklist for Author
[ ] Unit and System Tests are added
[x] Test Cases cover Happy Path, Non-Happy Path and Scalability
[x] Testing was performed with RPM
Impact Analysis
Checklist for Author/Reviewer/GateKeeper
[ ] Interface change (if any) are documented
[ ] Side effects on other features (deployment/upgrade)
[x] Dependencies on other component(s)
Review Checklist
Checklist for Author
[x] JIRA number/GitHub Issue added to PR
[x] PR is self reviewed
[x] Jira and state/status is updated and JIRA is updated with PR link
[x] Check if the description is clear and explained
Documentation
Checklist for Author
[ ] Changes done to WIKI / Confluence page / Quick Start Guide
Problem Statement
Design
As part of CORTX-29695, the node_group information will be injected at deployment time and available when the initContainer is running the provisioning logic. The cortx-k8s code will inject the Kubernetes worker node name into the initContainer as an environment variable (NODE_NAME) and the Provisioner logic will need to update the generated configuration information to set
node_group
to the value defined in NODE_NAME environment variable.Coding
Checklist for Author
Testing
Checklist for Author
Impact Analysis
Checklist for Author/Reviewer/GateKeeper
Review Checklist
Checklist for Author
Documentation
Checklist for Author