-
Task
-
Resolution: Won't Do
-
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
- is related to
-
MGDSTRM-8441 Report capacity limits in the private admin API
- Closed
- relates to
-
MGDSTRM-8442 Inconsistent format returned for quantity limits in KafkaRequest and SupportedKafkaInstanceSize schemas
- Closed