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

ROSA HCP: UI for Support AWS Tags on Machine Pool

    • ROSA HCP: UI for Support AWS Tags on Machine Pool
    • False
    • False
    • In Progress
    • ROSA-233 - ROSA HCP: Day 2 Configuration of AWS Tags
    • 0% To Do, 0% In Progress, 100% Done

      Description

      Users can add, edit, and remove AWS tags for both new and existing machine pools (aka node pools) on existing AWS HCP clusters.

       

      Users can add AWS tags to new machine pools (aka node pools) on existing AWS HCP clusters.

      Acceptance criteria

      • Users can view all user-entered AWS tags (aka tags returned by the OCM API) for each machine pool when viewing a list machine pools for an existing AWS HCP cluster.
      • Users can add, edit, and delete AWS tags for both new and existing machine pools for an existing HCP AWS HCP cluster.
      • Users can add AWS tags  to new machine pools for an existing HCP AWS HCP cluster.
      • When adding AWS tags, the user must enter a key value and may enter a value (but is not required to do so).
      • A machine pool may have up to 25 17 AWS tags. Once there are 25 17 AWS tags, the user will not be allowed to create another.
      • When entering/editing a AWS tag, an error will be showing if the following validation is not met:
        • Each machine pools, the AWS tag key must be unique
        • The AWS tag key cannot begin with "aws"
        • The AWS tag key must between 1 and 128 characters
        • The AWS tag value must be between 0 and 256 characters
        • Allowed characters for both AWS tag key and value are:
          • Letters
          • Numbers
          • Spaces
          • Any of these special characters:  _ . : / = + - @

      Mockups/Design

      Mock-up document

      Out of scope

      The addition of AWS tags when creating an AWS HCP cluster.

      The scope of this work is to add, edit, and display AWS labels for HCP clusters.  In addition, this work also contains re-arranging the add/edit modal to use sub-tabs.

      Other changes including functionality and visibility of other fields (except for location) in both the wizard and the add/edit modal are out of scope.  Existing behaviors, visibility rules, help text, and validation will remain unchanged.

      Testing implications

      The recommended design will change the add/edit modal which will impact all clusters that allow the users to add/edit machine pools (ROSA classic, OSD, etc), so testing all of these cluster types will be required.

      ----------------------------------------------------------------------------------------------------------------------

      More information needed

      Is there a reason we are excluding the addition of AWS tags when creating a HCP cluster?  The API allows this and adding labels will be implemented shortly with: OCMUI-864 Hypershfit ROSA Wizard Enable labels

      Adding AWS labels at cluster creation time is supported by the API.

      Do we want to include refactoring the add/edit machine pool modal as part of or as a prerequisite to this epic?

      Implementation notes

      The ability to view/add/edit AWS tags for a node pool is available in the node pool API (GET, POST, PATCH), for example: GET /api/clusters_mgmt/v1/clusters/{cluster_id}/node_pools

      With the following structure:

      • items > aws_node_pool > tags

       

      --------------------------------------------------------------
      --------------------------------------------------------------
      --------------------------------------------------------------

      ORIGINAL description:

      Feature Overview (aka. Goal Summary)  

      An elevator pitch (value statement) that describes the Feature in a clear, concise way.  Complete during New status.

      Provide customers the ability in OCM UI to to add AWS Tags to resources created with Machine Pool. 

      Goals (aka. expected user outcomes)

      The observable functionality that the user now has as a result of receiving this feature. Complete during New status.

      1. Allow customers to manage their cloud resources using custom-tags

      Requirements (aka. Acceptance Criteria):

      A list of specific needs or objectives that a feature must deliver in order to be considered complete.  Be sure to include nonfunctional requirements such as security, reliability, performance, maintainability, scalability, usability, etc.  Initial completion during Refinement status.

      1. Add AWS Tags when creating Machine Pool in an existing HCP cluster
      2. View set AWS Tags when displaying the Machine Pool
      3. Message(s) surfaced when the Create Machine Pool fails 
      4. Support for OCM UI 
      5. User supplied Tag keys and values are case sensitive.
      6. Backend validations in place: 
        • Allow up to 25 Tags per Machine pool 
        • For each resource, each tag key must be unique, and each tag key can have only one value.
        • Tag do not begin with aws: which is reserved for AWS's usage
        • The tag key must be a minimum of 1 and a maximum of 128 Unicode characters in UTF-8.
        • The tag value must be a minimum of 0 and a maximum of 256 Unicode characters in UTF-8.
        • allowed characters are letters, numbers, spaces representable in UTF-8, and the following characters: _ . : / = + - @

      Use Cases (Optional):

      Include use case diagrams, main success scenarios, alternative flow scenarios.  Initial completion during Refinement status.

      1. HyperShift support: https://hypershift-docs.netlify.app/reference/api/#hypershift.openshift.io/v1beta1.AWSResourceTag 

      Questions to Answer (Optional):

      Include a list of refinement / architectural questions that may need to be answered before coding can begin.  Initial completion during Refinement status.

       

      Out of Scope

      High-level list of items that are out of scope.  Initial completion during Refinement status.

      1. Adding, Removing, or Updating AWS Tags on existing Machine Pools.

      Background

      Provide any additional context is needed to frame the feature.  Initial completion during Refinement status.

       

      Customer Considerations

      Provide any additional customer-specific considerations that must be made when designing and delivering the Feature.  Initial completion during Refinement status.

       

      Documentation Considerations

      Provide information that needs to be considered and planned so that documentation will meet customer needs.  Initial completion during Refinement status.

      1. Create Machine pool page must be updated
      2. It must be called out in the Note that updating tags on existing machine pools is not supported yet. 

      Interoperability Considerations

      Which other projects and versions in our portfolio does this feature impact?  What interoperability test scenarios should be factored by the layered products?  Initial completion during Refinement status.

              Unassigned Unassigned
              rh-ee-bchandra Balachandran Chandrasekaran
              LAKSHMI SHIVANTHI AMARACHINTHA LAKSHMI SHIVANTHI AMARACHINTHA
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: