Epic Goal
- Support Ansible integration during a cluster import.
- The focus of the work is around ClusterCurator UI enhancements necessary to allow the user to specify an Ansible template.
Scenarios
- The import cluster page needs the options to configure the Ansible automation template
- This should use the same wizard page or steps we find in the create flow
- YAML editor should show the ClusterCurator CR and tower secret
- This is only supported for OCP clusters - user needs to be aware.
- The create cluster page needs to display the ClusterCurator CR and tower secret in the YAML editor
Specify an inventory value to be used- This should be optional (no value is backward compatible)
- The value should default to the cluster name, if chosen, but should be configurable
- Need to decide if we re-use the inventory value for each AnsibleJob specified, or if the user can customize the inventory value per job??
- Requires: https://github.com/stolostron/cluster-curator-controller/pull/116/files
- The user needs a way to batch update existing configured ClusterCurator automation template on multiple clusters. There is no experience in the UI that helps you manage the automation after it has been created/imported.
- multiselect clusters from clusters page
- action > modal 'Update Automation template' - this would overwrite the existing ClusterCurator
- Action must be blocked for *KS clusters and non-OCP clusters
- User needs a way to see which Automation template is applied to a cluster.
Acceptance Criteria
- CI - MUST be running successfully with tests automated
- Release Technical Enablement - Provide necessary release enablement details and documents.
Verification of the backend Curator implementation should include Yaml code to drive the Curator itself- Create and Import wizards, which can now display the Curator CR information, must be verified to ensure that the user introduced YAML does indeed work.
- When making use of Scenario4
- Any old ansible secrets must be cleaned up
- Changing the automation must not interfere with any in-progress curation (may need to be blocked in certain situations)
- We expect the UI performance to be adequate for any multi-select update, for example, ~5 updates should complete within 2 seconds, ~50 updates should complete within ~10 seconds.
Dependencies (internal and external)
- Console work is approved
- This work should be completed, or at least the CRD should be committed before the Console work begins
Previous Work (Optional):
- Extend curator to use inventory.
- Here is an example using inventory: https://github.com/stolostron/cluster-curator-controller/pull/116/files
Open questions::
- Include a different inventory per ansible job per action??
- Use one inventory value for all ansible jobs and actions
Done Checklist
- CI - CI is running, tests are automated and merged.
- Release Enablement <link to Feature Enablement Presentation>
- DEV - Upstream code and tests merged: <link to meaningful PR or GitHub Issue>
- DEV - Upstream documentation merged: <link to meaningful PR or GitHub Issue>
- QE - Test plans in Polarion: <link or reference to Polarion>
- QE - Automated tests merged: <link or reference to automated tests>
- DOC - Downstream documentation merged: <link to meaningful PR>
- causes
-
ACM-1309 Ansible pre and post upgrade hooks defined in ACM not working
- Closed