feat: move secrete generation to install-<service>.sh scripts #1374
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR transitions the Genestack installation process from a series of imperative, standalone scripts to a unified, library-driven Orchestration Framework. The primary goal is to achieve "Zero-Touch" deployments where the scripts manage the entire lifecycle of credentials, dependencies, and parallel execution.
Key Structural Changes
Centralized Logic (common-functions.sh)
Secret Lifecycle: Introduced get_or_create_secret which lazily retrieves existing credentials or generates cryptographically secure values if missing.
Parallel Engine: Implemented run_parallel and wait_parallel to manage background processes with standardized timeout logic and error reporting.
Dependency Mapping: Centralized pre-flight checks for tools like yq, helm, and kubectl.
Orchestration Strategy (setup-openstack.sh)
Phase-Based Deployment:
Configuration: Deployment plan is now declaratively defined in /etc/genestack/openstack-components.yaml.
Service Modernization
Zaqar, Nova, Neutron: Refactored to use the new template.
Nova SSH: Specialized logic added to handle RSA key-pair generation.
Metadata Consistency: Nova and Neutron now share the same metadata-shared-secret automatically.
*** BREAKING CHANGES & RELEASE NOTES
Checklist for Reviewers