Uploaded image for project: 'OCMUI - OpenShift Cluster Manager UI'
  1. OCMUI - OpenShift Cluster Manager UI
  2. OCMUI-3548

refactor: DRY / SOC cluster-version utility functions

    • Icon: Task Task
    • Resolution: Can't Do
    • Icon: Undefined Undefined
    • None
    • None
    • Core UI
    • Future Sustainability
    • 2
    • False
    • Hide

      None

      Show
      None
    • False
    • OCMUI Core Sprint 273, OCMUI Core Sprint 274

      description

      refactor to eliminate duplication, and for separation of concerns.

      • move utility functions outside a module dedicated for constants
      • rename those functions semantically
      • update impl' of a cluster-version resolution function to reuse existing lower-level utility

      regression test plan

      as there might be risk involved to functionality, the affected areas should be verified during the next available regression test cycle.

      note this list is organized by source-code module, not by test-flow, and that cases were mapped by code-branching, and not by user-scenarios - so there might be some duplicate flows.

      src/components/clusters/wizards/common/ClusterSettings/MachinePool/ImdsSectionField/ImdsSectionField.tsx & src/components/clusters/wizards/rosa/MachinePoolScreen/components/ScaleSection.jsx

      possible affected functionality

      the IMDS select field 'disabled' state.

      affected areas

      • OSD wizard's cluster-settings/machine-pool section, in CCS mode, with AWS provider and BYOC selected
      • ROSA wizard's cluster-settings/machine-pool section, when HCP is not selected (i.e. in "classic" mode)

      desired outcomes

      when cluster version is less than 4.11, field should be disabled, showing an alert with the message:

      In order to use the IMDS settings, a cluster version of at least 4.11 must be selected in the previous step.

      otherwise, it should be enabled.

      src/components/clusters/wizards/common/submitOSDRequest.js

      possible affected functionality

      the existence of "application ingress" and "private service connect" data in the wizard submit request payload.

      affected areas

      wizard for ROSA, GCP and AWS OSD with BYOC.

      desired outcomes

      managed ingress

      applicable for when "application ingress" data is entered, and its type is "custom".

      upon submit, when cluster version is greater than or equals 4.14, the cluster BE request payload should contain the field ingresses.

      if the version is less than 4.14, the payload won't have that field.

      private service connect

      applicable for when "install to existing VPC" is checked, "private service connect" is checked, and a private-service-connect subnet is selected.

      upon submit, when cluster version is greater than or equals 4.17, the cluster BE request payload should contain the field service_attachment_subnet.

      if the version is less than 4.17, the payload won't have that field.

      src/components/clusters/wizards/osd/ClusterSettings/Details/Details.tsx

      possible affected functionality

      the initial "checked" state of the wizard's "private service connect" and "install to VPC" fields.

      affected areas

      OSD wizard cluster-settings/details section.

      desired outcomes

      when "cluster privacy" is set to "internal", and cluster version is greater than or equals 4.17, the "private service connect" and "install to VPC" fields should be checked by default.

      if cluster version is less than 4.17, the "private service connect" field will be unchecked.

      src/components/clusters/wizards/osd/Networking/Configuration.tsx

      possible affected functionality

      • different text content
      • checkbox fields' interdependent state

      affected areas

      • the OSD wizard's networking/configuration section, under "Application ingress settings", when BYOC is selected
      • the fields' "install to VPC" and "private service connect" initial checked state

      desired outcomes

      managed ingress

      when cluster version is greater or equals 4.14, the text "Ingress is configured by default" should be followed with the text "Customize settings if needed".

      if the version is less than 4.14, that text will be followed with "It can be customized for 4.14 clusters or newer".

      private service connect

      applicable for both OSD and OSD-trial, when "GCP" provider is selected, and the "private service connect" feature-gate is ON.

      when cluster version is greater than or equals 4.17:

      • when "private cluster" is selected, "private service connect" should be shown
      • when WIF auth is available, and the cluster is private, the fields "install to VPC" and "private service connect" should be checked by default
      • when machine-pool subnets have been selected, whenever "cluster privacy" selection changes, the fields "install to VPC" and "private service connect" should be updated to "checked" state
      • when "private cluster" is selected, whenever "install to VPC" checked state changes (by a user), "private service connect" should be updated to the same state

      if the version is less than 4.17:

      • even when "private cluster" is selected, "private service connect" should not be shown
      • even when WIF auth is available and the cluster is private, the fields "install to VPC" and "private service connect" should not be checked by default
      • when machine-pool subnets have been selected, whenever "cluster privacy" selection changes, the fields "install to VPC" and "private service connect" should not be updated
      • even when "private cluster" is selected, whenever "install to VPC" checked state changes (by a user), "private service connect" should not be updated

      src/components/clusters/wizards/osd/ReviewAndCreate/ReviewAndCreateContent.tsx

      possible affected functionality

      the IMDS select field chosen value.

      affected areas

      OSD wizard's "review & create" step, when AWS provider and BYOC is selected.

      desired outcomes

      when cluster version is greater than or equals 4.11, the field value should be shown.

      otherwise, it shouldn't.

      src/components/clusters/wizards/rosa/NetworkScreen/NetworkScreen.jsx

      possible affected functionality

      different text content.

      affected areas

      the ROSA wizard's networking/configuration section, under "Application ingress settings", when HCP is not selected (i.e. "classic" mode)

      desired outcomes

      when cluster version is greater or equals 4.14, the text "Ingress is configured by default" should be followed with the text "Customize settings if needed".

      if the version is less than 4.14, that text will be followed with "It can be customized for 4.14 clusters or newer".

      src/components/clusters/wizards/rosa/ReviewClusterScreen/ReviewClusterScreen.jsx

      possible affected functionality

      the IMDS select field chosen value.

      affected areas

      ROSA wizard's "review & create" step, when HCP is not selected (i.e. "classic" mode).

      desired outcomes

      when cluster version is greater than or equals 4.11, the field value should be shown.

      otherwise, it shouldn't.

              emalka@redhat.com Lyn M
              emalka@redhat.com Lyn M
              LAKSHMI SHIVANTHI AMARACHINTHA LAKSHMI SHIVANTHI AMARACHINTHA
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: