)]}'
{"cinder/tests/unit/api/contrib/test_volume_tenant_attribute.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"116bc08b246e93ba02b0c33bbe5d0288447bacab","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from cinder import objects"},{"line_number":23,"context_line":"from cinder import policy"},{"line_number":24,"context_line":"from cinder import test"},{"line_number":25,"context_line":"from cinder.policies.volumes import TENANT_ATTRIBUTE_POLICY"},{"line_number":26,"context_line":"from cinder.tests.unit.api import fakes"},{"line_number":27,"context_line":"from cinder.tests.unit import fake_constants as fake"},{"line_number":28,"context_line":"from cinder.tests.unit import fake_volume"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_f95f6b71","line":25,"updated":"2018-12-05 15:04:53.000000000","message":"pep8 wants this line to go before line 23 (sorry about that!)","commit_id":"e09167b0e15aaf2ae9da1351e3b3f1f284a850e4"}],"cinder/tests/unit/api/v3/test_volume_protection.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"e8272d4eba8eb75d835f96a41a3f9cfd00b6a900","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.assertEqual(http_client.OK, response.status_int)"},{"line_number":103,"context_line":"        res_vol \u003d response.json_body[\u0027volume\u0027]"},{"line_number":104,"context_line":"        self.assertEqual(volume.id, res_vol[\u0027id\u0027])"},{"line_number":105,"context_line":"        # Make sure owners are authorized to show tenant_id"},{"line_number":106,"context_line":"        self.assertEqual(user_context.project_id,"},{"line_number":107,"context_line":"                         res_vol[\u0027os-vol-tenant-attr:tenant_id\u0027])"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_869b3d77","line":105,"range":{"start_line":105,"start_character":20,"end_line":105,"end_character":41},"updated":"2018-11-08 10:00:00.000000000","message":"I think the rule states that only admin\u0027s are authorized to see the tenant attribute","commit_id":"c1f4abd4ade1d6fe0a2a017434b7833cabe7b6d8"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"6c68ce1da576a3c6671645b409ec8bec38fbb2ef","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.assertEqual(http_client.OK, response.status_int)"},{"line_number":103,"context_line":"        res_vol \u003d response.json_body[\u0027volume\u0027]"},{"line_number":104,"context_line":"        self.assertEqual(volume.id, res_vol[\u0027id\u0027])"},{"line_number":105,"context_line":"        # Make sure owners are authorized to show tenant_id"},{"line_number":106,"context_line":"        self.assertEqual(user_context.project_id,"},{"line_number":107,"context_line":"                         res_vol[\u0027os-vol-tenant-attr:tenant_id\u0027])"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d65f6edb","line":105,"range":{"start_line":105,"start_character":20,"end_line":105,"end_character":41},"in_reply_to":"3f79a3b5_4badfba1","updated":"2018-11-12 07:37:56.000000000","message":"Yes, should be similar, but actually I think the policy of TENANT_ATTR in tests/unit/policy,json is wrong.\n\nSee [1] we first merged policy is \"admin\", but it has been changed to \"admin_and_owner\" in [2], but the test/unit/policy.json forgot to be changed as same time. So, we need fix it in this patch.\n\nHope my explanation could clear your confusion. \n\n[1] https://review.openstack.org/#/c/15070/\n[2] https://review.openstack.org/#/c/66792/","commit_id":"c1f4abd4ade1d6fe0a2a017434b7833cabe7b6d8"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"438b3291335bd7287c912d9461cbecac29d5c8f5","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.assertEqual(http_client.OK, response.status_int)"},{"line_number":103,"context_line":"        res_vol \u003d response.json_body[\u0027volume\u0027]"},{"line_number":104,"context_line":"        self.assertEqual(volume.id, res_vol[\u0027id\u0027])"},{"line_number":105,"context_line":"        # Make sure owners are authorized to show tenant_id"},{"line_number":106,"context_line":"        self.assertEqual(user_context.project_id,"},{"line_number":107,"context_line":"                         res_vol[\u0027os-vol-tenant-attr:tenant_id\u0027])"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_a45180d7","line":105,"range":{"start_line":105,"start_character":20,"end_line":105,"end_character":41},"in_reply_to":"3f79a3b5_869b3d77","updated":"2018-11-09 01:38:21.000000000","message":"No, the default policy is admin or owner:\nhttps://github.com/openstack/cinder/blob/master/cinder/policies/volumes.py#L135\nSo the owner can get tenant_ib by default. If not, the default rule is wrong.","commit_id":"c1f4abd4ade1d6fe0a2a017434b7833cabe7b6d8"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"611069125279c4452e4f822327e6737b931504c8","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.assertEqual(http_client.OK, response.status_int)"},{"line_number":103,"context_line":"        res_vol \u003d response.json_body[\u0027volume\u0027]"},{"line_number":104,"context_line":"        self.assertEqual(volume.id, res_vol[\u0027id\u0027])"},{"line_number":105,"context_line":"        # Make sure owners are authorized to show tenant_id"},{"line_number":106,"context_line":"        self.assertEqual(user_context.project_id,"},{"line_number":107,"context_line":"                         res_vol[\u0027os-vol-tenant-attr:tenant_id\u0027])"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_a4af402b","line":105,"range":{"start_line":105,"start_character":20,"end_line":105,"end_character":41},"in_reply_to":"3f79a3b5_a45180d7","updated":"2018-11-09 02:27:47.000000000","message":"Yes, agree with xiyuan, and we just need fix original wrong test case.\n\ntest_list_detail_volumes_unallowed\ntest_get_volume_unallowed","commit_id":"c1f4abd4ade1d6fe0a2a017434b7833cabe7b6d8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"266f4ea05474845f1069a6b021d2edaaa39cc478","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.assertEqual(http_client.OK, response.status_int)"},{"line_number":103,"context_line":"        res_vol \u003d response.json_body[\u0027volume\u0027]"},{"line_number":104,"context_line":"        self.assertEqual(volume.id, res_vol[\u0027id\u0027])"},{"line_number":105,"context_line":"        # Make sure owners are authorized to show tenant_id"},{"line_number":106,"context_line":"        self.assertEqual(user_context.project_id,"},{"line_number":107,"context_line":"                         res_vol[\u0027os-vol-tenant-attr:tenant_id\u0027])"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_4badfba1","line":105,"range":{"start_line":105,"start_character":20,"end_line":105,"end_character":41},"in_reply_to":"3f79a3b5_a4af402b","updated":"2018-11-12 06:03:23.000000000","message":"Ok, the rule here got me confused, https://github.com/openstack/cinder/blob/master/cinder/tests/unit/policy.json#L47\nshouldn\u0027t it be similar to the rule here ?\nhttps://github.com/openstack/cinder/blob/master/cinder/policies/volumes.py#L135","commit_id":"c1f4abd4ade1d6fe0a2a017434b7833cabe7b6d8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"885fcd17d3627221998c538121fc4f7fcaea72bb","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.assertEqual(http_client.OK, response.status_int)"},{"line_number":103,"context_line":"        res_vol \u003d response.json_body[\u0027volume\u0027]"},{"line_number":104,"context_line":"        self.assertEqual(volume.id, res_vol[\u0027id\u0027])"},{"line_number":105,"context_line":"        # Make sure owners are authorized to show tenant_id"},{"line_number":106,"context_line":"        self.assertEqual(user_context.project_id,"},{"line_number":107,"context_line":"                         res_vol[\u0027os-vol-tenant-attr:tenant_id\u0027])"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_f61cea14","line":105,"range":{"start_line":105,"start_character":20,"end_line":105,"end_character":41},"in_reply_to":"3f79a3b5_d65f6edb","updated":"2018-11-12 07:45:48.000000000","message":"Absolutely.thanks.","commit_id":"c1f4abd4ade1d6fe0a2a017434b7833cabe7b6d8"}]}
