feat(orchestrator): modernization phases 1-6 — v3.0.0 - #4923
Open
sujit-jadhav wants to merge 6 commits into
Open
feat(orchestrator): modernization phases 1-6 — v3.0.0#4923sujit-jadhav wants to merge 6 commits into
sujit-jadhav wants to merge 6 commits into
Conversation
- Phase 1: Foundation — classification data file, generate_functional_groups refactor
- Phase 2: Playbook decomposition — 9 focused sub-playbooks, support-flag persistence
- Phase 3: Provisioning refactor — provision_common (11 files), generate_inventories
- Phase 4: Bolt-on decoupling — pattern-based FG matching, removed hardcoded arch names
- Phase 5: Lifecycle operations — upgrade, rollback, cleanup playbooks with real logic
- Phase 6: Static validation — all 202 YAML files parse, 14 playbooks syntax-check pass
New roles: provision_common, generate_inventories, validate_openchami, validate_provisioning
New playbooks: deploy_openchami, provision_{preamble,kubernetes,slurm,os,custom}, validate_{openchami,provisioning}
New vars: functional_group_classification.yml
Bumps galaxy collection version from 2.2.0 to 3.0.0
Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
- yaml[line-length]: wrap skill.yaml description to fit 160-char limit - ignore-errors x11: replace ignore_errors with failed_when: false in cleanup, rollback, and upgrade playbooks - risky-shell-pipe x2: add set -o pipefail to container/pod removal shells - name[template] x1: remove Jinja from middle of task name in register_nodes Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
sujit-jadhav
force-pushed
the
feature/galaxy-collections
branch
from
July 31, 2026 17:20
5b79e6d to
ad10e2a
Compare
Galaxy import requires every role to have role metadata and a README. Adds these for: generate_inventories, provision_common, validate_openchami, validate_provisioning. Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
- Add requirements.txt, requirements.yml, CHANGELOG.md - Add EXAMPLES + RETURN doc blocks to all 7 modules missing them - Add copy-input.sh domain init script - Add docs/contracts/ symlinks to INPUT_CONTRACT.md, OUTPUT_CONTRACT.md - Fix ansible.cfg: log_path → /var/log/omnia/orchestrator/, remote_tmp → ~/.ansible/tmp/ - Add domain-completion-checker to build_ignore (not collection code) Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
…core 78 → 90 Restructure orchestrator_validation into the standard pattern: - core/validation_engine.py: utilities and run_validation() dispatcher - messages/orchestrator_messages.py: all error constants (UPPER_SNAKE_CASE) - validators/orchestrator_config_validator.py: L2 config validator with validate() - validators/network_spec_validator.py: L2 network spec validator with validate() - schema/ already existed with 3 JSON schema files Original orchestrator_validation_flow.py preserved for backward compatibility. Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
- Add requirements.txt, requirements.yml, CHANGELOG.md - Add EXAMPLES + RETURN doc blocks to validate_credentials, validate_discovery_config - Create input validation four-directory structure (core/, messages/, validators/) - Add copy-input.sh domain init script - Add discovery_status.yml writer to ome_discovery role - Add docs/contracts/ symlinks to INPUT_CONTRACT.md, OUTPUT_CONTRACT.md - Fix ansible.cfg: log_path → /var/log/omnia/discovery/, remote_tmp → ~/.ansible/tmp/ - Add domain-completion-checker to build_ignore Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
abhishek-sa1
reviewed
Aug 3, 2026
Collaborator
There was a problem hiding this comment.
skill to be removed from PR
abhishek-sa1
reviewed
Aug 3, 2026
Collaborator
There was a problem hiding this comment.
file name should be domain-init.sh
abhishek-sa1
reviewed
Aug 3, 2026
Collaborator
There was a problem hiding this comment.
file name should be domain-init.sh
abhishek-sa1
reviewed
Aug 3, 2026
| - **Phase 3 — Provisioning Refactor**: New `provision_common` role (11 task files) for SMD registration, BSS, cloud-init, DNS, SELinux. New `generate_inventories` role. Demoted `configure_ochami` to template/task library. | ||
| - **Phase 4 — Bolt-On Decoupling**: Replaced all hardcoded functional group names with pattern-based matching in `slurm_config`, `k8s_config`, `mount_config`, `passwordless_ssh`, and `orchestrator_validations`. | ||
| - **Phase 5 — Lifecycle Operations**: Implemented `upgrade_orchestrator.yml` (backup → pull → restart → verify), `rollback_orchestrator.yml` (find backup → restore → verify), and `cleanup_orchestrator.yml` (stop → remove → clean → revert DNS). | ||
| - New roles: `validate_openchami`, `validate_provisioning`. |
Collaborator
There was a problem hiding this comment.
change log to be reviewed. do we need to keep previous version as its all new
abhishek-sa1
reviewed
Aug 3, 2026
| @@ -0,0 +1 @@ | |||
| ../INPUT_CONTRACT.md No newline at end of file | |||
Collaborator
There was a problem hiding this comment.
can we delete INPUT_CONTRACT.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Implements the full orchestrator modernization (Phases 1–6) as outlined in
ORCHESTRATOR_MODERNIZATION.md.Changes
43 files changed, 5087 insertions, 311 deletions
New Roles
provision_common— 11 task files + vars (SMD registration, BSS, cloud-init, DNS, SELinux)generate_inventories— inventory generation from SMDvalidate_openchami— service health gatevalidate_provisioning— post-provision checksNew Playbooks
deploy_openchami.yml,provision_{preamble,kubernetes,slurm,os,custom}.yml,validate_{openchami,provisioning}.ymlKey Improvements
slurm_control_node_x86_64) replaced with pattern-based matchingnodes_kubernetes.yaml,nodes_slurm.yaml) for safe concurrent provisioningValidation
--syntax-check