)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"7adcaa29d187157ebc008f911d69c3d5fdc3149c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lkuchlan \u003clkuchlan@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-06-21 14:42:51 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Volume pagination with specific tenant"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Testing the ability to filter a list of volumes"},{"line_number":10,"context_line":"according to specific tenant."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3aaa91ec_ebb4f882","line":7,"range":{"start_line":7,"start_character":7,"end_line":7,"end_character":17},"updated":"2016-06-23 22:41:05.000000000","message":"Is this really pagination?","commit_id":"530e606898d662c8801594d911c6de3c36d38f11"}],"tempest/api/volume/admin/test_volumes_list.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"fa1a215b74eff11f9c6a8975fcc8581620c5caa3","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        cls.volume_list \u003d []"},{"line_number":30,"context_line":"        for i in range(3):"},{"line_number":31,"context_line":"            volume \u003d cls.create_volume()"},{"line_number":32,"context_line":"            volume \u003d cls.volumes_client.show_volume(volume[\u0027id\u0027])[\u0027volume\u0027]"},{"line_number":33,"context_line":"            cls.volume_list.append(volume)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @test.idempotent_id(\u00275866286f-3290-4cfd-a414-088aa6cdc469\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a9d85d2_82cac36c","line":32,"updated":"2016-06-21 08:20:56.000000000","message":"Why this get after volume creation ? If it\u0027s required, maybe leave a code comment to explain.","commit_id":"6fcded4823fa92825e98cd38f6d3d9b6b69cf65d"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"4ab11282dfa38fdc9f8ef1ca2a91863efb6a14d7","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        cls.volume_list \u003d []"},{"line_number":30,"context_line":"        for i in range(3):"},{"line_number":31,"context_line":"            volume \u003d cls.create_volume()"},{"line_number":32,"context_line":"            volume \u003d cls.volumes_client.show_volume(volume[\u0027id\u0027])[\u0027volume\u0027]"},{"line_number":33,"context_line":"            cls.volume_list.append(volume)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @test.idempotent_id(\u00275866286f-3290-4cfd-a414-088aa6cdc469\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a9d85d2_f36d5a05","line":32,"in_reply_to":"5a9d85d2_82cac36c","updated":"2016-06-21 09:35:45.000000000","message":"I need to fetch volumes details for the test","commit_id":"6fcded4823fa92825e98cd38f6d3d9b6b69cf65d"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"fa1a215b74eff11f9c6a8975fcc8581620c5caa3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            \u0027os-vol-tenant-attr:tenant_id\u0027), fetched_list)"},{"line_number":56,"context_line":"        expected_tenant_id \u003d map(operator.itemgetter("},{"line_number":57,"context_line":"            \u0027os-vol-tenant-attr:tenant_id\u0027), self.volume_list)"},{"line_number":58,"context_line":"        self.assertEqual(expected_tenant_id, fetched_tenant_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a9d85d2_a2e89fe3","line":58,"updated":"2016-06-21 08:20:56.000000000","message":"If there\u0027s a bug in how Cinder handles \u0027os-vol-tenant-attr:tenant_id\u0027 (let\u0027s say Cinder always set \u0027foobar\u0027 for os-vol-tenant-attr:tenant_id) then this test won\u0027t catch that. \n\nI suggest to use:\n  expected_tenant_id \u003d [self.volumes_client.tenant_id] * 3","commit_id":"6fcded4823fa92825e98cd38f6d3d9b6b69cf65d"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"4ab11282dfa38fdc9f8ef1ca2a91863efb6a14d7","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            \u0027os-vol-tenant-attr:tenant_id\u0027), fetched_list)"},{"line_number":56,"context_line":"        expected_tenant_id \u003d map(operator.itemgetter("},{"line_number":57,"context_line":"            \u0027os-vol-tenant-attr:tenant_id\u0027), self.volume_list)"},{"line_number":58,"context_line":"        self.assertEqual(expected_tenant_id, fetched_tenant_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a9d85d2_b34ab281","line":58,"in_reply_to":"5a9d85d2_a2e89fe3","updated":"2016-06-21 09:35:45.000000000","message":"Done","commit_id":"6fcded4823fa92825e98cd38f6d3d9b6b69cf65d"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"7adcaa29d187157ebc008f911d69c3d5fdc3149c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        super(VolumesListAdminV2TestJSON, cls).resource_setup()"},{"line_number":28,"context_line":"        # Create 3 test volumes"},{"line_number":29,"context_line":"        cls.volume_list \u003d []"},{"line_number":30,"context_line":"        for i in range(3):"},{"line_number":31,"context_line":"            volume \u003d cls.create_volume()"},{"line_number":32,"context_line":"            # Fetch volume details"},{"line_number":33,"context_line":"            volume_details \u003d cls.volumes_client.show_volume("}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_8b51f438","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":26},"updated":"2016-06-23 22:41:05.000000000","message":"I\u0027m not sure you need to create 3 test volumes, it feels a bit expensive. 2 would be enough to prove that all volumes you expect are returned.\n1 would not be enough to say *all* volume are returned.","commit_id":"530e606898d662c8801594d911c6de3c36d38f11"}],"tempest/api/volume/test_volumes_list.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"d2a8d83606f0ed822dbc4444c282175713d41de1","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        params \u003d {\u0027all_tenants\u0027: 1, \u0027project_id\u0027: self.client.tenant_id}"},{"line_number":213,"context_line":"        # Getting volume list with admin credentials"},{"line_number":214,"context_line":"        fetched_list \u003d self.adm_client.list_volumes(params\u003dparams)[\u0027volumes\u0027]"},{"line_number":215,"context_line":"        self.assertVolumesIn(fetched_list, self.volume_list, fields\u003d(\u0027id\u0027,))"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"class VolumesV1ListTestJSON(VolumesV2ListTestJSON):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_5b657643","line":215,"updated":"2016-05-18 20:48:49.000000000","message":"How do you know that you don\"t have volumes that belong to another project in that list ?","commit_id":"612c202607e0404ff03b0e52a463bee6cc7976c8"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"9300716eb869acd06d1f245cfa100829129e1a46","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        params \u003d {\u0027all_tenants\u0027: 1, \u0027project_id\u0027: self.client.tenant_id}"},{"line_number":213,"context_line":"        # Getting volume list with admin credentials"},{"line_number":214,"context_line":"        fetched_list \u003d self.adm_client.list_volumes(params\u003dparams)[\u0027volumes\u0027]"},{"line_number":215,"context_line":"        self.assertVolumesIn(fetched_list, self.volume_list, fields\u003d(\u0027id\u0027,))"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"class VolumesV1ListTestJSON(VolumesV2ListTestJSON):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_fddd2943","line":215,"in_reply_to":"bab6814e_5b657643","updated":"2016-05-19 09:21:06.000000000","message":"Thanks for your comment, I\u0027ll verify the project id by fields parameter","commit_id":"612c202607e0404ff03b0e52a463bee6cc7976c8"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"16c980667f8ea6c2a4c4641f8665c33e49a937a6","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    @test.idempotent_id(\u00275866286f-3290-4cfd-a414-088aa6cdc469\u0027)"},{"line_number":210,"context_line":"    def test_volume_list_param_tenant(self):"},{"line_number":211,"context_line":"        # Test to list volumes from single tenant"},{"line_number":212,"context_line":"        params \u003d {\u0027all_tenants\u0027: 1, \u0027project_id\u0027: self.client.tenant_id}"},{"line_number":213,"context_line":"        # Getting volume list with admin credentials"},{"line_number":214,"context_line":"        fetched_list \u003d self.adm_client.list_volumes(detail\u003dTrue,"},{"line_number":215,"context_line":"                                                    params\u003dparams)[\u0027volumes\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_a9ffe3ff","line":212,"updated":"2016-05-19 10:21:39.000000000","message":"If I would remove the \"project_id\": self.client.tenant_id filter, this test would still pass. Because you didn\u0027t create a volume with another tenant, so the filter doesn\u0027t actually filter/exclude any volume. Is that correct ?","commit_id":"182abecb284d659144908b3c49d8a37da4f4680e"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"8e00e74c68d171e3431cf286d0876eaac6db7221","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    @test.idempotent_id(\u00275866286f-3290-4cfd-a414-088aa6cdc469\u0027)"},{"line_number":210,"context_line":"    def test_volume_list_param_tenant(self):"},{"line_number":211,"context_line":"        # Test to list volumes from single tenant"},{"line_number":212,"context_line":"        params \u003d {\u0027all_tenants\u0027: 1, \u0027project_id\u0027: self.client.tenant_id}"},{"line_number":213,"context_line":"        # Getting volume list with admin credentials"},{"line_number":214,"context_line":"        fetched_list \u003d self.adm_client.list_volumes(detail\u003dTrue,"},{"line_number":215,"context_line":"                                                    params\u003dparams)[\u0027volumes\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_4c6257d9","line":212,"in_reply_to":"bab6814e_a9ffe3ff","updated":"2016-05-21 18:47:00.000000000","message":"Now I understand what did you mean. You absolutely right, I did not pay attention to this.\nI\u0027ll create a volume in admin tenant and filter the list according to primary tenant.","commit_id":"182abecb284d659144908b3c49d8a37da4f4680e"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"1ca75b03fd9acb8fd6ea58219f1fd48941a63831","unresolved":false,"context_lines":[{"line_number":219,"context_line":"        adm_vol \u003d self.adm_client.create_volume()[\u0027volume\u0027]"},{"line_number":220,"context_line":"        waiters.wait_for_volume_status(self.adm_client,"},{"line_number":221,"context_line":"                                       adm_vol[\u0027id\u0027], \u0027available\u0027)"},{"line_number":222,"context_line":"        self.addCleanup(self._delete_volume, adm_vol[\u0027id\u0027])"},{"line_number":223,"context_line":"        params \u003d {\u0027all_tenants\u0027: 1, \u0027project_id\u0027: self.client.tenant_id}"},{"line_number":224,"context_line":"        # Getting volume list from primary tenant using admin credentials"},{"line_number":225,"context_line":"        fetched_list \u003d self.adm_client.list_volumes(detail\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_c7d079fa","line":222,"updated":"2016-05-24 13:54:35.000000000","message":"Just do:\n  self.addCleanup(self.adm_client.delete_volume, adm_vol[\u0027id\u0027])\n\nYou don\u0027t need to wait for the volume to be deleted.","commit_id":"c071ea1257998cb377de401be6162b98071cdf72"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"09d1fa00b640c67dfb2db90254fd62292957520d","unresolved":false,"context_lines":[{"line_number":219,"context_line":"        adm_vol \u003d self.adm_client.create_volume()[\u0027volume\u0027]"},{"line_number":220,"context_line":"        waiters.wait_for_volume_status(self.adm_client,"},{"line_number":221,"context_line":"                                       adm_vol[\u0027id\u0027], \u0027available\u0027)"},{"line_number":222,"context_line":"        self.addCleanup(self._delete_volume, adm_vol[\u0027id\u0027])"},{"line_number":223,"context_line":"        params \u003d {\u0027all_tenants\u0027: 1, \u0027project_id\u0027: self.client.tenant_id}"},{"line_number":224,"context_line":"        # Getting volume list from primary tenant using admin credentials"},{"line_number":225,"context_line":"        fetched_list \u003d self.adm_client.list_volumes(detail\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bab6814e_841ca878","line":222,"in_reply_to":"bab6814e_c7d079fa","updated":"2016-05-24 15:15:40.000000000","message":"Done","commit_id":"c071ea1257998cb377de401be6162b98071cdf72"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"7baf05834b57648cf32d323f31ec42f7cc5a7cd0","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        self._list_by_param_value_and_assert(params, with_detail\u003dTrue)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    @test.idempotent_id(\u00275866286f-3290-4cfd-a414-088aa6cdc469\u0027)"},{"line_number":211,"context_line":"    def test_volume_list_param_tenant(self):"},{"line_number":212,"context_line":"        # Test to list volumes from single tenant"},{"line_number":213,"context_line":"        # Create a volume in admin tenant"},{"line_number":214,"context_line":"        adm_vol \u003d self.adm_client.create_volume()[\u0027volume\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_131dab73","line":211,"updated":"2016-06-20 16:34:03.000000000","message":"You should put that test in volume/admin directory.","commit_id":"272071548dcfcfa3b347112e0055d7d526e78a56"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"f93d2800ac761ecd3d59eb092c2e5560cfad54fa","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        self._list_by_param_value_and_assert(params, with_detail\u003dTrue)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    @test.idempotent_id(\u00275866286f-3290-4cfd-a414-088aa6cdc469\u0027)"},{"line_number":211,"context_line":"    def test_volume_list_param_tenant(self):"},{"line_number":212,"context_line":"        # Test to list volumes from single tenant"},{"line_number":213,"context_line":"        # Create a volume in admin tenant"},{"line_number":214,"context_line":"        adm_vol \u003d self.adm_client.create_volume()[\u0027volume\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_ba21edfd","line":211,"in_reply_to":"5a9d85d2_131dab73","updated":"2016-06-21 06:23:29.000000000","message":"Thanks, move it under admin tests directory.","commit_id":"272071548dcfcfa3b347112e0055d7d526e78a56"}]}
