)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d24ed855dda105815ed369b6933d772e690b8972","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lkuchlan \u003clkuchlan@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-19 09:45:54 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Snapshot v2 pagination tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Testing the ability to filter/sort a list of snapshots."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a3905b3_c4a95b7d","line":7,"range":{"start_line":7,"start_character":12,"end_line":7,"end_character":28},"updated":"2017-01-20 05:28:22.000000000","message":"but tests does not do paging actually :) may be more list tests or something","commit_id":"197cfcf4af63095f16110a855e3d58bb17078a98"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"a840d1a7d44f36a8a3219909b1c86bc68812fd06","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lkuchlan \u003clkuchlan@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-19 09:45:54 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Snapshot v2 pagination tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Testing the ability to filter/sort a list of snapshots."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5a3905b3_4eed41ee","line":7,"range":{"start_line":7,"start_character":12,"end_line":7,"end_character":28},"in_reply_to":"5a3905b3_c4a95b7d","updated":"2017-01-22 08:13:29.000000000","message":"Thanks for your comments,\nI added another 2 tests, I hope it\u0027s ok now.","commit_id":"197cfcf4af63095f16110a855e3d58bb17078a98"}],"tempest/api/volume/v2/test_volumes_snapshots_list.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f48eb2563d788679cb48e4abf5101f614ea8baa0","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        cls.name_field \u003d cls.special_fields[\u0027name_field\u0027]"},{"line_number":40,"context_line":"        # Create 2 snapshots"},{"line_number":41,"context_line":"        for _ in range(2):"},{"line_number":42,"context_line":"            cls.snapshot \u003d cls.create_snapshot(cls.volume_origin[\u0027id\u0027])"},{"line_number":43,"context_line":"            cls.snapshot_id_list.append(cls.snapshot[\u0027id\u0027])"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _list_snapshots_param_sort(self, sort_key, sort_dir):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_22c9ab59","line":42,"range":{"start_line":42,"start_character":12,"end_line":42,"end_character":24},"updated":"2017-01-18 02:50:56.000000000","message":"no need to be an instance variable","commit_id":"d3dc5769489b454f0c0ab2981372f8e8c1a3eaf9"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"776c0f1a27d8ee162dbbfe4ea068d325b02df6d2","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        cls.name_field \u003d cls.special_fields[\u0027name_field\u0027]"},{"line_number":40,"context_line":"        # Create 2 snapshots"},{"line_number":41,"context_line":"        for _ in range(2):"},{"line_number":42,"context_line":"            cls.snapshot \u003d cls.create_snapshot(cls.volume_origin[\u0027id\u0027])"},{"line_number":43,"context_line":"            cls.snapshot_id_list.append(cls.snapshot[\u0027id\u0027])"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _list_snapshots_param_sort(self, sort_key, sort_dir):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_7e850bcd","line":42,"range":{"start_line":42,"start_character":12,"end_line":42,"end_character":24},"in_reply_to":"7a3c09a3_22c9ab59","updated":"2017-01-18 08:49:27.000000000","message":"Thanks for your comments, right","commit_id":"d3dc5769489b454f0c0ab2981372f8e8c1a3eaf9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f48eb2563d788679cb48e4abf5101f614ea8baa0","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            cls.snapshot \u003d cls.create_snapshot(cls.volume_origin[\u0027id\u0027])"},{"line_number":43,"context_line":"            cls.snapshot_id_list.append(cls.snapshot[\u0027id\u0027])"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _list_snapshots_param_sort(self, sort_key, sort_dir):"},{"line_number":46,"context_line":"        \"\"\"list snapshots by sort param\"\"\""},{"line_number":47,"context_line":"        params \u003d {\u0027sort_key\u0027: sort_key,"},{"line_number":48,"context_line":"                  \u0027sort_dir\u0027: sort_dir"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_226c4b34","line":45,"range":{"start_line":45,"start_character":41,"end_line":45,"end_character":49},"updated":"2017-01-18 02:50:56.000000000","message":"the param seems no use, because now only \u0027id\u0027 is supported","commit_id":"d3dc5769489b454f0c0ab2981372f8e8c1a3eaf9"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"776c0f1a27d8ee162dbbfe4ea068d325b02df6d2","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            cls.snapshot \u003d cls.create_snapshot(cls.volume_origin[\u0027id\u0027])"},{"line_number":43,"context_line":"            cls.snapshot_id_list.append(cls.snapshot[\u0027id\u0027])"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _list_snapshots_param_sort(self, sort_key, sort_dir):"},{"line_number":46,"context_line":"        \"\"\"list snapshots by sort param\"\"\""},{"line_number":47,"context_line":"        params \u003d {\u0027sort_key\u0027: sort_key,"},{"line_number":48,"context_line":"                  \u0027sort_dir\u0027: sort_dir"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_41d6ab28","line":45,"range":{"start_line":45,"start_character":41,"end_line":45,"end_character":49},"in_reply_to":"7a3c09a3_226c4b34","updated":"2017-01-18 08:49:27.000000000","message":"I added support for \u0027created_at\u0027 key","commit_id":"d3dc5769489b454f0c0ab2981372f8e8c1a3eaf9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f48eb2563d788679cb48e4abf5101f614ea8baa0","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @test.idempotent_id(\u002705489dde-44bc-4961-a1f5-3ce7ee7824f7\u0027)"},{"line_number":67,"context_line":"    def test_snapshot_list_param_marker(self):"},{"line_number":68,"context_line":"        # The list of flavors should start from the provided marker"},{"line_number":69,"context_line":"        params \u003d {\u0027marker\u0027: self.snapshot_id_list[1]}"},{"line_number":70,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":71,"context_line":"        fetched_list_id \u003d map(operator.itemgetter(\u0027id\u0027), snap_list)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_82633f41","line":68,"range":{"start_line":68,"start_character":22,"end_line":68,"end_character":29},"updated":"2017-01-18 02:50:56.000000000","message":"flavors?","commit_id":"d3dc5769489b454f0c0ab2981372f8e8c1a3eaf9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f48eb2563d788679cb48e4abf5101f614ea8baa0","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @test.idempotent_id(\u002705489dde-44bc-4961-a1f5-3ce7ee7824f7\u0027)"},{"line_number":67,"context_line":"    def test_snapshot_list_param_marker(self):"},{"line_number":68,"context_line":"        # The list of flavors should start from the provided marker"},{"line_number":69,"context_line":"        params \u003d {\u0027marker\u0027: self.snapshot_id_list[1]}"},{"line_number":70,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":71,"context_line":"        fetched_list_id \u003d map(operator.itemgetter(\u0027id\u0027), snap_list)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_82989f1d","line":68,"range":{"start_line":68,"start_character":37,"end_line":68,"end_character":67},"updated":"2017-01-18 02:50:56.000000000","message":"it seems we should say \"end before the provided marker\", because marker is \"The ID of the last-seen item\"","commit_id":"d3dc5769489b454f0c0ab2981372f8e8c1a3eaf9"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"776c0f1a27d8ee162dbbfe4ea068d325b02df6d2","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @test.idempotent_id(\u002705489dde-44bc-4961-a1f5-3ce7ee7824f7\u0027)"},{"line_number":67,"context_line":"    def test_snapshot_list_param_marker(self):"},{"line_number":68,"context_line":"        # The list of flavors should start from the provided marker"},{"line_number":69,"context_line":"        params \u003d {\u0027marker\u0027: self.snapshot_id_list[1]}"},{"line_number":70,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":71,"context_line":"        fetched_list_id \u003d map(operator.itemgetter(\u0027id\u0027), snap_list)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_e1f797d0","line":68,"range":{"start_line":68,"start_character":37,"end_line":68,"end_character":67},"in_reply_to":"7a3c09a3_82989f1d","updated":"2017-01-18 08:49:27.000000000","message":"Sorry, I was out of focus","commit_id":"d3dc5769489b454f0c0ab2981372f8e8c1a3eaf9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f48eb2563d788679cb48e4abf5101f614ea8baa0","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        params \u003d {\u0027marker\u0027: self.snapshot_id_list[1]}"},{"line_number":70,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":71,"context_line":"        fetched_list_id \u003d map(operator.itemgetter(\u0027id\u0027), snap_list)"},{"line_number":72,"context_line":"        # Verify the list of snapshot starts from the provided"},{"line_number":73,"context_line":"        # marker(second snapshot), therefore only the first snapshot"},{"line_number":74,"context_line":"        # should displayed."},{"line_number":75,"context_line":"        self.assertEqual(1, len(fetched_list_id))"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_e2a16347","line":72,"range":{"start_line":72,"start_character":38,"end_line":72,"end_character":49},"updated":"2017-01-18 02:50:56.000000000","message":"ditto","commit_id":"d3dc5769489b454f0c0ab2981372f8e8c1a3eaf9"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"2168f44401f7166611e0662c2b6ff364af622263","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        self._list_snapshots_param_sort(sort_key\u003d\u0027id\u0027, sort_dir\u003d\u0027desc\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @test.idempotent_id(\u00274052c3a0-2415-440a-a8cc-305a875331b0\u0027)"},{"line_number":67,"context_line":"    def test_snapshot_list_param_sort_created_at_asc_direction(self):"},{"line_number":68,"context_line":"        self._list_snapshots_param_sort(sort_key\u003d\u0027created_at\u0027, sort_dir\u003d\u0027asc\u0027)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @test.idempotent_id(\u0027dcbbe24a-f3c0-4ec8-9274-55d48db8d1cf\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_d3fdec6f","line":67,"range":{"start_line":67,"start_character":52,"end_line":67,"end_character":62},"updated":"2017-01-19 02:14:14.000000000","message":"seems all \"_direction\" in testnames can be removed?\ntestname as \"test_snapshot_list_param_sort_id_desc\" is clear enough.","commit_id":"f91b6af8c6e41c250e91bcb3cf900e5203f943ab"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"97f00ba5e6a5b7c6c9e8465671a21a107b8363e8","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        self._list_snapshots_param_sort(sort_key\u003d\u0027id\u0027, sort_dir\u003d\u0027desc\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @test.idempotent_id(\u00274052c3a0-2415-440a-a8cc-305a875331b0\u0027)"},{"line_number":67,"context_line":"    def test_snapshot_list_param_sort_created_at_asc_direction(self):"},{"line_number":68,"context_line":"        self._list_snapshots_param_sort(sort_key\u003d\u0027created_at\u0027, sort_dir\u003d\u0027asc\u0027)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    @test.idempotent_id(\u0027dcbbe24a-f3c0-4ec8-9274-55d48db8d1cf\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_8c2c1aad","line":67,"range":{"start_line":67,"start_character":52,"end_line":67,"end_character":62},"in_reply_to":"5a3905b3_d3fdec6f","updated":"2017-01-19 07:46:44.000000000","message":"Done","commit_id":"f91b6af8c6e41c250e91bcb3cf900e5203f943ab"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"2168f44401f7166611e0662c2b6ff364af622263","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # Verify the list of snapshots ends before the provided"},{"line_number":81,"context_line":"        # marker(second snapshot), therefore only the first snapshot"},{"line_number":82,"context_line":"        # should displayed."},{"line_number":83,"context_line":"        self.assertEqual(1, len(fetched_list_id))"},{"line_number":84,"context_line":"        self.assertEqual(self.snapshot_id_list[0], fetched_list_id[0])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_93c60415","line":84,"range":{"start_line":83,"start_character":0,"end_line":84,"end_character":70},"updated":"2017-01-19 02:14:14.000000000","message":"maybe we can use one judgement?\nself.assertEqual(self.snapshot_id_list[:1], fetched_list_id)","commit_id":"f91b6af8c6e41c250e91bcb3cf900e5203f943ab"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"97f00ba5e6a5b7c6c9e8465671a21a107b8363e8","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # Verify the list of snapshots ends before the provided"},{"line_number":81,"context_line":"        # marker(second snapshot), therefore only the first snapshot"},{"line_number":82,"context_line":"        # should displayed."},{"line_number":83,"context_line":"        self.assertEqual(1, len(fetched_list_id))"},{"line_number":84,"context_line":"        self.assertEqual(self.snapshot_id_list[0], fetched_list_id[0])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a3905b3_2c0c0642","line":84,"range":{"start_line":83,"start_character":0,"end_line":84,"end_character":70},"in_reply_to":"5a3905b3_93c60415","updated":"2017-01-19 07:46:44.000000000","message":"Right thanks, it\u0027s better","commit_id":"f91b6af8c6e41c250e91bcb3cf900e5203f943ab"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"ec14b646b04293edc3a027f52870e9e8971f8b3c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_id0 \u003d snap_list[0][sort_key]"},{"line_number":54,"context_line":"        snap_id1 \u003d snap_list[1][sort_key]"},{"line_number":55,"context_line":"        if sort_dir \u003d\u003d \u0027asc\u0027:"},{"line_number":56,"context_line":"            self.assertLess(snap_id0, snap_id1)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_4a4d24c3","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":16},"updated":"2017-01-23 01:10:14.000000000","message":"Since you have extended the sort_key, so the variable name is no longer suitable:)","commit_id":"1a0e1150c3c40338f271afacfd298de9c0c3893c"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"806a61a225a0c58b591db287927e3172cc6cff71","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_id0 \u003d snap_list[0][sort_key]"},{"line_number":54,"context_line":"        snap_id1 \u003d snap_list[1][sort_key]"},{"line_number":55,"context_line":"        if sort_dir \u003d\u003d \u0027asc\u0027:"},{"line_number":56,"context_line":"            self.assertLess(snap_id0, snap_id1)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_e1d6f24d","line":53,"range":{"start_line":53,"start_character":8,"end_line":53,"end_character":16},"in_reply_to":"5a3905b3_4a4d24c3","updated":"2017-01-23 06:47:29.000000000","message":"Right, thanks :)","commit_id":"1a0e1150c3c40338f271afacfd298de9c0c3893c"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"ec14b646b04293edc3a027f52870e9e8971f8b3c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_id0 \u003d snap_list[0][sort_key]"},{"line_number":54,"context_line":"        snap_id1 \u003d snap_list[1][sort_key]"},{"line_number":55,"context_line":"        if sort_dir \u003d\u003d \u0027asc\u0027:"},{"line_number":56,"context_line":"            self.assertLess(snap_id0, snap_id1)"},{"line_number":57,"context_line":"        elif sort_dir \u003d\u003d \u0027desc\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a3905b3_8ac9cc28","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":16},"updated":"2017-01-23 01:10:14.000000000","message":"ditto","commit_id":"1a0e1150c3c40338f271afacfd298de9c0c3893c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d5d483f2dde3776a58d3a8fea276431206edbc6d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        params \u003d {\u0027sort_key\u0027: sort_key,"},{"line_number":48,"context_line":"                  \u0027sort_dir\u0027: sort_dir"},{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_property0 \u003d snap_list[0][sort_key]"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_bba89378","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":18},"updated":"2017-01-23 09:24:44.000000000","message":"assert to check the empty list will be helpful here.","commit_id":"c64b50c73886a3c993ae7e37ca6b62f01eb6acc2"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"f6ac7a6be6d07340467924bdb35caf3ef6fe645c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        params \u003d {\u0027sort_key\u0027: sort_key,"},{"line_number":48,"context_line":"                  \u0027sort_dir\u0027: sort_dir"},{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_property0 \u003d snap_list[0][sort_key]"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_e0da634a","line":50,"range":{"start_line":50,"start_character":8,"end_line":50,"end_character":18},"in_reply_to":"5a3905b3_bba89378","updated":"2017-01-23 10:25:06.000000000","message":"Thanks for your comments, Done","commit_id":"c64b50c73886a3c993ae7e37ca6b62f01eb6acc2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d5d483f2dde3776a58d3a8fea276431206edbc6d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                  \u0027sort_dir\u0027: sort_dir"},{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_property0 \u003d snap_list[0][sort_key]"},{"line_number":54,"context_line":"        snap_property1 \u003d snap_list[1][sort_key]"},{"line_number":55,"context_line":"        if sort_dir \u003d\u003d \u0027asc\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_36e03afa","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":29},"updated":"2017-01-23 09:24:44.000000000","message":"this should not be there, let\u0027s do with \u0027name\u0027 only","commit_id":"c64b50c73886a3c993ae7e37ca6b62f01eb6acc2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3acdd52ddea06e251e1d8dbd42c445be1817eb18","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                  \u0027sort_dir\u0027: sort_dir"},{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_property0 \u003d snap_list[0][sort_key]"},{"line_number":54,"context_line":"        snap_property1 \u003d snap_list[1][sort_key]"},{"line_number":55,"context_line":"        if sort_dir \u003d\u003d \u0027asc\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a461143_30bb59c6","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":29},"in_reply_to":"5a3905b3_009ccf5b","updated":"2017-01-26 08:55:28.000000000","message":"yea you are right, its too bad API","commit_id":"c64b50c73886a3c993ae7e37ca6b62f01eb6acc2"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"f6ac7a6be6d07340467924bdb35caf3ef6fe645c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                  \u0027sort_dir\u0027: sort_dir"},{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_property0 \u003d snap_list[0][sort_key]"},{"line_number":54,"context_line":"        snap_property1 \u003d snap_list[1][sort_key]"},{"line_number":55,"context_line":"        if sort_dir \u003d\u003d \u0027asc\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_009ccf5b","line":52,"range":{"start_line":51,"start_character":0,"end_line":52,"end_character":29},"in_reply_to":"5a3905b3_36e03afa","updated":"2017-01-23 10:25:06.000000000","message":"Only \u0027display_name\u0027 is supported","commit_id":"c64b50c73886a3c993ae7e37ca6b62f01eb6acc2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d5d483f2dde3776a58d3a8fea276431206edbc6d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_property0 \u003d snap_list[0][sort_key]"},{"line_number":54,"context_line":"        snap_property1 \u003d snap_list[1][sort_key]"},{"line_number":55,"context_line":"        if sort_dir \u003d\u003d \u0027asc\u0027:"},{"line_number":56,"context_line":"            self.assertLess(snap_property0, snap_property1)"},{"line_number":57,"context_line":"        elif sort_dir \u003d\u003d \u0027desc\u0027:"},{"line_number":58,"context_line":"            self.assertGreater(snap_property0, snap_property1)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.idempotent_id(\u0027c5513ada-64c1-4d28-83b9-af3307ec1388\u0027)"},{"line_number":61,"context_line":"    def test_snapshot_list_param_sort_id_asc(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_dba2bfad","line":58,"range":{"start_line":53,"start_character":0,"end_line":58,"end_character":62},"updated":"2017-01-23 09:24:44.000000000","message":"I am ok with this but we are just verifying whether first 2 snapshots are sorted or not. what if 3rd or later one are not ? \n\nHow about something like this-\n\n        sorted_list \u003d [snapshot[sort_key] for snapshot in snap_list]\n        msg \u003d \u0027The list of snapshots was not sorted correctly.\u0027\n        self.assertEqual(sorted(sorted_list, reverse\u003d(sort_dir \u003d\u003d \u0027desc\u0027)), sorted_list, msg)","commit_id":"c64b50c73886a3c993ae7e37ca6b62f01eb6acc2"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"f6ac7a6be6d07340467924bdb35caf3ef6fe645c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":52,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":53,"context_line":"        snap_property0 \u003d snap_list[0][sort_key]"},{"line_number":54,"context_line":"        snap_property1 \u003d snap_list[1][sort_key]"},{"line_number":55,"context_line":"        if sort_dir \u003d\u003d \u0027asc\u0027:"},{"line_number":56,"context_line":"            self.assertLess(snap_property0, snap_property1)"},{"line_number":57,"context_line":"        elif sort_dir \u003d\u003d \u0027desc\u0027:"},{"line_number":58,"context_line":"            self.assertGreater(snap_property0, snap_property1)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    @test.idempotent_id(\u0027c5513ada-64c1-4d28-83b9-af3307ec1388\u0027)"},{"line_number":61,"context_line":"    def test_snapshot_list_param_sort_id_asc(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_433981d6","line":58,"range":{"start_line":53,"start_character":0,"end_line":58,"end_character":62},"in_reply_to":"5a3905b3_dba2bfad","updated":"2017-01-23 10:25:06.000000000","message":"Thanks, it is better","commit_id":"c64b50c73886a3c993ae7e37ca6b62f01eb6acc2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"d5d483f2dde3776a58d3a8fea276431206edbc6d","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    @test.idempotent_id(\u0027d58b5fed-0c37-42d3-8c5d-39014ac13c00\u0027)"},{"line_number":77,"context_line":"    def test_snapshot_list_param_sort_name_asc(self):"},{"line_number":78,"context_line":"        self._list_snapshots_param_sort(sort_key\u003d\u0027display_name\u0027,"},{"line_number":79,"context_line":"                                        sort_dir\u003d\u0027asc\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @test.idempotent_id(\u002796ba6f4d-1f18-47e1-b4bc-76edc6c21250\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_dbef1f85","line":78,"range":{"start_line":78,"start_character":49,"end_line":78,"end_character":63},"updated":"2017-01-23 09:24:44.000000000","message":"does v2 support sorting with \u0027display_name\u0027 ? it is little bit odd as it works with \u0027name\u0027 in POST etc and allow to filter/sort with \u0027display_name\u0027 also.\n\nlet\u0027s filter with \u0027name\u0027 only.","commit_id":"c64b50c73886a3c993ae7e37ca6b62f01eb6acc2"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"f6ac7a6be6d07340467924bdb35caf3ef6fe645c","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    @test.idempotent_id(\u0027d58b5fed-0c37-42d3-8c5d-39014ac13c00\u0027)"},{"line_number":77,"context_line":"    def test_snapshot_list_param_sort_name_asc(self):"},{"line_number":78,"context_line":"        self._list_snapshots_param_sort(sort_key\u003d\u0027display_name\u0027,"},{"line_number":79,"context_line":"                                        sort_dir\u003d\u0027asc\u0027)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @test.idempotent_id(\u002796ba6f4d-1f18-47e1-b4bc-76edc6c21250\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_00712fa8","line":78,"range":{"start_line":78,"start_character":49,"end_line":78,"end_character":63},"in_reply_to":"5a3905b3_dbef1f85","updated":"2017-01-23 10:25:06.000000000","message":"I know it is odd, but filter with \u0027name\u0027 is not supported.\nAs you can see:\ncurl -g -i -X GET http://192.168.100.130:8776/v2/09898b61faa4487da5dfd98b7ef0d452/snapshots/detail?sort\u003ddisplay_name%3Aasc","commit_id":"c64b50c73886a3c993ae7e37ca6b62f01eb6acc2"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"404b90ba05667af1f6ae30c19288855eede057e4","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        # Create a volume"},{"line_number":38,"context_line":"        cls.volume_origin \u003d cls.create_volume()"},{"line_number":39,"context_line":"        cls.name_field \u003d cls.special_fields[\u0027name_field\u0027]"},{"line_number":40,"context_line":"        # Create 2 snapshots"},{"line_number":41,"context_line":"        for _ in range(2):"},{"line_number":42,"context_line":"            snapshot \u003d cls.create_snapshot(cls.volume_origin[\u0027id\u0027])"},{"line_number":43,"context_line":"            cls.snapshot_id_list.append(snapshot[\u0027id\u0027])"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a3905b3_de37ec4a","line":41,"range":{"start_line":40,"start_character":8,"end_line":41,"end_character":26},"updated":"2017-01-23 19:26:54.000000000","message":"My only concern is only using 2 snapshots.  It seems possible that with only 2 snapshots an incorrect sorting function (or even random ordering) could still lead to a somewhat large number of falsely passing tests.","commit_id":"9af89ceeb9c1717a9ae7cc4ab679a0fe32bf90ff"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"4c600e3a8829a650c71b1e2afcce8080dbfc8e9a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        # Create a volume"},{"line_number":38,"context_line":"        cls.volume_origin \u003d cls.create_volume()"},{"line_number":39,"context_line":"        cls.name_field \u003d cls.special_fields[\u0027name_field\u0027]"},{"line_number":40,"context_line":"        # Create 2 snapshots"},{"line_number":41,"context_line":"        for _ in range(2):"},{"line_number":42,"context_line":"            snapshot \u003d cls.create_snapshot(cls.volume_origin[\u0027id\u0027])"},{"line_number":43,"context_line":"            cls.snapshot_id_list.append(snapshot[\u0027id\u0027])"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a3905b3_31571fcb","line":41,"range":{"start_line":40,"start_character":8,"end_line":41,"end_character":26},"in_reply_to":"5a3905b3_163219a7","updated":"2017-01-24 12:32:06.000000000","message":"Thanks, done","commit_id":"9af89ceeb9c1717a9ae7cc4ab679a0fe32bf90ff"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"38ac1aa8822e24e08e27fa73c1dc22096851e886","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        # Create a volume"},{"line_number":38,"context_line":"        cls.volume_origin \u003d cls.create_volume()"},{"line_number":39,"context_line":"        cls.name_field \u003d cls.special_fields[\u0027name_field\u0027]"},{"line_number":40,"context_line":"        # Create 2 snapshots"},{"line_number":41,"context_line":"        for _ in range(2):"},{"line_number":42,"context_line":"            snapshot \u003d cls.create_snapshot(cls.volume_origin[\u0027id\u0027])"},{"line_number":43,"context_line":"            cls.snapshot_id_list.append(snapshot[\u0027id\u0027])"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5a3905b3_163219a7","line":41,"range":{"start_line":40,"start_character":8,"end_line":41,"end_character":26},"in_reply_to":"5a3905b3_de37ec4a","updated":"2017-01-24 12:09:45.000000000","message":"+1. I think it\u0027s safer to create 3 snaps here.","commit_id":"9af89ceeb9c1717a9ae7cc4ab679a0fe32bf90ff"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"96f8f77de367542e6a4d3a31687e2cd13d998c65","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        # Create a volume"},{"line_number":38,"context_line":"        cls.volume_origin \u003d cls.create_volume()"},{"line_number":39,"context_line":"        cls.name_field \u003d cls.special_fields[\u0027name_field\u0027]"},{"line_number":40,"context_line":"        # Create 2 snapshots"},{"line_number":41,"context_line":"        for _ in range(3):"},{"line_number":42,"context_line":"            snapshot \u003d cls.create_snapshot(cls.volume_origin[\u0027id\u0027])"},{"line_number":43,"context_line":"            cls.snapshot_id_list.append(snapshot[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a461143_8946cebd","line":40,"range":{"start_line":40,"start_character":8,"end_line":40,"end_character":28},"updated":"2017-01-25 16:24:42.000000000","message":"Should probably update this comment to say Create 3 snapshots.","commit_id":"6fcafa335c4f83fdce9a65383314b55407cd99f9"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"c8d2b94e9f2f8b4e5363eb6efe954c6a7b6991ce","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        # Create a volume"},{"line_number":38,"context_line":"        cls.volume_origin \u003d cls.create_volume()"},{"line_number":39,"context_line":"        cls.name_field \u003d cls.special_fields[\u0027name_field\u0027]"},{"line_number":40,"context_line":"        # Create 2 snapshots"},{"line_number":41,"context_line":"        for _ in range(3):"},{"line_number":42,"context_line":"            snapshot \u003d cls.create_snapshot(cls.volume_origin[\u0027id\u0027])"},{"line_number":43,"context_line":"            cls.snapshot_id_list.append(snapshot[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a461143_6c761040","line":40,"range":{"start_line":40,"start_character":8,"end_line":40,"end_character":28},"in_reply_to":"3a461143_8946cebd","updated":"2017-01-25 16:37:12.000000000","message":"thanks :)","commit_id":"6fcafa335c4f83fdce9a65383314b55407cd99f9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"dd48deeefba59b29b3ec2c240384eb638ddff916","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _list_snapshots_param_sort(self, sort_key, sort_dir):"},{"line_number":46,"context_line":"        \"\"\"list snapshots by sort param\"\"\""},{"line_number":47,"context_line":"        params \u003d {\u0027sort_key\u0027: sort_key,"},{"line_number":48,"context_line":"                  \u0027sort_dir\u0027: sort_dir"},{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        self.assertNotEmpty(snap_list)"},{"line_number":52,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":53,"context_line":"            sort_key \u003d \u0027name\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_855ea343","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":79},"updated":"2017-01-25 21:04:29.000000000","message":"nit: Here can be replaced like\n\n snap_list \u003d self.snapshots_client.list_snapshots(\n     sort_key\u003dsort_key, sort_dir-sort_dir)[\u0027snapshot\u0027]","commit_id":"f1606544030a2c1e570aba02751e5fc319e3f19a"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"abf9ad8bb23540610608bd7b9f63b43d8a146879","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _list_snapshots_param_sort(self, sort_key, sort_dir):"},{"line_number":46,"context_line":"        \"\"\"list snapshots by sort param\"\"\""},{"line_number":47,"context_line":"        params \u003d {\u0027sort_key\u0027: sort_key,"},{"line_number":48,"context_line":"                  \u0027sort_dir\u0027: sort_dir"},{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        self.assertNotEmpty(snap_list)"},{"line_number":52,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":53,"context_line":"            sort_key \u003d \u0027name\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_6641ab0b","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":79},"in_reply_to":"3a461143_855ea343","updated":"2017-01-26 09:09:48.000000000","message":"Thanks, done","commit_id":"f1606544030a2c1e570aba02751e5fc319e3f19a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"dd48deeefba59b29b3ec2c240384eb638ddff916","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        self.assertNotEmpty(snap_list)"},{"line_number":52,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":53,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":54,"context_line":"        sorted_list \u003d [snapshot[sort_key] for snapshot in snap_list]"},{"line_number":55,"context_line":"        msg \u003d \u0027The list of snapshots was not sorted correctly.\u0027"},{"line_number":56,"context_line":"        self.assertEqual(sorted(sorted_list, reverse\u003d(sort_dir \u003d\u003d \u0027desc\u0027)),"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_25c16fe5","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":29},"updated":"2017-01-25 21:04:29.000000000","message":"Why don\u0027t we specify \u0027name\u0027 directly on caller sides?\n\nThis seems to make a small confusion..","commit_id":"f1606544030a2c1e570aba02751e5fc319e3f19a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9405a0ffdf387cfb571acd553766599017037a57","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        self.assertNotEmpty(snap_list)"},{"line_number":52,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":53,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":54,"context_line":"        sorted_list \u003d [snapshot[sort_key] for snapshot in snap_list]"},{"line_number":55,"context_line":"        msg \u003d \u0027The list of snapshots was not sorted correctly.\u0027"},{"line_number":56,"context_line":"        self.assertEqual(sorted(sorted_list, reverse\u003d(sort_dir \u003d\u003d \u0027desc\u0027)),"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_6bab368a","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":29},"in_reply_to":"3a461143_25c16fe5","updated":"2017-01-26 08:55:21.000000000","message":"I also gave same comment and thought cinder would be supporting name as v2 API all working on \u0027name\u0027 instead of \u0027display_name\u0027.\n\nAfter looking on V2 API it is too bad.\nsnapshots POST/GET/PUT all works with \u0027name\u0027 in request as well as in response. But only sort things does not work on \u0027name\u0027 it expect only \u0027display_name\u0027\n\nThis is because they have only \u0027display_name\u0027 (no \u0027name\u0027)in DB and sort from there directly. \n\nAll other APIs and filter etc they have all translation logic to convert \u0027name\u0027 to \u0027display_name\u0027- https://github.com/openstack/cinder/blob/master/cinder/api/v2/snapshots.py#L92\n\nThey should do the same for sort also. registered bug-1659504 if that can be improved with microversion","commit_id":"f1606544030a2c1e570aba02751e5fc319e3f19a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"d1725b772be73680467aca9bf92838e0fc648708","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                  }"},{"line_number":50,"context_line":"        snap_list \u003d self.snapshots_client.list_snapshots(**params)[\u0027snapshots\u0027]"},{"line_number":51,"context_line":"        self.assertNotEmpty(snap_list)"},{"line_number":52,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":53,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":54,"context_line":"        sorted_list \u003d [snapshot[sort_key] for snapshot in snap_list]"},{"line_number":55,"context_line":"        msg \u003d \u0027The list of snapshots was not sorted correctly.\u0027"},{"line_number":56,"context_line":"        self.assertEqual(sorted(sorted_list, reverse\u003d(sort_dir \u003d\u003d \u0027desc\u0027)),"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_f6e7dbe1","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":29},"in_reply_to":"3a461143_6bab368a","updated":"2017-01-27 02:12:04.000000000","message":"Oops, thanks for your explanation.\nThat thing should be written on the NOTE here to avoid confusions..","commit_id":"f1606544030a2c1e570aba02751e5fc319e3f19a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c510cc066b9e4abf9c213fc95a6f116ccb264239","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            sort_key\u003dsort_key, sort_dir\u003dsort_dir)[\u0027snapshots\u0027]"},{"line_number":49,"context_line":"        self.assertNotEmpty(snap_list)"},{"line_number":50,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":51,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":52,"context_line":"        sorted_list \u003d [snapshot[sort_key] for snapshot in snap_list]"},{"line_number":53,"context_line":"        msg \u003d \u0027The list of snapshots was not sorted correctly.\u0027"},{"line_number":54,"context_line":"        self.assertEqual(sorted(sorted_list, reverse\u003d(sort_dir \u003d\u003d \u0027desc\u0027)),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a461143_d663bf3f","line":51,"updated":"2017-01-27 02:18:38.000000000","message":"As I said on the previous commit, it is nice to put some NOTE why we need to change the key.\n\neg:\n  NOTE: On Cinder V2 API, \u0027display_name\u0027 works as a sort key\n  on a request, a volume name appears as \u0027name\u0027 on the response.\n  So Tempest needs to change the key name here for this inconsistent\n  API behavior.","commit_id":"0246d1df780303873e1d69effb9aef78a5f08ba8"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"7b5dbbe66f77a853a72f62452e1b5973b16b06a3","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            sort_key\u003dsort_key, sort_dir\u003dsort_dir)[\u0027snapshots\u0027]"},{"line_number":49,"context_line":"        self.assertNotEmpty(snap_list)"},{"line_number":50,"context_line":"        if sort_key is \u0027display_name\u0027:"},{"line_number":51,"context_line":"            sort_key \u003d \u0027name\u0027"},{"line_number":52,"context_line":"        sorted_list \u003d [snapshot[sort_key] for snapshot in snap_list]"},{"line_number":53,"context_line":"        msg \u003d \u0027The list of snapshots was not sorted correctly.\u0027"},{"line_number":54,"context_line":"        self.assertEqual(sorted(sorted_list, reverse\u003d(sort_dir \u003d\u003d \u0027desc\u0027)),"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a461143_cde93ee8","line":51,"in_reply_to":"3a461143_d663bf3f","updated":"2017-01-28 20:04:34.000000000","message":"Thanks, done","commit_id":"0246d1df780303873e1d69effb9aef78a5f08ba8"}]}
