Uploaded image for project: 'Red Hat Advanced Cluster Management'
  1. Red Hat Advanced Cluster Management
  2. ACM-1209

[RFE] Support Ansible during cluster import - ClusterCurator UI enhancement

XMLWordPrintable

      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

      1. The import cluster page needs the options to configure the Ansible automation template
        1. This should use the same wizard page or steps we find in the create flow
        2. YAML editor should show the ClusterCurator CR and tower secret
        3. This is only supported for OCP clusters - user needs to be aware.
      2. The create cluster page needs to display the ClusterCurator CR and tower secret in the YAML editor
      3. Specify an inventory value to be used
        1. This should be optional (no value is backward compatible)
        2. The value should default to the cluster name, if chosen, but should be configurable
        3. 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??
        4. Requires: https://github.com/stolostron/cluster-curator-controller/pull/116/files 
      4. 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.
        1. multiselect clusters from clusters page
        2. action > modal 'Update Automation template' - this would overwrite the existing ClusterCurator
        3. Action must be blocked for *KS clusters and non-OCP clusters
      5. 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)

      1. Console work is approved
      2. This work should be completed, or at least the CRD should be committed before the Console work begins

      Previous Work (Optional):

      1. Extend curator to use inventory.
      2. Here is an example using inventory: https://github.com/stolostron/cluster-curator-controller/pull/116/files

      Open questions::

      1. Include a different inventory per ansible job per action??
      2. 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>

              sberens@redhat.com Scott Berens
              rhn-support-cstark Christian Stark
              Nelson Jean Nelson Jean
              Kevin Cormier Kevin Cormier
              James Talton James Talton
              Scott Berens Scott Berens
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: