)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"eaa10ac24132560e1d87abe707cf93d096ac0bf7","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Co-Authored-By: Satoru Moriya \u003csatoru.moriya.br@hitachi.com\u003e"},{"line_number":21,"context_line":"Co-Authored-By: Stephane Miller \u003cstephane@alum.mit.edu\u003e"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I485595b081b2c1c9f9bdf55382d06dd275784fad"},{"line_number":24,"context_line":"Partial-Bug: 1526231"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"bff0334d_dd553152","line":22,"updated":"2017-04-06 13:53:47.000000000","message":"Please add Depends-On: I328a698f2109841e1e122e17fea4b345c4179161","commit_id":"805b269d65011c4b7090b096b8b12cccbc43d7ea"}],"ironicclient/common/utils.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"50265cac91005ee06722463c3626c70298808360","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"def common_filters(marker\u003dNone, limit\u003dNone, sort_key\u003dNone, sort_dir\u003dNone,"},{"line_number":218,"context_line":"                   fields\u003dNone, detail\u003dNone):"},{"line_number":219,"context_line":"    \"\"\"Generate common filters for any list request."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    :param marker: entity ID from which to start returning entities."}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_d664404c","line":218,"range":{"start_line":218,"start_character":39,"end_line":218,"end_character":43},"updated":"2017-07-06 18:18:53.000000000","message":"Seems like this should be \"False\"","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"def common_filters(marker\u003dNone, limit\u003dNone, sort_key\u003dNone, sort_dir\u003dNone,"},{"line_number":218,"context_line":"                   fields\u003dNone, detail\u003dNone):"},{"line_number":219,"context_line":"    \"\"\"Generate common filters for any list request."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    :param marker: entity ID from which to start returning entities."}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_62e8fc7a","line":218,"range":{"start_line":218,"start_character":39,"end_line":218,"end_character":43},"in_reply_to":"3f1d235d_d664404c","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":225,"context_line":"    :param fields: a list with a specified set of fields of the resource"},{"line_number":226,"context_line":"                   to be returned."},{"line_number":227,"context_line":"    :param detail: a boolean whether to return detailed information for"},{"line_number":228,"context_line":"                   resources which accept \u0027detail\u0027 as a parameter."},{"line_number":229,"context_line":"    :returns: list of string filters."},{"line_number":230,"context_line":"    \"\"\""},{"line_number":231,"context_line":"    filters \u003d []"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_7942ff10","line":228,"updated":"2017-07-06 19:12:49.000000000","message":"maybe \u0027Boolean; True to return detailed information\u0027. Makes me wonder what the difference is between None and False. Oh, and I see we make a distinction in the code.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":225,"context_line":"    :param fields: a list with a specified set of fields of the resource"},{"line_number":226,"context_line":"                   to be returned."},{"line_number":227,"context_line":"    :param detail: a boolean whether to return detailed information for"},{"line_number":228,"context_line":"                   resources which accept \u0027detail\u0027 as a parameter."},{"line_number":229,"context_line":"    :returns: list of string filters."},{"line_number":230,"context_line":"    \"\"\""},{"line_number":231,"context_line":"    filters \u003d []"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_22068453","line":228,"in_reply_to":"3f1d235d_7942ff10","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        filters.append(\u0027sort_dir\u003d%s\u0027 % sort_dir)"},{"line_number":240,"context_line":"    if fields is not None:"},{"line_number":241,"context_line":"        filters.append(\u0027fields\u003d%s\u0027 % \u0027,\u0027.join(fields))"},{"line_number":242,"context_line":"    if detail:"},{"line_number":243,"context_line":"        filters.append(\u0027detail\u003d%s\u0027 % detail)"},{"line_number":244,"context_line":"    return filters"},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_59762372","line":242,"updated":"2017-07-06 19:12:49.000000000","message":"I think that we should be consistent and do what the rest of the code is doing. Because there is a slight difference between None and False (although the end result should be the same).\n\nif detail is not None:\n\nAlternatively, you can change L218 to be \u0027detail\u003dFalse\u0027. I\u0027m not sure if one way is better than the other, but seeing as how volume_connector calls this with detail\u003dFalse and we don\u0027t actually want to add \u0026detail\u003dFalse in the request to the server...","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        filters.append(\u0027sort_dir\u003d%s\u0027 % sort_dir)"},{"line_number":240,"context_line":"    if fields is not None:"},{"line_number":241,"context_line":"        filters.append(\u0027fields\u003d%s\u0027 % \u0027,\u0027.join(fields))"},{"line_number":242,"context_line":"    if detail:"},{"line_number":243,"context_line":"        filters.append(\u0027detail\u003d%s\u0027 % detail)"},{"line_number":244,"context_line":"    return filters"},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_626b5cf0","line":242,"in_reply_to":"3f1d235d_59762372","updated":"2017-07-07 05:03:11.000000000","message":"Initially, I thought these 3 cases.\n1. no detail parameter for old resources which not accept \u0027detail\u0027.\n2. detail\u003dFalse explicitly\n3. detail\u003dTrue\n\nHowever, case 2 is not necessary since there is no difference in a response between case 1 and 2.\nI fixed \u0027detail\u0027 here to have only True or False.\n\nThanks.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"50265cac91005ee06722463c3626c70298808360","unresolved":false,"context_lines":[{"line_number":240,"context_line":"    if fields is not None:"},{"line_number":241,"context_line":"        filters.append(\u0027fields\u003d%s\u0027 % \u0027,\u0027.join(fields))"},{"line_number":242,"context_line":"    if detail:"},{"line_number":243,"context_line":"        filters.append(\u0027detail\u003d%s\u0027 % detail)"},{"line_number":244,"context_line":"    return filters"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_56ddd0dd","line":243,"updated":"2017-07-06 18:18:53.000000000","message":"If detail is a boolean, seems like this should just be: detail\u003dTrue","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":240,"context_line":"    if fields is not None:"},{"line_number":241,"context_line":"        filters.append(\u0027fields\u003d%s\u0027 % \u0027,\u0027.join(fields))"},{"line_number":242,"context_line":"    if detail:"},{"line_number":243,"context_line":"        filters.append(\u0027detail\u003d%s\u0027 % detail)"},{"line_number":244,"context_line":"    return filters"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_e27e4cad","line":243,"in_reply_to":"3f1d235d_56ddd0dd","updated":"2017-07-07 05:03:11.000000000","message":"Done, Thanks.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"}],"ironicclient/tests/unit/v1/test_node.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":951,"context_line":"                NODE1[\u0027uuid\u0027], CONNECTOR[\u0027uuid\u0027]), {}, None),"},{"line_number":952,"context_line":"        ]"},{"line_number":953,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":954,"context_line":"        self.assertThat(volume_connectors, HasLength(1))"},{"line_number":955,"context_line":""},{"line_number":956,"context_line":"    def test_node_volume_connector_list_sort_key(self):"},{"line_number":957,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_sorting)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_443cfa2d","line":954,"updated":"2017-07-06 19:12:49.000000000","message":"why is it that you don\u0027t assertEqual() the uuid, type, \u0026 connector_id like the other tests do?","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":951,"context_line":"                NODE1[\u0027uuid\u0027], CONNECTOR[\u0027uuid\u0027]), {}, None),"},{"line_number":952,"context_line":"        ]"},{"line_number":953,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":954,"context_line":"        self.assertThat(volume_connectors, HasLength(1))"},{"line_number":955,"context_line":""},{"line_number":956,"context_line":"    def test_node_volume_connector_list_sort_key(self):"},{"line_number":957,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_sorting)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_65f12601","line":954,"in_reply_to":"3f1d235d_443cfa2d","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":994,"context_line":"             {}, None),"},{"line_number":995,"context_line":"        ]"},{"line_number":996,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":997,"context_line":"        self.assertEqual(1, len(volume_connectors))"},{"line_number":998,"context_line":""},{"line_number":999,"context_line":"    def test_node_volume_connector_list_fields(self):"},{"line_number":1000,"context_line":"        volume_connectors \u003d self.mgr.list_volume_connectors("}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_e464264c","line":997,"updated":"2017-07-06 19:12:49.000000000","message":"ditto","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":994,"context_line":"             {}, None),"},{"line_number":995,"context_line":"        ]"},{"line_number":996,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":997,"context_line":"        self.assertEqual(1, len(volume_connectors))"},{"line_number":998,"context_line":""},{"line_number":999,"context_line":"    def test_node_volume_connector_list_fields(self):"},{"line_number":1000,"context_line":"        volume_connectors \u003d self.mgr.list_volume_connectors("}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_45150a48","line":997,"in_reply_to":"3f1d235d_e464264c","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":1004,"context_line":"             NODE1[\u0027uuid\u0027], {}, None),"},{"line_number":1005,"context_line":"        ]"},{"line_number":1006,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":1007,"context_line":"        self.assertEqual(1, len(volume_connectors))"},{"line_number":1008,"context_line":""},{"line_number":1009,"context_line":"    def test_node_volume_connector_list_detail_and_fields_fail(self):"},{"line_number":1010,"context_line":"        self.assertRaises(exc.InvalidAttribute,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_845d727a","line":1007,"updated":"2017-07-06 19:12:49.000000000","message":"ditto","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":1004,"context_line":"             NODE1[\u0027uuid\u0027], {}, None),"},{"line_number":1005,"context_line":"        ]"},{"line_number":1006,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":1007,"context_line":"        self.assertEqual(1, len(volume_connectors))"},{"line_number":1008,"context_line":""},{"line_number":1009,"context_line":"    def test_node_volume_connector_list_detail_and_fields_fail(self):"},{"line_number":1010,"context_line":"        self.assertRaises(exc.InvalidAttribute,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_050b9229","line":1007,"in_reply_to":"3f1d235d_845d727a","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"}],"ironicclient/tests/unit/v1/test_volume_connector.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import ironicclient.v1.port"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"NODE_UUID \u003d \u002755555555-4444-3333-2222-111111111111\u0027"},{"line_number":25,"context_line":"CONNECTOR \u003d {\u0027id\u0027: 987,"},{"line_number":26,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":27,"context_line":"             \u0027node_uuid\u0027: NODE_UUID,"},{"line_number":28,"context_line":"             \u0027type\u0027: \u0027iqn\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_24fc5e3c","line":25,"updated":"2017-07-06 19:12:49.000000000","message":"wondering why you didn\u0027t name this CONNECTOR1","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import ironicclient.v1.port"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"NODE_UUID \u003d \u002755555555-4444-3333-2222-111111111111\u0027"},{"line_number":25,"context_line":"CONNECTOR \u003d {\u0027id\u0027: 987,"},{"line_number":26,"context_line":"             \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":27,"context_line":"             \u0027node_uuid\u0027: NODE_UUID,"},{"line_number":28,"context_line":"             \u0027type\u0027: \u0027iqn\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_8819f9d7","line":25,"in_reply_to":"3f1d235d_24fc5e3c","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":30,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CONNECTOR2 \u003d {\u0027id\u0027: 988,"},{"line_number":33,"context_line":"              \u0027uuid\u0027: \u002755555555-4444-3333-2222-111111111111\u0027,"},{"line_number":34,"context_line":"              \u0027node_uuid\u0027: NODE_UUID,"},{"line_number":35,"context_line":"              \u0027type\u0027: \u0027wwpn\u0027,"},{"line_number":36,"context_line":"              \u0027connector_id\u0027: \u00271234567890543216\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_44019a37","line":33,"updated":"2017-07-06 19:12:49.000000000","message":"I\u0027m not sure, but this looks like it is the same value as NODE_UUID, which shouldn\u0027t be allowed.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":30,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CONNECTOR2 \u003d {\u0027id\u0027: 988,"},{"line_number":33,"context_line":"              \u0027uuid\u0027: \u002755555555-4444-3333-2222-111111111111\u0027,"},{"line_number":34,"context_line":"              \u0027node_uuid\u0027: NODE_UUID,"},{"line_number":35,"context_line":"              \u0027type\u0027: \u0027wwpn\u0027,"},{"line_number":36,"context_line":"              \u0027connector_id\u0027: \u00271234567890543216\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_680c5d93","line":33,"in_reply_to":"3f1d235d_44019a37","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            (\u0027GET\u0027, \u0027/v1/volume/connectors/?sort_key\u003dupdated_at\u0027, {}, None)"},{"line_number":255,"context_line":"        ]"},{"line_number":256,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":257,"context_line":"        self.assertEqual(2, len(volume_connectors))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def test_volume_connectors_list_sort_dir(self):"},{"line_number":260,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_sorting)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_df9d73bc","line":257,"updated":"2017-07-06 19:12:49.000000000","message":"I wonder how useful these tests are. If you get two back, should we check that they are ordered as expected?","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":254,"context_line":"            (\u0027GET\u0027, \u0027/v1/volume/connectors/?sort_key\u003dupdated_at\u0027, {}, None)"},{"line_number":255,"context_line":"        ]"},{"line_number":256,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":257,"context_line":"        self.assertEqual(2, len(volume_connectors))"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def test_volume_connectors_list_sort_dir(self):"},{"line_number":260,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_sorting)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_8bf57359","line":257,"in_reply_to":"3f1d235d_df9d73bc","updated":"2017-07-07 05:03:11.000000000","message":"I fixed whole tests with more validation.\nThanks.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":265,"context_line":"            (\u0027GET\u0027, \u0027/v1/volume/connectors/?sort_dir\u003ddesc\u0027, {}, None)"},{"line_number":266,"context_line":"        ]"},{"line_number":267,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":268,"context_line":"        self.assertEqual(2, len(volume_connectors))"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def test_volume_connectors_show(self):"},{"line_number":271,"context_line":"        volume_connector \u003d self.mgr.get(CONNECTOR[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_bfa077f5","line":268,"updated":"2017-07-06 19:12:49.000000000","message":"ditto","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        self.assertEqual(expect, self.api.calls)"},{"line_number":290,"context_line":"        self.assertEqual(CONNECTOR[\u0027uuid\u0027], volume_connector.uuid)"},{"line_number":291,"context_line":"        self.assertEqual(CONNECTOR[\u0027connector_id\u0027],"},{"line_number":292,"context_line":"                         volume_connector.connector_id)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def test_create(self):"},{"line_number":295,"context_line":"        volume_connector \u003d self.mgr.create(**CREATE_CONNECTOR)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_1f908b94","line":292,"updated":"2017-07-06 19:12:49.000000000","message":"seems like what we also want to know is whether other fields were returned. But I\u0027m guessing it isn\u0027t worth testing for that :-)","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ef4d62f75e87139b8efb79c471dfddeb5fcf868f","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            self.assertEqual(expect[\u0027uuid\u0027], obj.uuid)"},{"line_number":162,"context_line":"            self.assertEqual(expect[\u0027type\u0027], obj.type)"},{"line_number":163,"context_line":"            self.assertEqual(expect[\u0027connector_id\u0027], obj.connector_id)"},{"line_number":164,"context_line":"            self.assertEqual(expect[\u0027node_uuid\u0027], obj.node_uuid)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def _validate_list(self, expect_request,"},{"line_number":167,"context_line":"                       expect_connectors, actual_connectors):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3f1d235d_5b7cb471","line":164,"updated":"2017-07-07 16:16:42.000000000","message":"overindent","commit_id":"8f0c442c2ea463ebb038f0cc3d54a9906fda741a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"971bbb3767bc8fa7d996fd2879dac1615f713cd6","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            self.assertEqual(expect[\u0027uuid\u0027], obj.uuid)"},{"line_number":162,"context_line":"            self.assertEqual(expect[\u0027type\u0027], obj.type)"},{"line_number":163,"context_line":"            self.assertEqual(expect[\u0027connector_id\u0027], obj.connector_id)"},{"line_number":164,"context_line":"            self.assertEqual(expect[\u0027node_uuid\u0027], obj.node_uuid)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def _validate_list(self, expect_request,"},{"line_number":167,"context_line":"                       expect_connectors, actual_connectors):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3f1d235d_5e126264","line":164,"in_reply_to":"3f1d235d_5b7cb471","updated":"2017-07-07 17:04:52.000000000","message":"Great catch!","commit_id":"8f0c442c2ea463ebb038f0cc3d54a9906fda741a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ef4d62f75e87139b8efb79c471dfddeb5fcf868f","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        self.assertRaises(exc.InvalidAttribute, self.mgr.list,"},{"line_number":219,"context_line":"                          detail\u003dTrue, fields\u003d[\u0027uuid\u0027, \u0027connector_id\u0027])"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"    def test_volume_connectors_list_limit(self):"},{"line_number":222,"context_line":"        self.api \u003d utils.FakeAPI(fake_responses_pagination)"},{"line_number":223,"context_line":"        self.mgr \u003d ironicclient.v1.volume_connector.VolumeConnectorManager("},{"line_number":224,"context_line":"            self.api)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3f1d235d_fbca606c","line":221,"updated":"2017-07-07 16:16:42.000000000","message":"the tests that set mock the responses differently could be moved to a separate class to reduce code duplication a bit","commit_id":"8f0c442c2ea463ebb038f0cc3d54a9906fda741a"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ef4d62f75e87139b8efb79c471dfddeb5fcf868f","unresolved":false,"context_lines":[{"line_number":226,"context_line":"        expect \u003d ["},{"line_number":227,"context_line":"            (\u0027GET\u0027, \u0027/v1/volume/connectors/?limit\u003d1\u0027, {}, None),"},{"line_number":228,"context_line":"        ]"},{"line_number":229,"context_line":"        expect_connectors \u003d [CONNECTOR2]"},{"line_number":230,"context_line":"        self._validate_list(expect, expect_connectors, volume_connectors)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def test_volume_connectors_list_marker(self):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3f1d235d_1b93dc5e","line":229,"range":{"start_line":229,"start_character":29,"end_line":229,"end_character":39},"updated":"2017-07-07 16:16:42.000000000","message":"if it is limit\u003d1 and the next test does marker\u003dconn1 returning conn2, I suppose this should be connector1?","commit_id":"8f0c442c2ea463ebb038f0cc3d54a9906fda741a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"971bbb3767bc8fa7d996fd2879dac1615f713cd6","unresolved":false,"context_lines":[{"line_number":226,"context_line":"        expect \u003d ["},{"line_number":227,"context_line":"            (\u0027GET\u0027, \u0027/v1/volume/connectors/?limit\u003d1\u0027, {}, None),"},{"line_number":228,"context_line":"        ]"},{"line_number":229,"context_line":"        expect_connectors \u003d [CONNECTOR2]"},{"line_number":230,"context_line":"        self._validate_list(expect, expect_connectors, volume_connectors)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def test_volume_connectors_list_marker(self):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3f1d235d_f10ddf35","line":229,"range":{"start_line":229,"start_character":29,"end_line":229,"end_character":39},"in_reply_to":"3f1d235d_1b93dc5e","updated":"2017-07-07 17:04:52.000000000","message":"Uhh, I think this would actually depend on backend database behavior since I think the limit is passed all the way down to the database.","commit_id":"8f0c442c2ea463ebb038f0cc3d54a9906fda741a"}],"ironicclient/v1/node.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ab738f92d89c0f161007d672e55f542a8748735a","unresolved":false,"context_lines":[{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        path \u003d \"%s/volume/connectors\" % node_id"},{"line_number":242,"context_line":"        if detail:"},{"line_number":243,"context_line":"            path +\u003d \u0027/detail\u0027"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        if filters:"},{"line_number":246,"context_line":"            path +\u003d \u0027?\u0027 + \u0027\u0026\u0027.join(filters)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f1d235d_2e25f1ab","line":243,"updated":"2017-07-02 11:28:27.000000000","message":"fyi I\u0027ve requested this to be changed in the API, and to add \"detail\" to filters instead","commit_id":"58a90f16631156c0b28f34238fc7bf77ff8c1ae1"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                               fields\u003dNone):"},{"line_number":201,"context_line":"        \"\"\"List all the volume connectors for a given node."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        :param node_id: The UUID of the node."},{"line_number":204,"context_line":"        :param marker: Optional, the UUID of a volume connector, eg the last"},{"line_number":205,"context_line":"                       volume connector from a previous result set. Return"},{"line_number":206,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_a4a98e90","line":203,"updated":"2017-07-06 19:12:49.000000000","message":"doesn\u0027t it also work for the name of a node?","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                               fields\u003dNone):"},{"line_number":201,"context_line":"        \"\"\"List all the volume connectors for a given node."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        :param node_id: The UUID of the node."},{"line_number":204,"context_line":"        :param marker: Optional, the UUID of a volume connector, eg the last"},{"line_number":205,"context_line":"                       volume connector from a previous result set. Return"},{"line_number":206,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_c227d0c6","line":203,"in_reply_to":"3f1d235d_a4a98e90","updated":"2017-07-07 05:03:11.000000000","message":"It works for the name. Thanks.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"50265cac91005ee06722463c3626c70298808360","unresolved":false,"context_lines":[{"line_number":235,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":236,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":239,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        path \u003d \"%s/volume/connectors\" % node_id"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_799aff61","line":238,"updated":"2017-07-06 18:18:53.000000000","message":"Please use keyword arguments, let\u0027s not depend on getting the order correct.\n\n filters \u003d utils.common_filters(marker\u003dmarker, limit\u003dlimit,\n                               sort_key\u003dsort_key, sort_dir\u003dsort_dir,\n                               fields\u003dfields, detail\u003ddetail)","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":235,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":236,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":239,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        path \u003d \"%s/volume/connectors\" % node_id"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_a5017e07","line":238,"in_reply_to":"3f1d235d_799aff61","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"}],"ironicclient/v1/node_shell.py":[{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"6421144b97c6a0ed4c545f54d34abc15f13432d3","unresolved":false,"context_lines":[{"line_number":412,"context_line":"    dest\u003d\u0027detail\u0027,"},{"line_number":413,"context_line":"    action\u003d\u0027store_true\u0027,"},{"line_number":414,"context_line":"    default\u003dFalse,"},{"line_number":415,"context_line":"    help\u003d\"Show detailed information about the volume connectors.\")"},{"line_number":416,"context_line":"@cliutils.arg("},{"line_number":417,"context_line":"    \u0027--limit\u0027,"},{"line_number":418,"context_line":"    metavar\u003d\u0027\u003climit\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a629dbe_0c688cb8","line":415,"range":{"start_line":415,"start_character":9,"end_line":415,"end_character":65},"updated":"2016-11-10 07:32:38.000000000","message":"It would be better to support I18N message such as:\n _(\"Show detailed information about the volume connectors.\")\n\nThis is same comment as https://review.openstack.org/#/c/285233/13/ironicclient/v1/node_shell.py","commit_id":"c9bf07247ffcb22632f811c8c387c676f8575b24"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"6421144b97c6a0ed4c545f54d34abc15f13432d3","unresolved":false,"context_lines":[{"line_number":417,"context_line":"    \u0027--limit\u0027,"},{"line_number":418,"context_line":"    metavar\u003d\u0027\u003climit\u003e\u0027,"},{"line_number":419,"context_line":"    type\u003dint,"},{"line_number":420,"context_line":"    help\u003d\u0027Maximum number of volume connectors to return per request, \u0027"},{"line_number":421,"context_line":"         \u00270 for no limit. Default is the maximum number used \u0027"},{"line_number":422,"context_line":"         \u0027by the Ironic API Service.\u0027)"},{"line_number":423,"context_line":"@cliutils.arg("},{"line_number":424,"context_line":"    \u0027--marker\u0027,"},{"line_number":425,"context_line":"    metavar\u003d\u0027\u003cvolume connector\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a629dbe_8cf01c00","line":422,"range":{"start_line":420,"start_character":9,"end_line":422,"end_character":37},"updated":"2016-11-10 07:32:38.000000000","message":"ditto","commit_id":"c9bf07247ffcb22632f811c8c387c676f8575b24"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"6421144b97c6a0ed4c545f54d34abc15f13432d3","unresolved":false,"context_lines":[{"line_number":423,"context_line":"@cliutils.arg("},{"line_number":424,"context_line":"    \u0027--marker\u0027,"},{"line_number":425,"context_line":"    metavar\u003d\u0027\u003cvolume connector\u003e\u0027,"},{"line_number":426,"context_line":"    help\u003d\u0027Volume Connector UUID (for example, of the last volume connector in \u0027"},{"line_number":427,"context_line":"         \u0027the list from a previous request). Returns the list of volume \u0027"},{"line_number":428,"context_line":"         \u0027connectors after this UUID.\u0027)"},{"line_number":429,"context_line":"@cliutils.arg("},{"line_number":430,"context_line":"    \u0027--sort-key\u0027,"},{"line_number":431,"context_line":"    metavar\u003d\u0027\u003cfield\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a629dbe_ccf694f8","line":428,"range":{"start_line":426,"start_character":9,"end_line":428,"end_character":37},"updated":"2016-11-10 07:32:38.000000000","message":"ditto","commit_id":"c9bf07247ffcb22632f811c8c387c676f8575b24"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"6421144b97c6a0ed4c545f54d34abc15f13432d3","unresolved":false,"context_lines":[{"line_number":429,"context_line":"@cliutils.arg("},{"line_number":430,"context_line":"    \u0027--sort-key\u0027,"},{"line_number":431,"context_line":"    metavar\u003d\u0027\u003cfield\u003e\u0027,"},{"line_number":432,"context_line":"    help\u003d\u0027Volume Connector field that will be used for sorting.\u0027)"},{"line_number":433,"context_line":"@cliutils.arg("},{"line_number":434,"context_line":"    \u0027--sort-dir\u0027,"},{"line_number":435,"context_line":"    metavar\u003d\u0027\u003cdirection\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a629dbe_2ce63044","line":432,"range":{"start_line":432,"start_character":9,"end_line":432,"end_character":64},"updated":"2016-11-10 07:32:38.000000000","message":"ditto","commit_id":"c9bf07247ffcb22632f811c8c387c676f8575b24"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"6421144b97c6a0ed4c545f54d34abc15f13432d3","unresolved":false,"context_lines":[{"line_number":434,"context_line":"    \u0027--sort-dir\u0027,"},{"line_number":435,"context_line":"    metavar\u003d\u0027\u003cdirection\u003e\u0027,"},{"line_number":436,"context_line":"    choices\u003d[\u0027asc\u0027, \u0027desc\u0027],"},{"line_number":437,"context_line":"    help\u003d\u0027Sort direction: \"asc\" (the default) or \"desc\".\u0027)"},{"line_number":438,"context_line":"@cliutils.arg(\u0027node\u0027, metavar\u003d\u0027\u003cnode\u003e\u0027, help\u003d\"UUID of the node.\")"},{"line_number":439,"context_line":"@cliutils.arg("},{"line_number":440,"context_line":"    \u0027--fields\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a629dbe_acc880a9","line":437,"range":{"start_line":437,"start_character":9,"end_line":437,"end_character":57},"updated":"2016-11-10 07:32:38.000000000","message":"ditto","commit_id":"c9bf07247ffcb22632f811c8c387c676f8575b24"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"6421144b97c6a0ed4c545f54d34abc15f13432d3","unresolved":false,"context_lines":[{"line_number":443,"context_line":"    metavar\u003d\u0027\u003cfield\u003e\u0027,"},{"line_number":444,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":445,"context_line":"    default\u003d[],"},{"line_number":446,"context_line":"    help\u003d\"One or more volume connector fields. Only these fields will be \""},{"line_number":447,"context_line":"         \"fetched from the server. Can not be used when \u0027--detail\u0027 is \""},{"line_number":448,"context_line":"         \"specified.\")"},{"line_number":449,"context_line":"def do_node_volume_connector_list(cc, args):"},{"line_number":450,"context_line":"    \"\"\"List the volume connectors associated with a node.\"\"\""},{"line_number":451,"context_line":"    if args.detail:"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a629dbe_4c51a4d7","line":448,"range":{"start_line":446,"start_character":9,"end_line":448,"end_character":21},"updated":"2016-11-10 07:32:38.000000000","message":"ditto","commit_id":"c9bf07247ffcb22632f811c8c387c676f8575b24"}],"ironicclient/v1/volume_connector.py":[{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"91c44ba89acb3e50be2a28a0e2e2efd0bcaff043","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def list(self, node\u003dNone, limit\u003dNone, marker\u003dNone, sort_key\u003dNone,"},{"line_number":32,"context_line":"             sort_dir\u003dNone, detail\u003dFalse, fields\u003dNone):"},{"line_number":33,"context_line":"        \"\"\"Retrieve a list of volume connector."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        :param node:   Optional, node of a volume connector, to get"},{"line_number":36,"context_line":"                       the volume connector which has this node"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_50807346","line":33,"range":{"start_line":33,"start_character":37,"end_line":33,"end_character":46},"updated":"2016-05-10 03:03:49.000000000","message":"s/connector/connectors/","commit_id":"faf96a9be7a78b6a1de885e77426b76274f816a9"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        \"\"\"Retrieve a list of volume connector."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param node:   Optional, node of a volume connector, to get"},{"line_number":37,"context_line":"                       the volume connector which has this node"},{"line_number":38,"context_line":"        :param marker: Optional, the UUID of a volume connector, eg the last"},{"line_number":39,"context_line":"                       volume connector from a previous result set. Return"},{"line_number":40,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_99b6fb89","line":37,"updated":"2017-07-06 19:12:49.000000000","message":"This can get more than one volume connector, right?\n\nhow about \u0027Optional, UUID or name of a node, to get volume connectors for this node only.\u0027","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        \"\"\"Retrieve a list of volume connector."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param node:   Optional, node of a volume connector, to get"},{"line_number":37,"context_line":"                       the volume connector which has this node"},{"line_number":38,"context_line":"        :param marker: Optional, the UUID of a volume connector, eg the last"},{"line_number":39,"context_line":"                       volume connector from a previous result set. Return"},{"line_number":40,"context_line":"                       the next result set."}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_25432e44","line":37,"in_reply_to":"3f1d235d_99b6fb89","updated":"2017-07-07 05:03:11.000000000","message":"Yes, it can get more then one connector.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"50265cac91005ee06722463c3626c70298808360","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":70,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":73,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":74,"context_line":"        if node is not None:"},{"line_number":75,"context_line":"            filters.append(\u0027node\u003d%s\u0027 % node)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_19d9cb20","line":72,"updated":"2017-07-06 18:18:53.000000000","message":"Please use keyword arguments, let\u0027s not depend on getting the order correct.\n\n filters \u003d utils.common_filters(marker\u003dmarker, limit\u003dlimit,\n                               sort_key\u003dsort_key, sort_dir\u003dsort_dir,\n                               fields\u003dfields, detail\u003ddetail)","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":70,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":73,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":74,"context_line":"        if node is not None:"},{"line_number":75,"context_line":"            filters.append(\u0027node\u003d%s\u0027 % node)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_392247ba","line":72,"updated":"2017-07-06 19:12:49.000000000","message":"hmm, it should be marker\u003dmarker, sort_key\u003dsort_key, ... but I\u0027m guessing this is a copy/paste.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"038b8c9ab955adf7b0325c909da8064d1fe6ca4f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":70,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":73,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":74,"context_line":"        if node is not None:"},{"line_number":75,"context_line":"            filters.append(\u0027node\u003d%s\u0027 % node)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_ca1933d7","line":72,"in_reply_to":"3f1d235d_392247ba","updated":"2017-07-06 20:06:14.000000000","message":"copy and paste yes. Though it looks correct to me. I see: marker, limit, sort_key, sort_dir, fields, and detail.\n\nBut please do it correctly :)","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":70,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":73,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":74,"context_line":"        if node is not None:"},{"line_number":75,"context_line":"            filters.append(\u0027node\u003d%s\u0027 % node)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_a5785e8f","line":72,"in_reply_to":"3f1d235d_ca1933d7","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"}],"ironicclient/v1/volume_connector_shell.py":[{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"91c44ba89acb3e50be2a28a0e2e2efd0bcaff043","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        field_labels \u003d res_fields.VOLUME_CONNECTOR_RESOURCE.labels"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    sort_fields \u003d res_fields.VOLUME_CONNECTOR_DETAILED_RESOURCE.sort_fields"},{"line_number":116,"context_line":"    sort_field_labels \u003d \\"},{"line_number":117,"context_line":"        res_fields.VOLUME_CONNECTOR_DETAILED_RESOURCE.sort_labels"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    params.update(utils.common_params_for_list(args,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_90cadb6c","line":116,"range":{"start_line":116,"start_character":24,"end_line":116,"end_character":25},"updated":"2016-05-10 03:03:49.000000000","message":"According to the openstack style guidelines, it\u0027s better to be a parentheses here.","commit_id":"faf96a9be7a78b6a1de885e77426b76274f816a9"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"6421144b97c6a0ed4c545f54d34abc15f13432d3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"@cliutils.arg("},{"line_number":29,"context_line":"    \u0027volume_connector\u0027,"},{"line_number":30,"context_line":"    metavar\u003d\u0027\u003cid\u003e\u0027,"},{"line_number":31,"context_line":"    help\u003d\"UUID of the volume connector.\")"},{"line_number":32,"context_line":"@cliutils.arg("},{"line_number":33,"context_line":"    \u0027--fields\u0027,"},{"line_number":34,"context_line":"    nargs\u003d\u0027+\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a629dbe_acdb204e","line":31,"range":{"start_line":31,"start_character":9,"end_line":31,"end_character":40},"updated":"2016-11-10 07:32:38.000000000","message":"ditto to all helps.","commit_id":"c9bf07247ffcb22632f811c8c387c676f8575b24"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ab738f92d89c0f161007d672e55f542a8748735a","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    help\u003d_(\"Record arbitrary key/value metadata. \""},{"line_number":136,"context_line":"           \"Can be specified multiple times.\"))"},{"line_number":137,"context_line":"@cliutils.arg("},{"line_number":138,"context_line":"    \u0027-n\u0027, \u0027--node\u0027, \u0027--node_uuid\u0027,"},{"line_number":139,"context_line":"    dest\u003d\u0027node_uuid\u0027,"},{"line_number":140,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":141,"context_line":"    required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f1d235d_0e3c75c6","line":138,"updated":"2017-07-02 11:28:27.000000000","message":"let\u0027s drop --node_uuid from here, --node is enough","commit_id":"58a90f16631156c0b28f34238fc7bf77ff8c1ae1"}],"releasenotes/notes/add-volume-connector-api-873090474d5e41b8.yaml":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds new Python APIs supproting volume connector resources introduced in"},{"line_number":5,"context_line":"    API version 1.32."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The following methods are added to client:"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f1d235d_04b96213","line":4,"updated":"2017-07-06 19:12:49.000000000","message":"s/supproting/supporting/","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"50265cac91005ee06722463c3626c70298808360","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds new Python APIs supproting volume connector resources introduced in"},{"line_number":5,"context_line":"    API version 1.32."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The following methods are added to client:"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f1d235d_d71b45c7","line":4,"range":{"start_line":4,"start_character":25,"end_line":4,"end_character":35},"updated":"2017-07-06 18:18:53.000000000","message":"supporting","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Adds new Python APIs supproting volume connector resources introduced in"},{"line_number":5,"context_line":"    API version 1.32."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The following methods are added to client:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    * ``client.volume_connector.create`` for creating a volume connector."},{"line_number":10,"context_line":"    * ``client.volume_connector.list`` for listing volume connectors."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f1d235d_64e936e4","line":7,"updated":"2017-07-06 19:12:49.000000000","message":"How about replacing the above lines with:\n\nAdds these python API client methods to support volume connector resources (available starting with API version 1.32):","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Adds new Python APIs supproting volume connector resources introduced in"},{"line_number":5,"context_line":"    API version 1.32."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The following methods are added to client:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    * ``client.volume_connector.create`` for creating a volume connector."},{"line_number":10,"context_line":"    * ``client.volume_connector.list`` for listing volume connectors."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f1d235d_8b68d3f4","line":7,"in_reply_to":"3f1d235d_64e936e4","updated":"2017-07-07 05:03:11.000000000","message":"Thank you for the advice.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b22fb3d2024c5ec23a5fb265f71eeeb0912f6158","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The following methods are added to client:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    * ``client.volume_connector.create`` for creating a volume connector."},{"line_number":10,"context_line":"    * ``client.volume_connector.list`` for listing volume connectors."},{"line_number":11,"context_line":"    * ``client.volume_connector.get`` for getting a volume connector."},{"line_number":12,"context_line":"    * ``client.volume_connector.update`` for updating a volume connector."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f1d235d_845b32f4","line":9,"updated":"2017-07-06 19:12:49.000000000","message":"no need for period at the end of this and the other lines below.","commit_id":"928eeae34f92e85f050456532ff03d036e362381"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"30ba91e344facc08bd23f055fb249c3bb72bf985","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    The following methods are added to client:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    * ``client.volume_connector.create`` for creating a volume connector."},{"line_number":10,"context_line":"    * ``client.volume_connector.list`` for listing volume connectors."},{"line_number":11,"context_line":"    * ``client.volume_connector.get`` for getting a volume connector."},{"line_number":12,"context_line":"    * ``client.volume_connector.update`` for updating a volume connector."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f1d235d_2b79bfc6","line":9,"in_reply_to":"3f1d235d_845b32f4","updated":"2017-07-07 05:03:11.000000000","message":"Done","commit_id":"928eeae34f92e85f050456532ff03d036e362381"}]}
