)]}'
{"ironicclient/tests/unit/v1/test_node.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"d7ce9d3bf6216c7d3d82b1a6c515269bfd6baa9a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"             \u0027connector_id\u0027: \u0027iqn.2010-10.org.openstack:test\u0027,"},{"line_number":66,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":67,"context_line":"TARGET \u003d {\u0027id\u0027: 987,"},{"line_number":68,"context_line":"          \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":69,"context_line":"          \u0027node_id\u0027: 123,"},{"line_number":70,"context_line":"          \u0027volume_type\u0027: \u0027iscsi\u0027,"},{"line_number":71,"context_line":"          \u0027properties\u0027: {\u0027target_iqn\u0027: \u0027iqn.foo\u0027},"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_2520d8f6","line":68,"updated":"2017-07-06 20:56:33.000000000","message":"sigh. We shouldn\u0027t just be blindly copy/pasting, even if a test. We shouldn\u0027t use the same uuid for port, portgroup, connector and target. or the same id.  because if we had one test that used all those resources, it would be wrong.","commit_id":"ee6f76049726c927d505eb1118a75e94a7fcde22"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"551b7afb65ac06b6c0d4199741ad423c96439bce","unresolved":false,"context_lines":[{"line_number":65,"context_line":"             \u0027connector_id\u0027: \u0027iqn.2010-10.org.openstack:test\u0027,"},{"line_number":66,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":67,"context_line":"TARGET \u003d {\u0027id\u0027: 987,"},{"line_number":68,"context_line":"          \u0027uuid\u0027: \u002711111111-2222-3333-4444-555555555555\u0027,"},{"line_number":69,"context_line":"          \u0027node_id\u0027: 123,"},{"line_number":70,"context_line":"          \u0027volume_type\u0027: \u0027iscsi\u0027,"},{"line_number":71,"context_line":"          \u0027properties\u0027: {\u0027target_iqn\u0027: \u0027iqn.foo\u0027},"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_7619dad4","line":68,"in_reply_to":"3f1d235d_2520d8f6","updated":"2017-07-07 06:01:32.000000000","message":"I will keep it in mind. Thank you.","commit_id":"ee6f76049726c927d505eb1118a75e94a7fcde22"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"88fb091ffc82b46b32473de041bf865a12fcc9d8","unresolved":false,"context_lines":[{"line_number":66,"context_line":"             \u0027connector_id\u0027: \u0027iqn.2010-10.org.openstack:test\u0027,"},{"line_number":67,"context_line":"             \u0027extra\u0027: {}}"},{"line_number":68,"context_line":"TARGET \u003d {\u0027uuid\u0027: \u0027cccccccc-dddd-eeee-ffff-000000000000\u0027,"},{"line_number":69,"context_line":"          \u0027node_uuid\u0027: \u0027dddddddd-eeee-ffff-0000-111111111111\u0027,"},{"line_number":70,"context_line":"          \u0027volume_type\u0027: \u0027iscsi\u0027,"},{"line_number":71,"context_line":"          \u0027properties\u0027: {\u0027target_iqn\u0027: \u0027iqn.foo\u0027},"},{"line_number":72,"context_line":"          \u0027boot_index\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_9efd9a0a","line":69,"range":{"start_line":69,"start_character":24,"end_line":69,"end_character":60},"updated":"2017-07-07 16:38:41.000000000","message":"guess it should be NODE1[\u0027uuid\u0027] here","commit_id":"a40b1e0726076ce7314ec049bb3b08f7edff9bcd"}],"ironicclient/tests/unit/v1/test_volume_target.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"88fb091ffc82b46b32473de041bf865a12fcc9d8","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            self.assertEqual(expect[\u0027volume_type\u0027], obj.volume_type)"},{"line_number":166,"context_line":"            self.assertEqual(expect[\u0027boot_index\u0027], obj.boot_index)"},{"line_number":167,"context_line":"            self.assertEqual(expect[\u0027volume_id\u0027], obj.volume_id)"},{"line_number":168,"context_line":"            self.assertEqual(expect[\u0027node_uuid\u0027], obj.node_uuid)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def _validate_list(self, expect_request,"},{"line_number":171,"context_line":"                       expect_targets, actual_targets):"}],"source_content_type":"text/x-python","patch_set":24,"id":"3f1d235d_1e686ab8","line":168,"updated":"2017-07-07 16:38:41.000000000","message":"overindent","commit_id":"a40b1e0726076ce7314ec049bb3b08f7edff9bcd"}],"ironicclient/tests/unit/v1/test_volume_target_shell.py":[{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"b6bf036fb924ef80e748fe88cd44997b17c97e83","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        self.assertEqual(sorted(exp), sorted(act))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def test_do_volume_target_show_space_uuid(self):"},{"line_number":40,"context_line":"        client_mock \u003d mock.MagicMock()"},{"line_number":41,"context_line":"        args \u003d mock.MagicMock()"},{"line_number":42,"context_line":"        args.volume_target \u003d \u0027   \u0027"},{"line_number":43,"context_line":"        self.assertRaises(exceptions.CommandError,"},{"line_number":44,"context_line":"                          vt_shell.do_volume_target_show,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_7af9e57f","line":41,"range":{"start_line":40,"start_character":0,"end_line":41,"end_character":31},"updated":"2016-06-30 01:55:54.000000000","message":"We can extract them into setUp().","commit_id":"3a7c287ccf65140d8a1a60dd86fa639778c4dc3d"}],"ironicclient/v1/node.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"992af70a22b86b57fe7d1fea52d4e627978f3666","unresolved":false,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        path \u003d \"%s/volume/targets\" % node_id"},{"line_number":298,"context_line":"        if detail:"},{"line_number":299,"context_line":"            path +\u003d \u0027/detail\u0027"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        if filters:"},{"line_number":302,"context_line":"            path +\u003d \u0027?\u0027 + \u0027\u0026\u0027.join(filters)"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f1d235d_0e41153a","line":299,"updated":"2017-07-02 11:29:45.000000000","message":"I\u0027ve requested this to be changed in the API to move to filters","commit_id":"15a82027104fe89d8df5046edaf5e0cbf67a3a45"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"d2a352be27f0aa66faa5dd6ce7866c53825ce396","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":289,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":292,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        path \u003d \"%s/volume/targets\" % node_id"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_aa8157c5","line":291,"updated":"2017-07-06 20:10:34.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":"ee6f76049726c927d505eb1118a75e94a7fcde22"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"551b7afb65ac06b6c0d4199741ad423c96439bce","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":289,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":292,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        path \u003d \"%s/volume/targets\" % node_id"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_96659620","line":291,"in_reply_to":"3f1d235d_aa8157c5","updated":"2017-07-07 06:01:32.000000000","message":"Done","commit_id":"ee6f76049726c927d505eb1118a75e94a7fcde22"}],"ironicclient/v1/node_shell.py":[{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"e36a4b999709017647a184f6f512572d0f5c7425","unresolved":false,"context_lines":[{"line_number":475,"context_line":"    dest\u003d\u0027detail\u0027,"},{"line_number":476,"context_line":"    action\u003d\u0027store_true\u0027,"},{"line_number":477,"context_line":"    default\u003dFalse,"},{"line_number":478,"context_line":"    help\u003d\"Show detailed information about the volume targets.\")"},{"line_number":479,"context_line":"@cliutils.arg("},{"line_number":480,"context_line":"    \u0027--limit\u0027,"},{"line_number":481,"context_line":"    metavar\u003d\u0027\u003climit\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba5da102_1bd909f4","line":478,"range":{"start_line":478,"start_character":9,"end_line":478,"end_character":63},"updated":"2016-10-28 08:14:09.000000000","message":"There are some patches [1][2][3] to support i18n.\nIt would be better to support it from the beginning since it is a new sub command.\n\n [1] https://review.openstack.org/#/c/357639/\n [2] https://review.openstack.org/#/c/357639/\n [3] https://review.openstack.org/#/c/357639/","commit_id":"77dcc6749c7a4ec447ff39b14c6b4d0283366860"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"e36a4b999709017647a184f6f512572d0f5c7425","unresolved":false,"context_lines":[{"line_number":486,"context_line":"@cliutils.arg("},{"line_number":487,"context_line":"    \u0027--marker\u0027,"},{"line_number":488,"context_line":"    metavar\u003d\u0027\u003cvolume target\u003e\u0027,"},{"line_number":489,"context_line":"    help\u003d\u0027Volume Target UUID (for example, of the last volume target in \u0027"},{"line_number":490,"context_line":"         \u0027the list from a previous request). Returns the list of volume \u0027"},{"line_number":491,"context_line":"         \u0027targets after this UUID.\u0027)"},{"line_number":492,"context_line":"@cliutils.arg("}],"source_content_type":"text/x-python","patch_set":13,"id":"ba5da102_bbe81d7e","line":489,"range":{"start_line":489,"start_character":4,"end_line":489,"end_character":9},"updated":"2016-10-28 08:14:09.000000000","message":"ditto","commit_id":"77dcc6749c7a4ec447ff39b14c6b4d0283366860"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"e36a4b999709017647a184f6f512572d0f5c7425","unresolved":false,"context_lines":[{"line_number":492,"context_line":"@cliutils.arg("},{"line_number":493,"context_line":"    \u0027--sort-key\u0027,"},{"line_number":494,"context_line":"    metavar\u003d\u0027\u003cfield\u003e\u0027,"},{"line_number":495,"context_line":"    help\u003d\u0027Volume Target field that will be used for sorting.\u0027)"},{"line_number":496,"context_line":"@cliutils.arg("},{"line_number":497,"context_line":"    \u0027--sort-dir\u0027,"},{"line_number":498,"context_line":"    metavar\u003d\u0027\u003cdirection\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba5da102_fb02953d","line":495,"range":{"start_line":495,"start_character":4,"end_line":495,"end_character":9},"updated":"2016-10-28 08:14:09.000000000","message":"ditto","commit_id":"77dcc6749c7a4ec447ff39b14c6b4d0283366860"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"e36a4b999709017647a184f6f512572d0f5c7425","unresolved":false,"context_lines":[{"line_number":497,"context_line":"    \u0027--sort-dir\u0027,"},{"line_number":498,"context_line":"    metavar\u003d\u0027\u003cdirection\u003e\u0027,"},{"line_number":499,"context_line":"    choices\u003d[\u0027asc\u0027, \u0027desc\u0027],"},{"line_number":500,"context_line":"    help\u003d\u0027Sort direction: \"asc\" (the default) or \"desc\".\u0027)"},{"line_number":501,"context_line":"@cliutils.arg(\u0027node\u0027, metavar\u003d\u0027\u003cnode\u003e\u0027, help\u003d\"UUID of the node.\")"},{"line_number":502,"context_line":"@cliutils.arg("},{"line_number":503,"context_line":"    \u0027--fields\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba5da102_1b002934","line":500,"range":{"start_line":500,"start_character":4,"end_line":500,"end_character":9},"updated":"2016-10-28 08:14:09.000000000","message":"ditto","commit_id":"77dcc6749c7a4ec447ff39b14c6b4d0283366860"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"e36a4b999709017647a184f6f512572d0f5c7425","unresolved":false,"context_lines":[{"line_number":506,"context_line":"    metavar\u003d\u0027\u003cfield\u003e\u0027,"},{"line_number":507,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":508,"context_line":"    default\u003d[],"},{"line_number":509,"context_line":"    help\u003d\"One or more volume target fields. Only these fields will be \""},{"line_number":510,"context_line":"         \"fetched from the server. Can not be used when \u0027--detail\u0027 is \""},{"line_number":511,"context_line":"         \"specified.\")"},{"line_number":512,"context_line":"def do_node_volume_target_list(cc, args):"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba5da102_bb9f3d02","line":509,"range":{"start_line":509,"start_character":4,"end_line":509,"end_character":9},"updated":"2016-10-28 08:14:09.000000000","message":"ditto","commit_id":"77dcc6749c7a4ec447ff39b14c6b4d0283366860"}],"ironicclient/v1/volume_target.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"992af70a22b86b57fe7d1fea52d4e627978f3666","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        path \u003d \u0027\u0027"},{"line_number":79,"context_line":"        if detail:"},{"line_number":80,"context_line":"            path +\u003d \u0027detail\u0027"},{"line_number":81,"context_line":"        if filters:"},{"line_number":82,"context_line":"            path +\u003d \u0027?\u0027 + \u0027\u0026\u0027.join(filters)"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"3f1d235d_ee3b79c5","line":80,"updated":"2017-07-02 11:29:45.000000000","message":"ditto","commit_id":"15a82027104fe89d8df5046edaf5e0cbf67a3a45"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"d2a352be27f0aa66faa5dd6ce7866c53825ce396","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":71,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":74,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":75,"context_line":"        if node is not None:"},{"line_number":76,"context_line":"            filters.append(\u0027node\u003d%s\u0027 % node)"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_2a7547fa","line":73,"updated":"2017-07-06 20:10:34.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":"ee6f76049726c927d505eb1118a75e94a7fcde22"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"551b7afb65ac06b6c0d4199741ad423c96439bce","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            raise exc.InvalidAttribute(_(\"Can\u0027t fetch a subset of fields \""},{"line_number":71,"context_line":"                                         \"with \u0027detail\u0027 set\"))"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        filters \u003d utils.common_filters(marker, limit, sort_key, sort_dir,"},{"line_number":74,"context_line":"                                       fields, detail\u003ddetail)"},{"line_number":75,"context_line":"        if node is not None:"},{"line_number":76,"context_line":"            filters.append(\u0027node\u003d%s\u0027 % node)"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_369a4261","line":73,"in_reply_to":"3f1d235d_2a7547fa","updated":"2017-07-07 06:01:32.000000000","message":"Done","commit_id":"ee6f76049726c927d505eb1118a75e94a7fcde22"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"d2a352be27f0aa66faa5dd6ce7866c53825ce396","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        if node is not None:"},{"line_number":76,"context_line":"            filters.append(\u0027node\u003d%s\u0027 % node)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        path \u003d \u0027\u0027"},{"line_number":79,"context_line":"        if filters:"},{"line_number":80,"context_line":"            path +\u003d \u0027?\u0027 + \u0027\u0026\u0027.join(filters)"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_aae8377b","line":78,"updated":"2017-07-06 20:10:34.000000000","message":"Probably due to me not understanding this. Is this supposed to be an empty string?","commit_id":"ee6f76049726c927d505eb1118a75e94a7fcde22"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"5d823086ac32d419901954f588e68b8132b0c6cc","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        if node is not None:"},{"line_number":76,"context_line":"            filters.append(\u0027node\u003d%s\u0027 % node)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        path \u003d \u0027\u0027"},{"line_number":79,"context_line":"        if filters:"},{"line_number":80,"context_line":"            path +\u003d \u0027?\u0027 + \u0027\u0026\u0027.join(filters)"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_2a91c7f1","line":78,"in_reply_to":"3f1d235d_aae8377b","updated":"2017-07-06 20:12:07.000000000","message":"Ah, I think I understand, because of line 31 above.","commit_id":"ee6f76049726c927d505eb1118a75e94a7fcde22"}],"ironicclient/v1/volume_target_shell.py":[{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"b6bf036fb924ef80e748fe88cd44997b17c97e83","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        field_labels \u003d res_fields.VOLUME_TARGET_RESOURCE.labels"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    sort_fields \u003d res_fields.VOLUME_TARGET_DETAILED_RESOURCE.sort_fields"},{"line_number":115,"context_line":"    sort_field_labels \u003d \\"},{"line_number":116,"context_line":"        res_fields.VOLUME_TARGET_DETAILED_RESOURCE.sort_labels"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    params.update(utils.common_params_for_list(args,"},{"line_number":119,"context_line":"                                               sort_fields,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_8f71f50e","line":116,"range":{"start_line":115,"start_character":23,"end_line":116,"end_character":62},"updated":"2016-06-30 01:55:54.000000000","message":"It\u0027s better to use parenthesis instead of line break.","commit_id":"3a7c287ccf65140d8a1a60dd86fa639778c4dc3d"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"b6bf036fb924ef80e748fe88cd44997b17c97e83","unresolved":false,"context_lines":[{"line_number":170,"context_line":"@cliutils.arg(\u0027volume_target\u0027, metavar\u003d\u0027\u003cvolume target\u003e\u0027, nargs\u003d\u0027+\u0027,"},{"line_number":171,"context_line":"              help\u003d\"UUID of the volume target.\")"},{"line_number":172,"context_line":"def do_volume_target_delete(cc, args):"},{"line_number":173,"context_line":"    \"\"\"Delete a volume target.\"\"\""},{"line_number":174,"context_line":"    for p in args.volume_target:"},{"line_number":175,"context_line":"        cc.volume_target.delete(p)"},{"line_number":176,"context_line":"        print (\u0027Deleted volume target %s\u0027 % p)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_4faeed2e","line":173,"range":{"start_line":173,"start_character":7,"end_line":173,"end_character":29},"updated":"2016-06-30 01:55:54.000000000","message":"s/a volume target/one or more volume targets/","commit_id":"3a7c287ccf65140d8a1a60dd86fa639778c4dc3d"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"03f48f9105eda0834f081e68588b5a338028557e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from ironicclient.v1 import resource_fields as res_fields"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def _print_volume_target_show(volume_target, fields\u003dNone):"},{"line_number":21,"context_line":"    if fields is None:"},{"line_number":22,"context_line":"        fields \u003d res_fields.VOLUME_TARGET_DETAILED_RESOURCE.fields"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_31b9b92f","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":56},"updated":"2016-08-03 11:04:53.000000000","message":"To be consistent, do we need add json option here?","commit_id":"4d9a783d48cd63f34cc417aa2338def72751d3cf"},{"author":{"_account_id":12459,"name":"Stephanie Miller","email":"stephane@alum.mit.edu","username":"cinerama"},"change_message_id":"8d7cabff40a6771fddcea0d67194f9d88c1d4b5b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from ironicclient.v1 import resource_fields as res_fields"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def _print_volume_target_show(volume_target, fields\u003dNone):"},{"line_number":21,"context_line":"    if fields is None:"},{"line_number":22,"context_line":"        fields \u003d res_fields.VOLUME_TARGET_DETAILED_RESOURCE.fields"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_88fca53f","line":20,"range":{"start_line":20,"start_character":30,"end_line":20,"end_character":56},"in_reply_to":"bacf61ea_31b9b92f","updated":"2016-08-03 17:20:56.000000000","message":"Done","commit_id":"4d9a783d48cd63f34cc417aa2338def72751d3cf"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"03f48f9105eda0834f081e68588b5a338028557e","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        field_labels \u003d res_fields.VOLUME_TARGET_RESOURCE.labels"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    sort_fields \u003d res_fields.VOLUME_TARGET_DETAILED_RESOURCE.sort_fields"},{"line_number":115,"context_line":"    sort_field_labels \u003d \\"},{"line_number":116,"context_line":"        res_fields.VOLUME_TARGET_DETAILED_RESOURCE.sort_labels"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    params.update(utils.common_params_for_list(args,"}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_d1f5bdcb","line":115,"range":{"start_line":115,"start_character":24,"end_line":115,"end_character":25},"updated":"2016-08-03 11:04:53.000000000","message":"with parenthese instead please.","commit_id":"4d9a783d48cd63f34cc417aa2338def72751d3cf"},{"author":{"_account_id":12459,"name":"Stephanie Miller","email":"stephane@alum.mit.edu","username":"cinerama"},"change_message_id":"8d7cabff40a6771fddcea0d67194f9d88c1d4b5b","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        field_labels \u003d res_fields.VOLUME_TARGET_RESOURCE.labels"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    sort_fields \u003d res_fields.VOLUME_TARGET_DETAILED_RESOURCE.sort_fields"},{"line_number":115,"context_line":"    sort_field_labels \u003d \\"},{"line_number":116,"context_line":"        res_fields.VOLUME_TARGET_DETAILED_RESOURCE.sort_labels"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    params.update(utils.common_params_for_list(args,"}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_e8a1e147","line":115,"range":{"start_line":115,"start_character":24,"end_line":115,"end_character":25},"in_reply_to":"bacf61ea_d1f5bdcb","updated":"2016-08-03 17:20:56.000000000","message":"Done","commit_id":"4d9a783d48cd63f34cc417aa2338def72751d3cf"},{"author":{"_account_id":13719,"name":"Naohiro Tamura","email":"naohirot.openstack@gmail.com","username":"nao"},"change_message_id":"e36a4b999709017647a184f6f512572d0f5c7425","unresolved":false,"context_lines":[{"line_number":28,"context_line":"@cliutils.arg("},{"line_number":29,"context_line":"    \u0027volume_target\u0027,"},{"line_number":30,"context_line":"    metavar\u003d\u0027\u003cid\u003e\u0027,"},{"line_number":31,"context_line":"    help\u003d\"UUID of the volume target.\")"},{"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":13,"id":"ba5da102_bb12dd60","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":9},"updated":"2016-10-28 08:14:09.000000000","message":"ditto to all helps.","commit_id":"77dcc6749c7a4ec447ff39b14c6b4d0283366860"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"992af70a22b86b57fe7d1fea52d4e627978f3666","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    help\u003d_(\"Record arbitrary key/value metadata. \""},{"line_number":133,"context_line":"           \"Can be specified multiple times.\"))"},{"line_number":134,"context_line":"@cliutils.arg("},{"line_number":135,"context_line":"    \u0027-n\u0027, \u0027--node\u0027, \u0027--node_uuid\u0027,"},{"line_number":136,"context_line":"    dest\u003d\u0027node_uuid\u0027,"},{"line_number":137,"context_line":"    metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":138,"context_line":"    required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3f1d235d_2e5a9129","line":135,"updated":"2017-07-02 11:29:45.000000000","message":"let\u0027s remove --node_uuid, I think --node is enough","commit_id":"15a82027104fe89d8df5046edaf5e0cbf67a3a45"}],"releasenotes/notes/add-volume-connection-information-540b14601bb5b18f.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"992af70a22b86b57fe7d1fea52d4e627978f3666","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add new volume connection information introduced in API version 1.23,"},{"line_number":4,"context_line":"    including volume connectors and volume targets."}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3f1d235d_ce4afd53","line":4,"updated":"2017-07-02 11:29:45.000000000","message":"please either merge these patches, or create separate release notes for them","commit_id":"15a82027104fe89d8df5046edaf5e0cbf67a3a45"}],"releasenotes/notes/add-volume-target-api-e062303f4b3b40ef.yaml":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"d2a352be27f0aa66faa5dd6ce7866c53825ce396","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 target 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":22,"id":"3f1d235d_8ae8dbb2","line":4,"range":{"start_line":4,"start_character":25,"end_line":4,"end_character":35},"updated":"2017-07-06 20:10:34.000000000","message":"supporting","commit_id":"ee6f76049726c927d505eb1118a75e94a7fcde22"}]}
