)]}'
{"tempest/api/network/admin/test_quotas.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"1e270df22360b948bba21f7a6833199ba0375f3b","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @classmethod"},{"line_number":42,"context_line":"    def skip_checks(cls):"},{"line_number":43,"context_line":"        super(QuotasTest, cls).skip_checks()"},{"line_number":44,"context_line":"        if not utils.is_extension_enabled(\u0027quotas\u0027, \u0027network\u0027):"},{"line_number":45,"context_line":"            msg \u003d \"quotas extension not enabled.\""},{"line_number":46,"context_line":"            raise cls.skipException(msg)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f93b717_8e2a67d8","line":44,"range":{"start_line":44,"start_character":8,"end_line":44,"end_character":63},"updated":"2018-02-01 02:15:14.000000000","message":"I am curious about that is it possible for quotas extension being not enabled while quotas details extension being enabled?","commit_id":"92994525bbb0be443fc81c30c8535b0fef840094"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"1c5135bc5f274cc8ae30db00e1cff2285ed69f4c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @classmethod"},{"line_number":42,"context_line":"    def skip_checks(cls):"},{"line_number":43,"context_line":"        super(QuotasTest, cls).skip_checks()"},{"line_number":44,"context_line":"        if not utils.is_extension_enabled(\u0027quotas\u0027, \u0027network\u0027):"},{"line_number":45,"context_line":"            msg \u003d \"quotas extension not enabled.\""},{"line_number":46,"context_line":"            raise cls.skipException(msg)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_e26fb7f9","line":44,"range":{"start_line":44,"start_character":8,"end_line":44,"end_character":63},"in_reply_to":"5f93b717_8e2a67d8","updated":"2018-02-09 07:29:18.000000000","message":"quota details is an extension to quotas, see\nhttps://github.com/openstack/neutron/blob/master/neutron/extensions/quotasv2_detail.py#L41\nSo I think the quota details extension depends on the quotas extension.","commit_id":"92994525bbb0be443fc81c30c8535b0fef840094"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"1e270df22360b948bba21f7a6833199ba0375f3b","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    @testtools.skipUnless(utils.is_extension_enabled("},{"line_number":97,"context_line":"        \u0027quota_details\u0027, \u0027network\u0027), \u0027Quota details extension not enabled.\u0027)"},{"line_number":98,"context_line":"    def test_show_quota_details(self):"},{"line_number":99,"context_line":"        # Add a new project"},{"line_number":100,"context_line":"        project \u003d data_utils.rand_name(\u0027test_project_\u0027)"},{"line_number":101,"context_line":"        description \u003d data_utils.rand_name(\u0027desc_\u0027)"},{"line_number":102,"context_line":"        project \u003d identity.identity_utils(self.os_admin).create_project("},{"line_number":103,"context_line":"            name\u003dproject, description\u003ddescription)"},{"line_number":104,"context_line":"        self.addCleanup(identity.identity_utils(self.os_admin).delete_project,"},{"line_number":105,"context_line":"                        project[\u0027id\u0027])"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        #  Show quota details for the new project"},{"line_number":108,"context_line":"        quota_details \u003d self.admin_quotas_client.show_quota_details("}],"source_content_type":"text/x-python","patch_set":4,"id":"5f93b717_0ebf37d1","line":105,"range":{"start_line":99,"start_character":0,"end_line":105,"end_character":38},"updated":"2018-02-01 02:15:14.000000000","message":"It\u0027s not necessary to create a new project? Because we won\u0027t change project\u0027s quota.","commit_id":"92994525bbb0be443fc81c30c8535b0fef840094"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"1c5135bc5f274cc8ae30db00e1cff2285ed69f4c","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    @testtools.skipUnless(utils.is_extension_enabled("},{"line_number":97,"context_line":"        \u0027quota_details\u0027, \u0027network\u0027), \u0027Quota details extension not enabled.\u0027)"},{"line_number":98,"context_line":"    def test_show_quota_details(self):"},{"line_number":99,"context_line":"        # Add a new project"},{"line_number":100,"context_line":"        project \u003d data_utils.rand_name(\u0027test_project_\u0027)"},{"line_number":101,"context_line":"        description \u003d data_utils.rand_name(\u0027desc_\u0027)"},{"line_number":102,"context_line":"        project \u003d identity.identity_utils(self.os_admin).create_project("},{"line_number":103,"context_line":"            name\u003dproject, description\u003ddescription)"},{"line_number":104,"context_line":"        self.addCleanup(identity.identity_utils(self.os_admin).delete_project,"},{"line_number":105,"context_line":"                        project[\u0027id\u0027])"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        #  Show quota details for the new project"},{"line_number":108,"context_line":"        quota_details \u003d self.admin_quotas_client.show_quota_details("}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_42578b27","line":105,"range":{"start_line":99,"start_character":0,"end_line":105,"end_character":38},"in_reply_to":"5f93b717_0ebf37d1","updated":"2018-02-09 07:29:18.000000000","message":"removed, thanks","commit_id":"92994525bbb0be443fc81c30c8535b0fef840094"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"dc5f55871199ab8a1bc891c08176c27d19254220","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        \u0027quota_details\u0027, \u0027network\u0027), \u0027Quota details extension not enabled.\u0027)"},{"line_number":97,"context_line":"    @decorators.idempotent_id(\u00277b05ec5f-bf44-43cb-b28f-ddd72a824288\u0027)"},{"line_number":98,"context_line":"    def test_show_quota_details(self):"},{"line_number":99,"context_line":"        #  Show quota details for an existing project"},{"line_number":100,"context_line":"        quota_details \u003d self.admin_quotas_client.show_quota_details("},{"line_number":101,"context_line":"            self.admin_quotas_client.tenant_id)[\u0027quota\u0027]"},{"line_number":102,"context_line":"        expected_keys \u003d [\u0027used\u0027, \u0027limit\u0027, \u0027reserved\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa0c359_f81be67d","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":11},"updated":"2018-02-09 08:38:28.000000000","message":"nit: two spaces","commit_id":"40d41cbf531fa7bcbf4eb8497749b51c78506046"},{"author":{"_account_id":23081,"name":"Jeremy Zhang","email":"zhangjun_inspur@163.com","username":"jeremy.zhang"},"change_message_id":"f37abd2875c1fc73f23f6d308f3281ad82cd833c","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        \u0027quota_details\u0027, \u0027network\u0027), \u0027Quota details extension not enabled.\u0027)"},{"line_number":97,"context_line":"    @decorators.idempotent_id(\u00277b05ec5f-bf44-43cb-b28f-ddd72a824288\u0027)"},{"line_number":98,"context_line":"    def test_show_quota_details(self):"},{"line_number":99,"context_line":"        #  Show quota details for an existing project"},{"line_number":100,"context_line":"        quota_details \u003d self.admin_quotas_client.show_quota_details("},{"line_number":101,"context_line":"            self.admin_quotas_client.tenant_id)[\u0027quota\u0027]"},{"line_number":102,"context_line":"        expected_keys \u003d [\u0027used\u0027, \u0027limit\u0027, \u0027reserved\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa0c359_c102b63d","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":11},"in_reply_to":"3fa0c359_f81be67d","updated":"2018-02-09 09:36:53.000000000","message":"Done, thanks","commit_id":"40d41cbf531fa7bcbf4eb8497749b51c78506046"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"42f25c9fd49c32e901c94eac902b7aac56397126","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        quota_details \u003d self.admin_quotas_client.show_quota_details("},{"line_number":101,"context_line":"            self.admin_quotas_client.tenant_id)[\u0027quota\u0027]"},{"line_number":102,"context_line":"        expected_keys \u003d [\u0027used\u0027, \u0027limit\u0027, \u0027reserved\u0027]"},{"line_number":103,"context_line":"        for resource_type in quota_details:"},{"line_number":104,"context_line":"            for key in expected_keys:"},{"line_number":105,"context_line":"                self.assertIn(key, quota_details[resource_type])"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa0c359_30092595","line":103,"updated":"2018-02-13 00:11:46.000000000","message":"Maybe this is just reviewing NOTE for me :-)\n\nAccording to https://developer.openstack.org/api-ref/network/v2/index.html#show-quota-details-for-a-tenant the response contains \"rbac_policy\", \"port\", \"subnet\", etc. But they should depend on what extensions are enabled on each env.\nSo it is fine to check keys for each resource without resource names.","commit_id":"1ac13b274a8e9dbfc63c8e24534e7433dcebf3aa"}]}
