)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32704,"name":"Alfredo Garcia","display_name":"Alfredo Garcia","email":"alfrgarc@redhat.com","username":"alfrgarc","status":"Senior Software Quality Engineer @ Red Hat"},"change_message_id":"44e32435178213a059747004135ae56fb2313825","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ce458b49_40b2d8c4","updated":"2026-06-09 13:07:55.000000000","message":"I see the vision, but I\u0027m worried about the removal of schema_versions_info in services_client.py","commit_id":"499f7d784c1fb14ce6aeb2f3f669281956136980"}],"tempest/lib/services/compute/services_client.py":[{"author":{"_account_id":32704,"name":"Alfredo Garcia","display_name":"Alfredo Garcia","email":"alfrgarc@redhat.com","username":"alfrgarc","status":"Senior Software Quality Engineer @ Red Hat"},"change_message_id":"44e32435178213a059747004135ae56fb2313825","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class ServicesClient(base_compute_client.BaseComputeClient):"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    schema_versions_info \u003d ["},{"line_number":33,"context_line":"        {\u0027min\u0027: None, \u0027max\u0027: \u00272.10\u0027, \u0027schema\u0027: schema},"},{"line_number":34,"context_line":"        {\u0027min\u0027: \u00272.11\u0027, \u0027max\u0027: \u00272.52\u0027, \u0027schema\u0027: schemav211},"},{"line_number":35,"context_line":"        {\u0027min\u0027: \u00272.53\u0027, \u0027max\u0027: None, \u0027schema\u0027: schemav253}]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def list_services(self, **params):"},{"line_number":38,"context_line":"        \"\"\"Lists all running Compute services for a tenant."}],"source_content_type":"text/x-python","patch_set":1,"id":"b087558c_de9d06f2","side":"PARENT","line":35,"range":{"start_line":32,"start_character":0,"end_line":35,"end_character":59},"updated":"2026-06-09 13:07:55.000000000","message":"schema_versions_info should not be deleted. If this is removed, Tempest won\u0027t verify that OSP is returning the right JSON. Keeping this in will stop us from missing regressions in the future","commit_id":"bda57c90dfe02de4e7206b0252701b80dde93939"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4a5c28d2d4c31f3180e677e669c2ae61509427ad","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class ServicesClient(base_compute_client.BaseComputeClient):"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    schema_versions_info \u003d ["},{"line_number":33,"context_line":"        {\u0027min\u0027: None, \u0027max\u0027: \u00272.10\u0027, \u0027schema\u0027: schema},"},{"line_number":34,"context_line":"        {\u0027min\u0027: \u00272.11\u0027, \u0027max\u0027: \u00272.52\u0027, \u0027schema\u0027: schemav211},"},{"line_number":35,"context_line":"        {\u0027min\u0027: \u00272.53\u0027, \u0027max\u0027: None, \u0027schema\u0027: schemav253}]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def list_services(self, **params):"},{"line_number":38,"context_line":"        \"\"\"Lists all running Compute services for a tenant."}],"source_content_type":"text/x-python","patch_set":1,"id":"107a6b8c_e14ee7d4","side":"PARENT","line":35,"range":{"start_line":32,"start_character":0,"end_line":35,"end_character":59},"in_reply_to":"89e31077_f0fcee90","updated":"2026-06-09 14:07:14.000000000","message":"I updated the commit message to reflect this.","commit_id":"bda57c90dfe02de4e7206b0252701b80dde93939"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"589908c11f3d89598b34f06213ac52f29b008eeb","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class ServicesClient(base_compute_client.BaseComputeClient):"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    schema_versions_info \u003d ["},{"line_number":33,"context_line":"        {\u0027min\u0027: None, \u0027max\u0027: \u00272.10\u0027, \u0027schema\u0027: schema},"},{"line_number":34,"context_line":"        {\u0027min\u0027: \u00272.11\u0027, \u0027max\u0027: \u00272.52\u0027, \u0027schema\u0027: schemav211},"},{"line_number":35,"context_line":"        {\u0027min\u0027: \u00272.53\u0027, \u0027max\u0027: None, \u0027schema\u0027: schemav253}]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def list_services(self, **params):"},{"line_number":38,"context_line":"        \"\"\"Lists all running Compute services for a tenant."}],"source_content_type":"text/x-python","patch_set":1,"id":"89e31077_f0fcee90","side":"PARENT","line":35,"range":{"start_line":32,"start_character":0,"end_line":35,"end_character":59},"in_reply_to":"b087558c_de9d06f2","updated":"2026-06-09 14:01:36.000000000","message":"Nova now does this for you. There are response schemas for all microversions of every non-removed API. For example, here are the schemas (both request and response) for this API:\n\nhttps://opendev.org/openstack/nova/src/branch/master/nova/api/openstack/compute/schemas/services.py\n\nResponse schema validation is opt-in since it\u0027s not something you want to enable in production (validation happens after the request so it\u0027s not idempotent). However, we have it enabled by default in DevStack since Gazpacho:\n\nhttps://review.opendev.org/c/openstack/devstack/+/962853\n\nIs there a reason to duplicate this effort here?","commit_id":"bda57c90dfe02de4e7206b0252701b80dde93939"}]}
