Uploaded image for project: 'Managed Service - Streams'
  1. Managed Service - Streams
  2. MGDSTRM-8478

Group reported limits as its own object in the KafkaRequest schema

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Won't Do
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • False
    • None
    • False
    • No
    • ---
    • ---

      WHAT

      Refactor the KafkaRequest schema so that reported limits in relation to the instance's size is encapsulated in its own object/namespace.

      The KafkaRequest schema is used for GET, LIST, POST and PATCH /kafkas endpoints. Refactoring this schema will change all of the responses from all of these endpoints.

      Expected Response from LIST /kafkas:

      {
          "kind": "KafkaRequestList",
          "page": 1,
          "size": 1,
          "total": 1,
          "items": [
              {
                  "id": "c9t4g5f170hn5c3f58ug",
                  ...
                  "instance_type": "standard",
                  "instance_type_name": "Standard",
                  "size": {
                      "size_id": "x1",
                      "kafka_storage_size": "1000Gi",
                      "ingress_throughput_per_sec": "50Mi",
                      "egress_throughput_per_sec": "100Mi",
                      "total_max_connections": 3000,
                      "max_partitions": 1500,
                      "max_data_retention_period": "P14D",
                      "max_connection_attempts_per_sec": 100,
                      "max_message_size": "1Mi",
                      "min_in_sync_replicas": 2,
                      "replication_factor": 3
                  },
              }
          ]
      }
      

      Please note that there are a few changes on the format of some of the reported limits. Instead of a string, they will return bytes (see MGDSTRM-8442). This can be done together or separate. Keep in mind that if it is done separate, a few conflicts may arise during development.

      WHY

      The UI needs to know the limits of the created instance to populate the drawer with the details about the instance. The relevant UI bit is visible on Storybook at the link https://redhat-developer.github.io/app-services-ui-components/?path=/story/kafka-kafka-instance-drawer-kafka-details-tab--standard-instance-created

      HOW

      • Refactor KafkaRequest schema in the kas-fleet-manager openapi spec according to the expected response shown above. Ensure to run make openapi/generate after.
      • Update the PresentKafkaRequest presenter according to the new changes in the schema.
      • Unit/integration tests updated/added

      DONE

      • Response from GET, LIST, POST and PATCH of /kafkas endpoints should comply with the new schema changes as stated above.
      • Unit/integration tests passing

      Guidelines

      The following steps should be adhered to:

      • Required tests should be put in place - unit, integration, manual test cases (if necessary)
      • CI and all relevant tests passing
      • Changes have been verified by one additional reviewer against:
      • each required environment
      • each supported upgrade path
      • If the changes could have an impact on the clients (either UI or CLI), a JIRA should be created for making the required changes on the client side and acknowledged by one of the client side team members. PR has been merged
         

              Unassigned Unassigned
              jbriones@redhat.com Jameel Briones
              MK - Control Plane
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: