feat: convert orchestrator and discovery domains to Ansible Galaxy collections - #4898
Open
sujit-jadhav wants to merge 2 commits into
Open
Conversation
- Orchestrator domain:
- Create roles: orchestrator_setup, orchestrator_functional_groups,
validate_orchestrator_input, orchestrator_credentials, orchestrator_common
- Localize library/modules (8 Python modules), module_utils, callback_plugins
- Create sub-playbooks: prepare, validate, credentials, cleanup, upgrade, rollback
- Update orchestrator.yml to use local roles (zero ../playbooks/ imports)
- Update ansible.cfg to use local paths (zero ../common/ references)
- git mv tasks/ files into orchestrator_common role, remove clone_dependencies
- Add ORCHESTRATOR_DESIGN.md, INPUT_CONTRACT.md, OUTPUT_CONTRACT.md
- Discovery domain:
- Create roles: discovery_setup, validate_discovery_input,
discovery_credentials, discovery_common
- Localize library/modules (8 Python modules), module_utils, callback_plugins
- Create sub-playbooks: validate, credentials
- Update discovery.yml to use local roles (zero ../playbooks/ imports)
- Update ansible.cfg to use local paths (zero ../common/ references)
- Add DISCOVERY_DESIGN.md, INPUT_CONTRACT.md, OUTPUT_CONTRACT.md
Both domains now follow the same self-containment pattern as
image_build_manager: zero external ../common/ or ../playbooks/ references.
Relates-to: dell#4849
Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
…llections Convert both orchestrator and discovery domains into publishable Ansible Galaxy collections under the omnia namespace (omnia.orchestrator, omnia.discovery v2.2.0). Changes: - Add galaxy.yml, meta/runtime.yml, README.md for both collections - Restructure library/ -> plugins/modules/, plugins/module_utils/ - Restructure callback_plugins/ -> plugins/callback/ - Update all module calls to FQCN (omnia.<collection>.<module>) - Update all role references to FQCN (omnia.<collection>.<role>) - Update Python module_utils imports to collection paths - Add DOCUMENTATION docstrings to all modules for Galaxy import - Add meta/main.yml and README.md to all roles - Update ansible.cfg: remove path overrides, use collection callbacks - Fix playbook_dir -> role_path for sub-playbook compatibility - Move design docs to docs/ subdirectory - Add .gitignore for dev symlinks and build artifacts - Add GALAXY_TESTING_GUIDE.md with end-to-end test scenarios Both collections published to https://galaxy.ansible.com/ui/namespaces/omnia/ All syntax checks, module resolution, validate, and credential tests pass. Signed-off-by: Sujit Jadhav <sujit.jadhav@dell.com>
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
Convert both
orchestratoranddiscoverydomains into publishable Ansible Galaxy collections under theomnianamespace.Changes
Collection Structure
galaxy.yml,meta/runtime.yml,README.mdfor both collectionslibrary/→plugins/modules/,plugins/module_utils/callback_plugins/→plugins/callback/*_DESIGN.md,INPUT_CONTRACT.md,OUTPUT_CONTRACT.md) todocs/.gitignorefor dev symlinks and build artifactsFQCN Updates
omnia.<collection>.<module>)omnia.<collection>.<role>)module_utilsimports to collection pathsansible.cfgfiles: remove path overrides, use collection callbacksGalaxy Metadata
DOCUMENTATIONdocstrings to all modules (Galaxy import requirement)meta/main.ymlandREADME.mdto all roles (Galaxy import requirement)Bug Fixes
playbook_dir→role_pathin 7 places for sub-playbook compatibilityplaybooks/sub-directory,playbook_dirresolved incorrectlyTesting
GALAXY_TESTING_GUIDE.mdwith end-to-end test scenariosTest Results
--tags validate)How to Test
See
src/GALAXY_TESTING_GUIDE.mdfor full end-to-end test sequence including all sub-playbooks and tag combinations.