)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"58004cdd7871c19ea78779ca09c74ade0c7ec883","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add test cases that are missing from ``types_client`` and increase the"},{"line_number":10,"context_line":"normality of the api interface."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: https://review.openstack.org/#/c/624865/"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If45b9f9b384981fea088043108577921b9ca10b2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"dfd5e7cf_e1039b0c","line":12,"updated":"2019-01-07 19:08:48.000000000","message":"Why does this need to depend on a cinder patch?\nThis just adds unit tests for the existing client code..","commit_id":"3945b5bb4b8ca5ac4d58ee7b0d17f4f238983e95"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"abdfa6c46eee490a0f79305585ee2e94576024f0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add test cases that are missing from ``types_client`` and increase the"},{"line_number":10,"context_line":"normality of the api interface."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: https://review.openstack.org/#/c/624865/"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If45b9f9b384981fea088043108577921b9ca10b2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"dfd5e7cf_7aecff28","line":12,"in_reply_to":"dfd5e7cf_1895d2e4","updated":"2019-01-09 22:10:36.000000000","message":"Ah, I see.\nNow this patch depends on the cinder patch and this patch cannot be merged before the cinder patch is merged due to the dependency.\nIf we want to merge this soon, we need to remove this line.","commit_id":"3945b5bb4b8ca5ac4d58ee7b0d17f4f238983e95"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"57c6db8d9f366ab6365e0f4c617fed8f113ccb73","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add test cases that are missing from ``types_client`` and increase the"},{"line_number":10,"context_line":"normality of the api interface."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: https://review.openstack.org/#/c/624865/"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: If45b9f9b384981fea088043108577921b9ca10b2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"dfd5e7cf_1895d2e4","line":12,"in_reply_to":"dfd5e7cf_e1039b0c","updated":"2019-01-09 06:19:33.000000000","message":"When writing the update a volume type interface test, I found that the cinder api-ref is not perfect, and submitted the patch of this cinder at a time.","commit_id":"3945b5bb4b8ca5ac4d58ee7b0d17f4f238983e95"}],"tempest/tests/lib/services/volume/v3/test_types_client.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a92c7913bbabd805064f78139a6e6d6745e68052","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from tempest.tests.lib.services import base"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class TestTypeClient(base.BaseServiceTest):"},{"line_number":19,"context_line":"    FAKE_INFO_DEFAULT_VOLUME_TYPE \u003d {"},{"line_number":20,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":21,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_e199581d","line":18,"range":{"start_line":18,"start_character":5,"end_line":18,"end_character":20},"updated":"2018-12-13 01:59:58.000000000","message":"nit: TestTypesClient","commit_id":"9fb0d2993f11df1a5b2b82c5f423a720d18dd57a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ba89454181c97031a082c60d4c9b04a2a9ba5f89","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from tempest.tests.lib.services import base"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class TestTypeClient(base.BaseServiceTest):"},{"line_number":19,"context_line":"    FAKE_INFO_DEFAULT_VOLUME_TYPE \u003d {"},{"line_number":20,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":21,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_4cbba3be","line":18,"range":{"start_line":18,"start_character":5,"end_line":18,"end_character":20},"in_reply_to":"3f79a3b5_e199581d","updated":"2018-12-13 02:50:22.000000000","message":"Done","commit_id":"9fb0d2993f11df1a5b2b82c5f423a720d18dd57a"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a92c7913bbabd805064f78139a6e6d6745e68052","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    }"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    FAKE_UPDATE_VOLUME_TYPE \u003d {"},{"line_number":65,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":66,"context_line":"            \u0027name\u0027: \u0027vol-type-001\u0027,"},{"line_number":67,"context_line":"            \u0027description\u0027: \u0027volume type 0001\u0027,"},{"line_number":68,"context_line":"            \u0027is_public\u0027: False"},{"line_number":69,"context_line":"        }"},{"line_number":70,"context_line":"    }"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    FAKE_VOLUME_TYPE_ACCESS \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_8103c412","line":69,"range":{"start_line":65,"start_character":0,"end_line":69,"end_character":9},"updated":"2018-12-13 01:59:58.000000000","message":"This is the request body info, we need response body here instead.","commit_id":"9fb0d2993f11df1a5b2b82c5f423a720d18dd57a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ba89454181c97031a082c60d4c9b04a2a9ba5f89","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    }"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    FAKE_UPDATE_VOLUME_TYPE \u003d {"},{"line_number":65,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":66,"context_line":"            \u0027name\u0027: \u0027vol-type-001\u0027,"},{"line_number":67,"context_line":"            \u0027description\u0027: \u0027volume type 0001\u0027,"},{"line_number":68,"context_line":"            \u0027is_public\u0027: False"},{"line_number":69,"context_line":"        }"},{"line_number":70,"context_line":"    }"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    FAKE_VOLUME_TYPE_ACCESS \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_6cb8dfc0","line":69,"range":{"start_line":65,"start_character":0,"end_line":69,"end_character":9},"in_reply_to":"3f79a3b5_8103c412","updated":"2018-12-13 02:50:22.000000000","message":"Done","commit_id":"9fb0d2993f11df1a5b2b82c5f423a720d18dd57a"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a92c7913bbabd805064f78139a6e6d6745e68052","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        self.check_service_client_function("},{"line_number":134,"context_line":"            self.client.create_volume_type_extra_specs,"},{"line_number":135,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":136,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":137,"context_line":"            volume_type_id\u003d\"6685584b-1eac-4da6-b5c3-555430cf68ff\","},{"line_number":138,"context_line":"            extra_specs\u003dself.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":139,"context_line":"            to_utf\u003dbytes_body)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_e1671823","line":136,"range":{"start_line":136,"start_character":17,"end_line":136,"end_character":46},"updated":"2018-12-13 01:59:58.000000000","message":"This is not correct. And there are other similar cases","commit_id":"9fb0d2993f11df1a5b2b82c5f423a720d18dd57a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ba89454181c97031a082c60d4c9b04a2a9ba5f89","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        self.check_service_client_function("},{"line_number":134,"context_line":"            self.client.create_volume_type_extra_specs,"},{"line_number":135,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":136,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":137,"context_line":"            volume_type_id\u003d\"6685584b-1eac-4da6-b5c3-555430cf68ff\","},{"line_number":138,"context_line":"            extra_specs\u003dself.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":139,"context_line":"            to_utf\u003dbytes_body)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_4c6c0334","line":136,"range":{"start_line":136,"start_character":17,"end_line":136,"end_character":46},"in_reply_to":"3f79a3b5_e1671823","updated":"2018-12-13 02:50:22.000000000","message":"Yeah, I will update *these* use cases against api-ref.","commit_id":"9fb0d2993f11df1a5b2b82c5f423a720d18dd57a"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"2421ef1d423599db88a0154c648d97710982e2ad","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    FAKE_UPDATE_VOLUME_TYPE \u003d {"},{"line_number":66,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":67,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":68,"context_line":"            \u0027qos_specs_id\u0027: None,"},{"line_number":69,"context_line":"            \u0027name\u0027: \u0027vol-type-001\u0027,"},{"line_number":70,"context_line":"            \u0027description\u0027: \u0027volume type 001\u0027,"},{"line_number":71,"context_line":"            \u0027os-volume-type-access:is_public\u0027: True,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_47129c58","line":68,"range":{"start_line":68,"start_character":12,"end_line":68,"end_character":33},"updated":"2018-12-13 03:19:26.000000000","message":"There is inconsistency in api-ref, \nhttps://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dlist-all-volume-types-detail,show-volume-type-detail-detail,list-private-volume-type-access-detail-detail,update-a-volume-type-detail#update-a-volume-type\n\nqos_specs_id is not in response fields, but is in response example, so would you please clarify it first?","commit_id":"9a4b8c11b9d5218c092fe1c6f3b0584b35f18b24"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"70df3079f82a0a1b511f58d4bd55f5cb6155333a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    FAKE_UPDATE_VOLUME_TYPE \u003d {"},{"line_number":66,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":67,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":68,"context_line":"            \u0027qos_specs_id\u0027: None,"},{"line_number":69,"context_line":"            \u0027name\u0027: \u0027vol-type-001\u0027,"},{"line_number":70,"context_line":"            \u0027description\u0027: \u0027volume type 001\u0027,"},{"line_number":71,"context_line":"            \u0027os-volume-type-access:is_public\u0027: True,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_927eb0bf","line":68,"range":{"start_line":68,"start_character":12,"end_line":68,"end_character":33},"in_reply_to":"3f79a3b5_47129c58","updated":"2018-12-13 06:59:48.000000000","message":"Hi zhufl, with the update a volume type interface, I find the \u0027qos_specs_id\u0027 and \u0027os-volume-type-access:is_public\u0027 are all not in the response parameters, updated the cinder API\u0027s response parameters list by reading the code and debugging with devstack [1].\n\n[1]https://review.openstack.org/#/c/624865/","commit_id":"9a4b8c11b9d5218c092fe1c6f3b0584b35f18b24"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5dd8b80229ac9bbe3b715b441c8b65b4f303c241","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    FAKE_UPDATE_VOLUME_TYPE \u003d {"},{"line_number":66,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":67,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":68,"context_line":"            \u0027qos_specs_id\u0027: None,"},{"line_number":69,"context_line":"            \u0027name\u0027: \u0027vol-type-001\u0027,"},{"line_number":70,"context_line":"            \u0027description\u0027: \u0027volume type 001\u0027,"},{"line_number":71,"context_line":"            \u0027os-volume-type-access:is_public\u0027: True,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_07fb44c5","line":68,"range":{"start_line":68,"start_character":12,"end_line":68,"end_character":33},"in_reply_to":"3f79a3b5_47129c58","updated":"2018-12-13 03:42:01.000000000","message":"Ok, I will investigate the return parameters of the cinder interface, and then modify the api-ref of the cinder.","commit_id":"9a4b8c11b9d5218c092fe1c6f3b0584b35f18b24"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"1eec4e017677ff2accbe2ba6cf96ffa728d6e317","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    FAKE_UPDATE_VOLUME_TYPE \u003d {"},{"line_number":66,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":67,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":68,"context_line":"            \u0027qos_specs_id\u0027: None,"},{"line_number":69,"context_line":"            \u0027name\u0027: \u0027vol-type-001\u0027,"},{"line_number":70,"context_line":"            \u0027description\u0027: \u0027volume type 001\u0027,"},{"line_number":71,"context_line":"            \u0027os-volume-type-access:is_public\u0027: True,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_0df5a520","line":68,"range":{"start_line":68,"start_character":12,"end_line":68,"end_character":33},"in_reply_to":"3f79a3b5_927eb0bf","updated":"2018-12-13 07:20:28.000000000","message":"Thanks for your work, let\u0027s wait for it to be merged:)","commit_id":"9a4b8c11b9d5218c092fe1c6f3b0584b35f18b24"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"2421ef1d423599db88a0154c648d97710982e2ad","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        self.check_service_client_function("},{"line_number":124,"context_line":"            self.client.list_volume_types_extra_specs,"},{"line_number":125,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":126,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":127,"context_line":"            to_utf\u003dbytes_body,"},{"line_number":128,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027)"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_e703a80a","line":126,"range":{"start_line":126,"start_character":17,"end_line":126,"end_character":45},"updated":"2018-12-13 03:19:26.000000000","message":"This is not correct, shoule be something like \n{\n    \"extra_specs\": {\n        \"key1\": \"value1\",\n        \"key2\": \"value2\"\n    }\n}","commit_id":"9a4b8c11b9d5218c092fe1c6f3b0584b35f18b24"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"5dd8b80229ac9bbe3b715b441c8b65b4f303c241","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        self.check_service_client_function("},{"line_number":124,"context_line":"            self.client.list_volume_types_extra_specs,"},{"line_number":125,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":126,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":127,"context_line":"            to_utf\u003dbytes_body,"},{"line_number":128,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027)"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_2700c0b0","line":126,"range":{"start_line":126,"start_character":17,"end_line":126,"end_character":45},"in_reply_to":"3f79a3b5_e703a80a","updated":"2018-12-13 03:42:01.000000000","message":"Done","commit_id":"9a4b8c11b9d5218c092fe1c6f3b0584b35f18b24"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e7efca60915676ed39112aa3769397815d472197","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        self.check_service_client_function("},{"line_number":112,"context_line":"            self.client.create_volume_type,"},{"line_number":113,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":114,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":115,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def _test_delete_volume_type(self, bytes_body\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_42190ed1","line":114,"range":{"start_line":114,"start_character":17,"end_line":114,"end_character":46},"updated":"2018-12-14 09:09:57.000000000","message":"qos_specs_id is not in the response body of create_volume_type in api-ref, so would you please check it?","commit_id":"9dc8584776dd5f60aa8fa41d144dc3af7c10cac7"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"97e7848b0f938a5f48b8e76f897392ac64f0adb7","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        self.check_service_client_function("},{"line_number":134,"context_line":"            self.client.show_volume_type_extra_specs,"},{"line_number":135,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":136,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":137,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":138,"context_line":"            extra_specs_name\u003d\u0027key1\u0027,"},{"line_number":139,"context_line":"            to_utf\u003dbytes_body)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_94b192e5","line":136,"range":{"start_line":136,"start_character":17,"end_line":136,"end_character":45},"updated":"2018-12-14 23:57:36.000000000","message":"This should be formatted like:\n\n{\n    \"capabilities\": \"gpu\"\n}\n\nas well.","commit_id":"9dc8584776dd5f60aa8fa41d144dc3af7c10cac7"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b54aa8dc39ec4d35fa2322634b99312ef5b259f4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        self.check_service_client_function("},{"line_number":134,"context_line":"            self.client.show_volume_type_extra_specs,"},{"line_number":135,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":136,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":137,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":138,"context_line":"            extra_specs_name\u003d\u0027key1\u0027,"},{"line_number":139,"context_line":"            to_utf\u003dbytes_body)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_82fe34b2","line":136,"range":{"start_line":136,"start_character":17,"end_line":136,"end_character":45},"in_reply_to":"3f79a3b5_94b192e5","updated":"2018-12-15 06:59:10.000000000","message":"Done","commit_id":"9dc8584776dd5f60aa8fa41d144dc3af7c10cac7"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"422bb5c1d76af686517d1153e70e8750502dcbaf","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        self.check_service_client_function("},{"line_number":168,"context_line":"            self.client.update_volume_type_extra_specs,"},{"line_number":169,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.put\u0027,"},{"line_number":170,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":171,"context_line":"            extra_spec_name\u003d\u0027volume_backend_name\u0027,"},{"line_number":172,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":173,"context_line":"            extra_specs\u003d{\u0027key1\u0027: \u0027value\u0027},"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_bfb7db87","line":170,"range":{"start_line":170,"start_character":17,"end_line":170,"end_character":45},"updated":"2018-12-14 08:20:58.000000000","message":"The response body of update_volume_type_extra_specs should be something like \n{\n    \"key1\": \"value1\"\n}","commit_id":"9dc8584776dd5f60aa8fa41d144dc3af7c10cac7"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b54aa8dc39ec4d35fa2322634b99312ef5b259f4","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        self.check_service_client_function("},{"line_number":168,"context_line":"            self.client.update_volume_type_extra_specs,"},{"line_number":169,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.put\u0027,"},{"line_number":170,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":171,"context_line":"            extra_spec_name\u003d\u0027volume_backend_name\u0027,"},{"line_number":172,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":173,"context_line":"            extra_specs\u003d{\u0027key1\u0027: \u0027value\u0027},"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_2205e0c0","line":170,"range":{"start_line":170,"start_character":17,"end_line":170,"end_character":45},"in_reply_to":"3f79a3b5_bfb7db87","updated":"2018-12-15 06:59:10.000000000","message":"Thanks zhufl, change *this* to\n{\n    \"capabilities\": \"gpu\"\n}","commit_id":"9dc8584776dd5f60aa8fa41d144dc3af7c10cac7"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"e7efca60915676ed39112aa3769397815d472197","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        self.check_service_client_function("},{"line_number":192,"context_line":"            self.client.list_type_access,"},{"line_number":193,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":194,"context_line":"            self.FAKE_VOLUME_TYPE_ACCESS,"},{"line_number":195,"context_line":"            volume_type_id\u003d\u00273c67e124-39ad-4ace-a507-8bb7bf510c26\u0027,"},{"line_number":196,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_a2fca274","line":194,"range":{"start_line":194,"start_character":17,"end_line":194,"end_character":40},"updated":"2018-12-14 09:09:57.000000000","message":"The response body of list_type_access should be an array, and there is inconsistency in api-ref, https://review.openstack.org/#/c/625186/ tries to fix it.","commit_id":"9dc8584776dd5f60aa8fa41d144dc3af7c10cac7"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c328382f3d5728bcc6bf571dc7785b8c6815bf44","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            self.client.create_volume_type,"},{"line_number":110,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":111,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":112,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def _test_delete_volume_type(self, bytes_body\u003dFalse):"},{"line_number":115,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_e13fc6db","line":112,"updated":"2018-12-18 03:42:01.000000000","message":"This requires a name kwarg because `name` is required to create a volume type.","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0fb9e3ba5e773eacd114857db524915f9ec9cc25","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            self.client.create_volume_type,"},{"line_number":110,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":111,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":112,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def _test_delete_volume_type(self, bytes_body\u003dFalse):"},{"line_number":115,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_8aa60d0e","line":112,"in_reply_to":"3f79a3b5_e13fc6db","updated":"2018-12-19 06:40:55.000000000","message":"Done","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c328382f3d5728bcc6bf571dc7785b8c6815bf44","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":112,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def _test_delete_volume_type(self, bytes_body\u003dFalse):"},{"line_number":115,"context_line":"        self.check_service_client_function("},{"line_number":116,"context_line":"            self.client.delete_volume_type,"},{"line_number":117,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.delete\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_41255abf","line":114,"range":{"start_line":114,"start_character":39,"end_line":114,"end_character":49},"updated":"2018-12-18 03:42:01.000000000","message":"Since this response body is empty there\u0027s no need to test with bytes_body\u003dTrue, so this helper here can be converted to a test and be used directly. This is the convention for all delete service client unit tests that return an empty response body","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0fb9e3ba5e773eacd114857db524915f9ec9cc25","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":112,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def _test_delete_volume_type(self, bytes_body\u003dFalse):"},{"line_number":115,"context_line":"        self.check_service_client_function("},{"line_number":116,"context_line":"            self.client.delete_volume_type,"},{"line_number":117,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.delete\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_6aa931d9","line":114,"range":{"start_line":114,"start_character":39,"end_line":114,"end_character":49},"in_reply_to":"3f79a3b5_41255abf","updated":"2018-12-19 06:40:55.000000000","message":"Done","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c328382f3d5728bcc6bf571dc7785b8c6815bf44","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        self.check_service_client_function("},{"line_number":123,"context_line":"            self.client.list_volume_types_extra_specs,"},{"line_number":124,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":125,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":126,"context_line":"            to_utf\u003dbytes_body,"},{"line_number":127,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027)"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_c1316a0b","line":125,"range":{"start_line":125,"start_character":12,"end_line":125,"end_character":45},"updated":"2018-12-18 03:42:01.000000000","message":"This should be:\n\n    {\"extra_specs\": self.FAKE_VOLUME_TYPE_EXTRA_SPECS}","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0fb9e3ba5e773eacd114857db524915f9ec9cc25","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        self.check_service_client_function("},{"line_number":123,"context_line":"            self.client.list_volume_types_extra_specs,"},{"line_number":124,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":125,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":126,"context_line":"            to_utf\u003dbytes_body,"},{"line_number":127,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027)"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_ca71659b","line":125,"range":{"start_line":125,"start_character":12,"end_line":125,"end_character":45},"in_reply_to":"3f79a3b5_c1316a0b","updated":"2018-12-19 06:40:55.000000000","message":"Done","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c328382f3d5728bcc6bf571dc7785b8c6815bf44","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            extra_specs\u003dself.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":145,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def _test_delete_volume_type_extra_specs(self, bytes_body\u003dFalse):"},{"line_number":148,"context_line":"        self.check_service_client_function("},{"line_number":149,"context_line":"            self.client.delete_volume_type_extra_specs,"},{"line_number":150,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.delete\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_a116ae5a","line":147,"range":{"start_line":147,"start_character":51,"end_line":147,"end_character":61},"updated":"2018-12-18 03:42:01.000000000","message":"Since this response body is empty there\u0027s no need to test with bytes_body\u003dTrue, so this helper here can be converted to a test and be used directly. This is the convention for all delete service client unit tests that return an empty response body","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0fb9e3ba5e773eacd114857db524915f9ec9cc25","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            extra_specs\u003dself.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":145,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def _test_delete_volume_type_extra_specs(self, bytes_body\u003dFalse):"},{"line_number":148,"context_line":"        self.check_service_client_function("},{"line_number":149,"context_line":"            self.client.delete_volume_type_extra_specs,"},{"line_number":150,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.delete\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_aa8c2981","line":147,"range":{"start_line":147,"start_character":51,"end_line":147,"end_character":61},"in_reply_to":"3f79a3b5_a116ae5a","updated":"2018-12-19 06:40:55.000000000","message":"Done","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c328382f3d5728bcc6bf571dc7785b8c6815bf44","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.put\u0027,"},{"line_number":159,"context_line":"            self.FAKE_UPDATE_VOLUME_TYPE,"},{"line_number":160,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":161,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def _test_update_volume_type_extra_specs(self, bytes_body\u003dFalse):"},{"line_number":164,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_41feba07","line":161,"updated":"2018-12-18 03:42:01.000000000","message":"This requires passing in a field name or something to update, say, the name.","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0fb9e3ba5e773eacd114857db524915f9ec9cc25","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.put\u0027,"},{"line_number":159,"context_line":"            self.FAKE_UPDATE_VOLUME_TYPE,"},{"line_number":160,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":161,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    def _test_update_volume_type_extra_specs(self, bytes_body\u003dFalse):"},{"line_number":164,"context_line":"        self.check_service_client_function("}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_eaeb010d","line":161,"in_reply_to":"3f79a3b5_41feba07","updated":"2018-12-19 06:40:55.000000000","message":"Done","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c328382f3d5728bcc6bf571dc7785b8c6815bf44","unresolved":false,"context_lines":[{"line_number":167,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":168,"context_line":"            extra_spec_name\u003d\u0027capabilities\u0027,"},{"line_number":169,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":170,"context_line":"            extra_specs\u003d{\u0027capabilities\u0027: \u0027gpu\u0027},"},{"line_number":171,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def _test_add_type_access(self, bytes_body\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_61f9761b","line":170,"range":{"start_line":170,"start_character":23,"end_line":170,"end_character":47},"updated":"2018-12-18 03:42:01.000000000","message":"You can use FAKE_VOLUME_TYPE_EXTRA_SPECS here.","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0fb9e3ba5e773eacd114857db524915f9ec9cc25","unresolved":false,"context_lines":[{"line_number":167,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":168,"context_line":"            extra_spec_name\u003d\u0027capabilities\u0027,"},{"line_number":169,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":170,"context_line":"            extra_specs\u003d{\u0027capabilities\u0027: \u0027gpu\u0027},"},{"line_number":171,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def _test_add_type_access(self, bytes_body\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_4ab31537","line":170,"range":{"start_line":170,"start_character":23,"end_line":170,"end_character":47},"in_reply_to":"3f79a3b5_61f9761b","updated":"2018-12-19 06:40:55.000000000","message":"Done","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c328382f3d5728bcc6bf571dc7785b8c6815bf44","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            {}, to_utf\u003dbytes_body, status\u003d202,"},{"line_number":178,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def _test_remove_type_access(self, bytes_body\u003dFalse):"},{"line_number":181,"context_line":"        self.check_service_client_function("},{"line_number":182,"context_line":"            self.client.remove_type_access,"},{"line_number":183,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_0cf6b92d","line":180,"range":{"start_line":180,"start_character":39,"end_line":180,"end_character":49},"updated":"2018-12-18 03:42:01.000000000","message":"See above.","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"0fb9e3ba5e773eacd114857db524915f9ec9cc25","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            {}, to_utf\u003dbytes_body, status\u003d202,"},{"line_number":178,"context_line":"            volume_type_id\u003d\u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    def _test_remove_type_access(self, bytes_body\u003dFalse):"},{"line_number":181,"context_line":"        self.check_service_client_function("},{"line_number":182,"context_line":"            self.client.remove_type_access,"},{"line_number":183,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_0a2f5d57","line":180,"range":{"start_line":180,"start_character":39,"end_line":180,"end_character":49},"in_reply_to":"3f79a3b5_0cf6b92d","updated":"2018-12-19 06:40:55.000000000","message":"Done","commit_id":"fe82caf4c3a8086d829874d9f21f6560a388722e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"b9ecd60e5c2f7eb30fa6811c6ae6ad7a817e5383","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.check_service_client_function("},{"line_number":109,"context_line":"            self.client.create_volume_type,"},{"line_number":110,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":111,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":112,"context_line":"            to_utf\u003dbytes_body,"},{"line_number":113,"context_line":"            name\u003d\u0027volume-type-test\u0027)"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_254a8a59","line":111,"range":{"start_line":111,"start_character":12,"end_line":111,"end_character":46},"updated":"2018-12-19 07:18:34.000000000","message":"qos_specs_id is not in the response body of create_volume_type in api-ref, so would you please check it?","commit_id":"26e44b664f66d0823c9a8bef55d0db92a88466f9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"4f0ae0d6bce4de35e1d2c3eeef7bc16dca7222dd","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.check_service_client_function("},{"line_number":109,"context_line":"            self.client.create_volume_type,"},{"line_number":110,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":111,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":112,"context_line":"            to_utf\u003dbytes_body,"},{"line_number":113,"context_line":"            name\u003d\u0027volume-type-test\u0027)"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_9075da36","line":111,"range":{"start_line":111,"start_character":12,"end_line":111,"end_character":46},"in_reply_to":"3f79a3b5_254a8a59","updated":"2018-12-19 08:50:44.000000000","message":"Sorry, I have ignored the latest cinder api update.","commit_id":"26e44b664f66d0823c9a8bef55d0db92a88466f9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"b9ecd60e5c2f7eb30fa6811c6ae6ad7a817e5383","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":143,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":144,"context_line":"            volume_type_id\u003d\"6685584b-1eac-4da6-b5c3-555430cf68ff\","},{"line_number":145,"context_line":"            extra_specs\u003dself.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":146,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def _test_delete_volume_type_extra_specs(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_25fcca09","line":145,"range":{"start_line":145,"start_character":24,"end_line":145,"end_character":57},"updated":"2018-12-19 07:18:34.000000000","message":"this should be something like \n{\n    \"extra_specs\": {\n        \"key1\": \"value1\",\n        \"key2\": \"value2\"\n    }\n}","commit_id":"26e44b664f66d0823c9a8bef55d0db92a88466f9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"4f0ae0d6bce4de35e1d2c3eeef7bc16dca7222dd","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":143,"context_line":"            self.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":144,"context_line":"            volume_type_id\u003d\"6685584b-1eac-4da6-b5c3-555430cf68ff\","},{"line_number":145,"context_line":"            extra_specs\u003dself.FAKE_VOLUME_TYPE_EXTRA_SPECS,"},{"line_number":146,"context_line":"            to_utf\u003dbytes_body)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def _test_delete_volume_type_extra_specs(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_b072564a","line":145,"range":{"start_line":145,"start_character":24,"end_line":145,"end_character":57},"in_reply_to":"3f79a3b5_25fcca09","updated":"2018-12-19 08:50:44.000000000","message":"Done","commit_id":"26e44b664f66d0823c9a8bef55d0db92a88466f9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8845d0c387b70454d1f242d0fb4b9d2ca10d2321","unresolved":false,"context_lines":[{"line_number":18,"context_line":"class TestTypesClient(base.BaseServiceTest):"},{"line_number":19,"context_line":"    FAKE_CREATE_VOLUME_TYPE \u003d {"},{"line_number":20,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":21,"context_line":"            \u0027name\u0027: \u0027vol-type-001\u0027,"},{"line_number":22,"context_line":"            \u0027description\u0027: \u0027volume type 0001\u0027,"},{"line_number":23,"context_line":"            \u0027os-volume-type-access:is_public\u0027: True,"},{"line_number":24,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":25,"context_line":"                \u0027volume_backend_name\u0027: \u0027rbd\u0027"},{"line_number":26,"context_line":"            }"},{"line_number":27,"context_line":"        }"},{"line_number":28,"context_line":"    }"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3f79a3b5_8b192f25","line":26,"range":{"start_line":21,"start_character":0,"end_line":26,"end_character":13},"updated":"2018-12-19 09:34:13.000000000","message":"https://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dlist-private-volume-type-access-detail-detail,create-a-volume-type-detail#create-a-volume-type\n\nis_public is mandantary field.","commit_id":"30ea4f21b41f1cd0348cb012ab1c6871ab57aebe"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"8845d0c387b70454d1f242d0fb4b9d2ca10d2321","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    FAKE_DEFAULT_VOLUME_TYPE_INFO \u003d {"},{"line_number":31,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":32,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":33,"context_line":"            \u0027qos_specs_id\u0027: None,"},{"line_number":34,"context_line":"            \u0027name\u0027: \u0027volume-type-test\u0027,"},{"line_number":35,"context_line":"            \u0027description\u0027: \u0027default volume type\u0027,"},{"line_number":36,"context_line":"            \u0027is_public\u0027: True,"},{"line_number":37,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":38,"context_line":"                \u0027volume_backend_name\u0027: \u0027rbd\u0027"},{"line_number":39,"context_line":"            }"},{"line_number":40,"context_line":"        }"},{"line_number":41,"context_line":"    }"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"3f79a3b5_cbd0872c","line":39,"range":{"start_line":32,"start_character":0,"end_line":39,"end_character":13},"updated":"2018-12-19 09:34:13.000000000","message":"https://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dlist-private-volume-type-access-detail-detail,show-volume-type-detail-detail#show-volume-type-detail\n\nis-volume-type-access:is_public is mandantary field.","commit_id":"30ea4f21b41f1cd0348cb012ab1c6871ab57aebe"}],"tempest/tests/lib/services/volume/v3/test_volume_types_client.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f2fd689edb5ab60e3a6c96204886bca6abeb9849","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3f79a3b5_319a57c3","updated":"2018-12-12 06:48:53.000000000","message":"I feel this file/module name should be `test_types_client.py` align to the target module?","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bdcd548bad5fb3534361f7e12251b30969ec6943","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3f79a3b5_949b1977","in_reply_to":"3f79a3b5_319a57c3","updated":"2018-12-12 08:10:50.000000000","message":"Done","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f2fd689edb5ab60e3a6c96204886bca6abeb9849","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from tempest.tests.lib.services import base"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class TestVolumesTypeClient(base.BaseServiceTest):"},{"line_number":19,"context_line":"    FAKE_INFO_DEFAULT_VOLUME_TYPE \u003d {"},{"line_number":20,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":21,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_519fd3b1","line":18,"updated":"2018-12-12 06:48:53.000000000","message":"Same here. I feel \u0027Volumes\u0027 is a bit redundant.","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bdcd548bad5fb3534361f7e12251b30969ec6943","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from tempest.tests.lib.services import base"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class TestVolumesTypeClient(base.BaseServiceTest):"},{"line_number":19,"context_line":"    FAKE_INFO_DEFAULT_VOLUME_TYPE \u003d {"},{"line_number":20,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":21,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_34a005a4","line":18,"in_reply_to":"3f79a3b5_519fd3b1","updated":"2018-12-12 08:10:50.000000000","message":"Done","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"644c89d101a740f140faf179842913c16f873a0d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"class TestVolumesTypeClient(base.BaseServiceTest):"},{"line_number":19,"context_line":"    FAKE_INFO_DEFAULT_VOLUME_TYPE \u003d {"},{"line_number":20,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":21,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":22,"context_line":"            \u0027name\u0027: \u0027volume-type-test\u0027,"},{"line_number":23,"context_line":"            \u0027description\u0027: \u0027default volume type\u0027,"},{"line_number":24,"context_line":"            \u0027is_public\u0027: True,"},{"line_number":25,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":26,"context_line":"                \u0027volume_backend_name\u0027: \u0027rbd\u0027"},{"line_number":27,"context_line":"            }"},{"line_number":28,"context_line":"        }"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_11339bf1","line":27,"range":{"start_line":21,"start_character":0,"end_line":27,"end_character":13},"updated":"2018-12-12 06:47:43.000000000","message":"Some mandantary fields are missing, e.g., os-volume-type-access:is_public, maybe you can copy fields from api-ref response example, \nhttps://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dlist-all-volume-types-detail,show-volume-type-detail-detail#show-volume-type-detail","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bdcd548bad5fb3534361f7e12251b30969ec6943","unresolved":false,"context_lines":[{"line_number":18,"context_line":"class TestVolumesTypeClient(base.BaseServiceTest):"},{"line_number":19,"context_line":"    FAKE_INFO_DEFAULT_VOLUME_TYPE \u003d {"},{"line_number":20,"context_line":"        \u0027volume_type\u0027: {"},{"line_number":21,"context_line":"            \u0027id\u0027: \u00276685584b-1eac-4da6-b5c3-555430cf68ff\u0027,"},{"line_number":22,"context_line":"            \u0027name\u0027: \u0027volume-type-test\u0027,"},{"line_number":23,"context_line":"            \u0027description\u0027: \u0027default volume type\u0027,"},{"line_number":24,"context_line":"            \u0027is_public\u0027: True,"},{"line_number":25,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":26,"context_line":"                \u0027volume_backend_name\u0027: \u0027rbd\u0027"},{"line_number":27,"context_line":"            }"},{"line_number":28,"context_line":"        }"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f4892d2a","line":27,"range":{"start_line":21,"start_character":0,"end_line":27,"end_character":13},"in_reply_to":"3f79a3b5_11339bf1","updated":"2018-12-12 08:10:50.000000000","message":"Yeah, add the lack attributes.","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"644c89d101a740f140faf179842913c16f873a0d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self.check_service_client_function("},{"line_number":59,"context_line":"            self.client.list_volume_types,"},{"line_number":60,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":61,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":62,"context_line":"            bytes_body)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def _test_show_volume_type(self, bytes_body\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_3117b745","line":61,"range":{"start_line":61,"start_character":12,"end_line":61,"end_character":47},"updated":"2018-12-12 06:47:43.000000000","message":"result of list_volume_types should be a list?\nhttps://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dlist-all-volume-types-detail#list-all-volume-types","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bdcd548bad5fb3534361f7e12251b30969ec6943","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self.check_service_client_function("},{"line_number":59,"context_line":"            self.client.list_volume_types,"},{"line_number":60,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.get\u0027,"},{"line_number":61,"context_line":"            self.FAKE_INFO_DEFAULT_VOLUME_TYPE,"},{"line_number":62,"context_line":"            bytes_body)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def _test_show_volume_type(self, bytes_body\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_b493b55a","line":61,"range":{"start_line":61,"start_character":12,"end_line":61,"end_character":47},"in_reply_to":"3f79a3b5_3117b745","updated":"2018-12-12 08:10:50.000000000","message":"Yes, use the type list is better.","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"644c89d101a740f140faf179842913c16f873a0d","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    def test_list_type_access_with_str_body(self):"},{"line_number":233,"context_line":"        self._test_list_type_access()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    def test_list_type_access_with__bytes_body(self):"},{"line_number":236,"context_line":"        self._test_list_type_access(bytes_body\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_d13c43bf","line":235,"range":{"start_line":235,"start_character":34,"end_line":235,"end_character":36},"updated":"2018-12-12 06:47:43.000000000","message":"two underscores","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bdcd548bad5fb3534361f7e12251b30969ec6943","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    def test_list_type_access_with_str_body(self):"},{"line_number":233,"context_line":"        self._test_list_type_access()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    def test_list_type_access_with__bytes_body(self):"},{"line_number":236,"context_line":"        self._test_list_type_access(bytes_body\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_d490b14f","line":235,"range":{"start_line":235,"start_character":34,"end_line":235,"end_character":36},"in_reply_to":"3f79a3b5_d13c43bf","updated":"2018-12-12 08:10:50.000000000","message":"Done","commit_id":"ea7079a298399f94091ec1c76498df857b5283b8"}]}
