)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"a573f037dc6dbdcb0370ee1bc87307308021ca26","unresolved":false,"context_lines":[{"line_number":12,"context_line":"- openstack volume connector list"},{"line_number":13,"context_line":"- openstack volume connector delete"},{"line_number":14,"context_line":"- openstack volume connector set"},{"line_number":15,"context_line":"- openstack volume connector unset"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Depends-On: I328a698f2109841e1e122e17fea4b345c4179161"},{"line_number":18,"context_line":"Change-Id: I5bb189631bf79f32cd031e5a5b68a5c8d42a987f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"ff0f0b1f_e3c2cb84","line":15,"updated":"2017-05-25 10:42:17.000000000","message":"minor nit: should be \n    openstack baremetal vo....","commit_id":"b45049418f93a5c0b29ccdd060c322cc947e6fcd"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"924d9b56d44e0abd28047bf7d81c2f39e9ac9222","unresolved":false,"context_lines":[{"line_number":12,"context_line":"- openstack volume connector list"},{"line_number":13,"context_line":"- openstack volume connector delete"},{"line_number":14,"context_line":"- openstack volume connector set"},{"line_number":15,"context_line":"- openstack volume connector unset"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Depends-On: I328a698f2109841e1e122e17fea4b345c4179161"},{"line_number":18,"context_line":"Change-Id: I5bb189631bf79f32cd031e5a5b68a5c8d42a987f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df140735_9b624616","line":15,"in_reply_to":"ff0f0b1f_e3c2cb84","updated":"2017-05-29 01:02:43.000000000","message":"Done\nThanks!","commit_id":"b45049418f93a5c0b29ccdd060c322cc947e6fcd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"It also bumps known API version to 1.32 and hides a link to volume"},{"line_number":18,"context_line":"resources from node information."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Depends-On: I328a698f2109841e1e122e17fea4b345c4179161"},{"line_number":21,"context_line":"Change-Id: I5bb189631bf79f32cd031e5a5b68a5c8d42a987f"},{"line_number":22,"context_line":"Partial-Bug: 1526231"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3f1d235d_85b9ec79","line":20,"updated":"2017-07-06 21:44:24.000000000","message":"nit, since the patch needs https://review.openstack.org/#/c/214786/ which depends on this, there\u0027s no need for this patch to depends-on ...","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":17,"context_line":"It also bumps known API version to 1.32 and hides a link to volume"},{"line_number":18,"context_line":"resources from node information."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Depends-On: I328a698f2109841e1e122e17fea4b345c4179161"},{"line_number":21,"context_line":"Change-Id: I5bb189631bf79f32cd031e5a5b68a5c8d42a987f"},{"line_number":22,"context_line":"Partial-Bug: 1526231"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3f1d235d_ed35f8a9","line":20,"in_reply_to":"3f1d235d_85b9ec79","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"}],"ironicclient/osc/v1/baremetal_volume_connector.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"89e014e4cbf7108fa13e011724ffceee1bbc2646","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            dest\u003d\u0027connector_id\u0027,"},{"line_number":53,"context_line":"            required\u003dTrue,"},{"line_number":54,"context_line":"            metavar\u003d\"\u003cconnector id\u003e\","},{"line_number":55,"context_line":"            help\u003d_(\"ID of the Volume connector in the specified type.\"))"},{"line_number":56,"context_line":"        parser.add_argument("},{"line_number":57,"context_line":"            \u0027--uuid\u0027,"},{"line_number":58,"context_line":"            dest\u003d\u0027uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f1d235d_c83434fe","line":55,"updated":"2017-07-02 11:17:10.000000000","message":"nit: I\u0027d prefer more details here, as it required to me look at the spec to remember what this field is about..","commit_id":"3d0048de2ace98f2d95995783d082175f8a6236c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"89e014e4cbf7108fa13e011724ffceee1bbc2646","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            \u0027--node\u0027,"},{"line_number":273,"context_line":"            dest\u003d\u0027node_uuid\u0027,"},{"line_number":274,"context_line":"            metavar\u003d\u0027\u003cuuid\u003e\u0027,"},{"line_number":275,"context_line":"            help\u003d_(\u0027UUID of the node that this volume connector belongs to.\u0027))"},{"line_number":276,"context_line":"        parser.add_argument("},{"line_number":277,"context_line":"            \u0027--type\u0027,"},{"line_number":278,"context_line":"            dest\u003d\u0027type\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f1d235d_a83b38e9","line":275,"updated":"2017-07-02 11:17:10.000000000","message":"do we really allow changing node UUID? Oo Hmm, interesting. IIRC for don\u0027t allow it for ports, for example, but I may be wrong.","commit_id":"3d0048de2ace98f2d95995783d082175f8a6236c"},{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"142e79ecaed5fbb41e325c363ace2f76e79ab396","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            dest\u003d\u0027connector_id\u0027,"},{"line_number":53,"context_line":"            required\u003dTrue,"},{"line_number":54,"context_line":"            metavar\u003d\"\u003cconnector id\u003e\","},{"line_number":55,"context_line":"            help\u003d_(\"ID of the Volume connector in the specified type. For \""},{"line_number":56,"context_line":"                   \"example, the iSCSI initiator IQN for the node if the type \""},{"line_number":57,"context_line":"                   \"is \u0027iqn\u0027.\"))"},{"line_number":58,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":13,"id":"3f1d235d_be12cf60","line":55,"range":{"start_line":55,"start_character":30,"end_line":55,"end_character":31},"updated":"2017-07-06 10:47:23.000000000","message":"For consistency with other places.\nnit: s/V/v/","commit_id":"eb1c6f324929c2a7f0313d5b423eb21ff063e32e"},{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"142e79ecaed5fbb41e325c363ace2f76e79ab396","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            choices\u003dres_fields.VOLUME_CONNECTOR_DETAILED_RESOURCE.fields,"},{"line_number":180,"context_line":"            help\u003d_(\"One or more volume connector fields. Only these fields \""},{"line_number":181,"context_line":"                   \"will be fetched from the server. Can not be used when \""},{"line_number":182,"context_line":"                   \"\u0027--detail\u0027 is specified.\"))"},{"line_number":183,"context_line":"        return parser"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f1d235d_a1587230","line":182,"range":{"start_line":182,"start_character":23,"end_line":182,"end_character":29},"updated":"2017-07-06 10:47:23.000000000","message":"s/detail/long/","commit_id":"eb1c6f324929c2a7f0313d5b423eb21ff063e32e"},{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"142e79ecaed5fbb41e325c363ace2f76e79ab396","unresolved":false,"context_lines":[{"line_number":285,"context_line":"            \u0027--connector-id\u0027,"},{"line_number":286,"context_line":"            dest\u003d\u0027connector_id\u0027,"},{"line_number":287,"context_line":"            metavar\u003d\"\u003cconnector id\u003e\","},{"line_number":288,"context_line":"            help\u003d_(\"ID of the Volume connector in the specified type.\"))"},{"line_number":289,"context_line":"        parser.add_argument("},{"line_number":290,"context_line":"            \u0027--extra\u0027,"},{"line_number":291,"context_line":"            dest\u003d\u0027extra\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f1d235d_c13fee84","line":288,"range":{"start_line":288,"start_character":30,"end_line":288,"end_character":31},"updated":"2017-07-06 10:47:23.000000000","message":"ditto","commit_id":"eb1c6f324929c2a7f0313d5b423eb21ff063e32e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            \u0027--node\u0027,"},{"line_number":138,"context_line":"            dest\u003d\u0027node\u0027,"},{"line_number":139,"context_line":"            metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":140,"context_line":"            help\u003d_(\u0027Only show information for the volume connector with this \u0027"},{"line_number":141,"context_line":"                   \u0027node.\u0027))"},{"line_number":142,"context_line":"        parser.add_argument("},{"line_number":143,"context_line":"            \u0027--limit\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_170bcf29","line":140,"updated":"2017-07-06 21:44:24.000000000","message":"I just checked and you could have more than one volume connector associated with the same node.\n\nMaybe use similar text as for portgroup \u0027Only list volume connectors of this node (name or UUID).\u0027","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            \u0027--node\u0027,"},{"line_number":138,"context_line":"            dest\u003d\u0027node\u0027,"},{"line_number":139,"context_line":"            metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":140,"context_line":"            help\u003d_(\u0027Only show information for the volume connector with this \u0027"},{"line_number":141,"context_line":"                   \u0027node.\u0027))"},{"line_number":142,"context_line":"        parser.add_argument("},{"line_number":143,"context_line":"            \u0027--limit\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_ede73846","line":140,"in_reply_to":"3f1d235d_170bcf29","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            dest\u003d\u0027node\u0027,"},{"line_number":139,"context_line":"            metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":140,"context_line":"            help\u003d_(\u0027Only show information for the volume connector with this \u0027"},{"line_number":141,"context_line":"                   \u0027node.\u0027))"},{"line_number":142,"context_line":"        parser.add_argument("},{"line_number":143,"context_line":"            \u0027--limit\u0027,"},{"line_number":144,"context_line":"            dest\u003d\u0027limit\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_1753cf6c","line":141,"updated":"2017-07-06 21:44:24.000000000","message":"can it be the name and/or UUID of the node?","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            dest\u003d\u0027node\u0027,"},{"line_number":139,"context_line":"            metavar\u003d\u0027\u003cnode\u003e\u0027,"},{"line_number":140,"context_line":"            help\u003d_(\u0027Only show information for the volume connector with this \u0027"},{"line_number":141,"context_line":"                   \u0027node.\u0027))"},{"line_number":142,"context_line":"        parser.add_argument("},{"line_number":143,"context_line":"            \u0027--limit\u0027,"},{"line_number":144,"context_line":"            dest\u003d\u0027limit\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_cdec7c2b","line":141,"in_reply_to":"3f1d235d_1753cf6c","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            type\u003dint,"},{"line_number":147,"context_line":"            help\u003d_(\u0027Maximum number of volume connectors to return per \u0027"},{"line_number":148,"context_line":"                   \u0027request, 0 for no limit. Default is the maximum number \u0027"},{"line_number":149,"context_line":"                   \u0027used by the Ironic API Service.\u0027))"},{"line_number":150,"context_line":"        parser.add_argument("},{"line_number":151,"context_line":"            \u0027--marker\u0027,"},{"line_number":152,"context_line":"            dest\u003d\u0027marker\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_5a0a8e1f","line":149,"updated":"2017-07-06 21:44:24.000000000","message":"s/Ironic/Baremetal/","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":146,"context_line":"            type\u003dint,"},{"line_number":147,"context_line":"            help\u003d_(\u0027Maximum number of volume connectors to return per \u0027"},{"line_number":148,"context_line":"                   \u0027request, 0 for no limit. Default is the maximum number \u0027"},{"line_number":149,"context_line":"                   \u0027used by the Ironic API Service.\u0027))"},{"line_number":150,"context_line":"        parser.add_argument("},{"line_number":151,"context_line":"            \u0027--marker\u0027,"},{"line_number":152,"context_line":"            dest\u003d\u0027marker\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_adf14004","line":149,"in_reply_to":"3f1d235d_5a0a8e1f","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            \u0027--marker\u0027,"},{"line_number":152,"context_line":"            dest\u003d\u0027marker\u0027,"},{"line_number":153,"context_line":"            metavar\u003d\u0027\u003cvolume connector\u003e\u0027,"},{"line_number":154,"context_line":"            help\u003d_(\u0027Volume connector UUID (for example, of the last volume_\u0027"},{"line_number":155,"context_line":"                   \u0027connector in the list from a previous request). Returns \u0027"},{"line_number":156,"context_line":"                   \u0027the list of volume connectors after this UUID.\u0027))"},{"line_number":157,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_ba2ac27b","line":154,"updated":"2017-07-06 21:44:24.000000000","message":"s/volume_/volume /","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            \u0027--marker\u0027,"},{"line_number":152,"context_line":"            dest\u003d\u0027marker\u0027,"},{"line_number":153,"context_line":"            metavar\u003d\u0027\u003cvolume connector\u003e\u0027,"},{"line_number":154,"context_line":"            help\u003d_(\u0027Volume connector UUID (for example, of the last volume_\u0027"},{"line_number":155,"context_line":"                   \u0027connector in the list from a previous request). Returns \u0027"},{"line_number":156,"context_line":"                   \u0027the list of volume connectors after this UUID.\u0027))"},{"line_number":157,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_8df684f9","line":154,"in_reply_to":"3f1d235d_ba2ac27b","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":224,"context_line":"class DeleteBaremetalVolumeConnector(command.Command):"},{"line_number":225,"context_line":"    \"\"\"Unregister baremetal volume connector(s).\"\"\""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    log \u003d logging.getLogger(__name__ + \".DeleteVolumeConnector\")"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def get_parser(self, prog_name):"},{"line_number":230,"context_line":"        parser \u003d ("}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_5af4cef0","line":227,"updated":"2017-07-06 21:44:24.000000000","message":"for consistency, s/DeleteVolume/DeleteBaremetalVolume/","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":224,"context_line":"class DeleteBaremetalVolumeConnector(command.Command):"},{"line_number":225,"context_line":"    \"\"\"Unregister baremetal volume connector(s).\"\"\""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    log \u003d logging.getLogger(__name__ + \".DeleteVolumeConnector\")"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def get_parser(self, prog_name):"},{"line_number":230,"context_line":"        parser \u003d ("}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_2de53039","line":227,"in_reply_to":"3f1d235d_5af4cef0","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            \u0027volume_connectors\u0027,"},{"line_number":234,"context_line":"            metavar\u003d\u0027\u003cvolume connector\u003e\u0027,"},{"line_number":235,"context_line":"            nargs\u003d\u0027+\u0027,"},{"line_number":236,"context_line":"            help\u003d_(\"UUID(s) of the volume connector(s).\"))"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        return parser"},{"line_number":239,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_ba62c2ac","line":236,"updated":"2017-07-06 21:44:24.000000000","message":"i did a quick search, the help for the other resources mention \u0027to delete\u0027, so maybe s/./ to delete./","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            \u0027volume_connectors\u0027,"},{"line_number":234,"context_line":"            metavar\u003d\u0027\u003cvolume connector\u003e\u0027,"},{"line_number":235,"context_line":"            nargs\u003d\u0027+\u0027,"},{"line_number":236,"context_line":"            help\u003d_(\"UUID(s) of the volume connector(s).\"))"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"        return parser"},{"line_number":239,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_0de27430","line":236,"in_reply_to":"3f1d235d_ba62c2ac","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":320,"context_line":"            baremetal_client.volume_connector.update("},{"line_number":321,"context_line":"                parsed_args.volume_connector, properties)"},{"line_number":322,"context_line":"        else:"},{"line_number":323,"context_line":"            self.log.warning(_(\"Please specify what to set.\"))"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"class UnsetBaremetalVolumeConnector(command.Command):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_fa195a21","line":323,"updated":"2017-07-06 21:44:24.000000000","message":"this is a log, we don\u0027t i18n them.","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":320,"context_line":"            baremetal_client.volume_connector.update("},{"line_number":321,"context_line":"                parsed_args.volume_connector, properties)"},{"line_number":322,"context_line":"        else:"},{"line_number":323,"context_line":"            self.log.warning(_(\"Please specify what to set.\"))"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"class UnsetBaremetalVolumeConnector(command.Command):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_8dcfa4af","line":323,"in_reply_to":"3f1d235d_fa195a21","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":340,"context_line":"            dest\u003d\u0027extra\u0027,"},{"line_number":341,"context_line":"            metavar\u003d\"\u003ckey\u003e\","},{"line_number":342,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":343,"context_line":"            help\u003d_(\u0027Extra to unset on this baremetal node \u0027"},{"line_number":344,"context_line":"                   \u0027(repeat option to unset multiple extras)\u0027))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_3ad23229","line":343,"updated":"2017-07-06 21:44:24.000000000","message":"s/node/volume connector/\n\nor\n\ns/on this baremetal node// for future copy/pasting :)","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":340,"context_line":"            dest\u003d\u0027extra\u0027,"},{"line_number":341,"context_line":"            metavar\u003d\"\u003ckey\u003e\","},{"line_number":342,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":343,"context_line":"            help\u003d_(\u0027Extra to unset on this baremetal node \u0027"},{"line_number":344,"context_line":"                   \u0027(repeat option to unset multiple extras)\u0027))"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_2dbe50ff","line":343,"in_reply_to":"3f1d235d_3ad23229","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":359,"context_line":"            baremetal_client.volume_connector.update("},{"line_number":360,"context_line":"                parsed_args.volume_connector, properties)"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            self.log.warning(_(\"Please specify what to unset.\"))"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_5aacce9d","line":362,"updated":"2017-07-06 21:44:24.000000000","message":"ditto, no i18n.","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":359,"context_line":"            baremetal_client.volume_connector.update("},{"line_number":360,"context_line":"                parsed_args.volume_connector, properties)"},{"line_number":361,"context_line":"        else:"},{"line_number":362,"context_line":"            self.log.warning(_(\"Please specify what to unset.\"))"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_0dbb940e","line":362,"in_reply_to":"3f1d235d_5aacce9d","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"6ec3321211f99565b0edd712d80957ca058c2e18","unresolved":false,"context_lines":[{"line_number":28,"context_line":"class CreateBaremetalVolumeConnector(command.ShowOne):"},{"line_number":29,"context_line":"    \"\"\"Create a new baremetal volume connector.\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    log \u003d logging.getLogger(__name__ + \".CraeteBaremetalVolumeConnector\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def get_parser(self, prog_name):"},{"line_number":34,"context_line":"        parser \u003d ("}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_df019708","line":31,"range":{"start_line":31,"start_character":41,"end_line":31,"end_character":47},"updated":"2017-07-10 22:22:00.000000000","message":"s/Craete/Create/","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"68c5481f264f76afc8d00abab673885d5ae46caa","unresolved":false,"context_lines":[{"line_number":28,"context_line":"class CreateBaremetalVolumeConnector(command.ShowOne):"},{"line_number":29,"context_line":"    \"\"\"Create a new baremetal volume connector.\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    log \u003d logging.getLogger(__name__ + \".CraeteBaremetalVolumeConnector\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def get_parser(self, prog_name):"},{"line_number":34,"context_line":"        parser \u003d ("}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_8261743c","line":31,"range":{"start_line":31,"start_character":41,"end_line":31,"end_character":47},"in_reply_to":"3f1d235d_df019708","updated":"2017-07-11 11:41:08.000000000","message":"Done","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"6ec3321211f99565b0edd712d80957ca058c2e18","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            \u0027--type\u0027,"},{"line_number":279,"context_line":"            dest\u003d\u0027type\u0027,"},{"line_number":280,"context_line":"            metavar\u003d\"\u003ctype\u003e\","},{"line_number":281,"context_line":"            help\u003d_(\"Type of the volume connector. Can be \u0027iqn\u0027, \u0027ip\u0027, \u0027mac\u0027, \""},{"line_number":282,"context_line":"                   \"\u0027wwnn\u0027, \u0027wwpn\u0027.\"))"},{"line_number":283,"context_line":"        parser.add_argument("},{"line_number":284,"context_line":"            \u0027--connector-id\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_82406609","line":281,"updated":"2017-07-10 22:22:00.000000000","message":"Based on this help text, it seems like should add a line:\n\n choices\u003d(\u0027iqn\u0027, \u0027ip\u0027, \u0027mac\u0027, \u0027wwnn\u0027, \u0027wwpn\u0027)","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"68c5481f264f76afc8d00abab673885d5ae46caa","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            \u0027--type\u0027,"},{"line_number":279,"context_line":"            dest\u003d\u0027type\u0027,"},{"line_number":280,"context_line":"            metavar\u003d\"\u003ctype\u003e\","},{"line_number":281,"context_line":"            help\u003d_(\"Type of the volume connector. Can be \u0027iqn\u0027, \u0027ip\u0027, \u0027mac\u0027, \""},{"line_number":282,"context_line":"                   \"\u0027wwnn\u0027, \u0027wwpn\u0027.\"))"},{"line_number":283,"context_line":"        parser.add_argument("},{"line_number":284,"context_line":"            \u0027--connector-id\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_c2752cfc","line":281,"in_reply_to":"3f1d235d_82406609","updated":"2017-07-11 11:41:08.000000000","message":"Done","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"}],"ironicclient/tests/unit/osc/v1/test_baremetal_volume_connector.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cb8e7da2ec7ad6363c83b8bf9685751fbdd710fc","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        self.assertRaises(osctestutils.ParserException,"},{"line_number":120,"context_line":"                          self.check_parser,"},{"line_number":121,"context_line":"                          self.cmd, arglist, verifylist)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"class TestShowBaremetalVolumeConnector(TestBaremetalVolumeConnector):"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_bbc4b293","line":121,"updated":"2017-07-10 19:24:06.000000000","message":"I suppose this test is OK. There are 3 required arguments, this test doesn\u0027t explicitly show/test that all three are required. Just that *something* is wrong if no args are specified.","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"68c5481f264f76afc8d00abab673885d5ae46caa","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        self.assertRaises(osctestutils.ParserException,"},{"line_number":120,"context_line":"                          self.check_parser,"},{"line_number":121,"context_line":"                          self.cmd, arglist, verifylist)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"class TestShowBaremetalVolumeConnector(TestBaremetalVolumeConnector):"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_bdf25199","line":121,"in_reply_to":"3f1d235d_bbc4b293","updated":"2017-07-11 11:41:08.000000000","message":"Done","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cb8e7da2ec7ad6363c83b8bf9685751fbdd710fc","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        )"},{"line_number":159,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def test_baremetal_volume_coneedtor_show_no_options(self):"},{"line_number":162,"context_line":"        arglist \u003d []"},{"line_number":163,"context_line":"        verifylist \u003d []"},{"line_number":164,"context_line":"        self.assertRaises(osctestutils.ParserException,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_db5d2eea","line":161,"updated":"2017-07-10 19:24:06.000000000","message":"s/coneedtor/connector/","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"68c5481f264f76afc8d00abab673885d5ae46caa","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        )"},{"line_number":159,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def test_baremetal_volume_coneedtor_show_no_options(self):"},{"line_number":162,"context_line":"        arglist \u003d []"},{"line_number":163,"context_line":"        verifylist \u003d []"},{"line_number":164,"context_line":"        self.assertRaises(osctestutils.ParserException,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_5d169da9","line":161,"in_reply_to":"3f1d235d_db5d2eea","updated":"2017-07-11 11:41:08.000000000","message":"Done","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cb8e7da2ec7ad6363c83b8bf9685751fbdd710fc","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"class TestBaremetalVolumeConnectorList(TestBaremetalVolumeConnector):"},{"line_number":235,"context_line":"    def setUp(self):"},{"line_number":236,"context_line":"        super(TestBaremetalVolumeConnectorList, self).setUp()"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_dbe08efd","line":234,"updated":"2017-07-10 19:24:06.000000000","message":"You\u0027ve got a naming inconsistency here. If it were consistent with the above, it\u0027d be \u0027TestListBaremetalVolumeConnector\u0027","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"68c5481f264f76afc8d00abab673885d5ae46caa","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        self.assertEqual(datalist, tuple(data))"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"class TestBaremetalVolumeConnectorList(TestBaremetalVolumeConnector):"},{"line_number":235,"context_line":"    def setUp(self):"},{"line_number":236,"context_line":"        super(TestBaremetalVolumeConnectorList, self).setUp()"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_3d9e4107","line":234,"in_reply_to":"3f1d235d_dbe08efd","updated":"2017-07-11 11:41:08.000000000","message":"Done","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"52d5fe2531287ad9cd98f478f81e2361629cde63","unresolved":false,"context_lines":[{"line_number":547,"context_line":"            2, self.baremetal_mock.volume_connector.delete.call_count)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"class TestBaremetalVolumeConnectorSet(TestBaremetalVolumeConnector):"},{"line_number":551,"context_line":"    def setUp(self):"},{"line_number":552,"context_line":"        super(TestBaremetalVolumeConnectorSet, self).setUp()"},{"line_number":553,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_62242ab0","line":550,"updated":"2017-07-10 21:14:32.000000000","message":"ditto","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"68c5481f264f76afc8d00abab673885d5ae46caa","unresolved":false,"context_lines":[{"line_number":547,"context_line":"            2, self.baremetal_mock.volume_connector.delete.call_count)"},{"line_number":548,"context_line":""},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"class TestBaremetalVolumeConnectorSet(TestBaremetalVolumeConnector):"},{"line_number":551,"context_line":"    def setUp(self):"},{"line_number":552,"context_line":"        super(TestBaremetalVolumeConnectorSet, self).setUp()"},{"line_number":553,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3f1d235d_fd5e8943","line":550,"in_reply_to":"3f1d235d_62242ab0","updated":"2017-07-11 11:41:08.000000000","message":"Done","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"}],"ironicclient/v1/resource_fields.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[{"line_number":363,"context_line":"VOLUME_CONNECTOR_RESOURCE \u003d Resource("},{"line_number":364,"context_line":"    [\u0027uuid\u0027,"},{"line_number":365,"context_line":"     \u0027type\u0027,"},{"line_number":366,"context_line":"     \u0027connector_id\u0027,"},{"line_number":367,"context_line":"     ])"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_572387a7","line":366,"updated":"2017-07-06 21:44:24.000000000","message":"hmm, I didn\u0027t notice this before but the default (non-detail) fields returned from port group and port do not include node_uuid. However, we do return node_uuid for volume connector [1]. Now I am wondering if we should be doing that. If we do, we need to add \u0027node_uuid\u0027 here.\n\n[1] https://github.com/openstack/ironic/blob/c380e05dbf84079b01fb3b0ea099ef9b293b9b3d/ironic/api/controllers/v1/volume_target.py#L40","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[{"line_number":363,"context_line":"VOLUME_CONNECTOR_RESOURCE \u003d Resource("},{"line_number":364,"context_line":"    [\u0027uuid\u0027,"},{"line_number":365,"context_line":"     \u0027type\u0027,"},{"line_number":366,"context_line":"     \u0027connector_id\u0027,"},{"line_number":367,"context_line":"     ])"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f1d235d_0d73944f","line":366,"in_reply_to":"3f1d235d_572387a7","updated":"2017-07-10 05:21:58.000000000","message":"Done","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"}],"releasenotes/notes/osc-volume-connector-dccd2390753f978a.yaml":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"281fd87773ac734231fdd7fe4095252d62becc5b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"3f1d235d_d76677bb","line":12,"updated":"2017-07-06 21:44:24.000000000","message":"My suggestion is to have one release note that includes the python API, OSC and ironic commands for volume connector. That can be done in a separate patch too, or combine this info in the existing release note for volume connector.","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"bb1692180f77e3a28e86245757ff966de1c80c90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"3f1d235d_c787ac0f","line":12,"in_reply_to":"3f1d235d_d76677bb","updated":"2017-07-10 05:21:58.000000000","message":"Thank you for the suggestion. I\u0027m considering uniting release notes later.","commit_id":"af840ac37d4a3ce4cd04926dce615898605f5982"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"6ec3321211f99565b0edd712d80957ca058c2e18","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds OpenStackClient commands for volume connector:"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    * openstack baremetal volume connector create"},{"line_number":7,"context_line":"    * openstack baremetal volume connector show"},{"line_number":8,"context_line":"    * openstack baremetal volume connector list"},{"line_number":9,"context_line":"    * openstack baremetal volume connector delete"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3f1d235d_7f13a367","line":6,"updated":"2017-07-10 22:22:00.000000000","message":"Would be nice if it was:\n\n * ``openstack baremetal volume connector create``","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"68c5481f264f76afc8d00abab673885d5ae46caa","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds OpenStackClient commands for volume connector:"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    * openstack baremetal volume connector create"},{"line_number":7,"context_line":"    * openstack baremetal volume connector show"},{"line_number":8,"context_line":"    * openstack baremetal volume connector list"},{"line_number":9,"context_line":"    * openstack baremetal volume connector delete"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3f1d235d_23ce22b4","line":6,"in_reply_to":"3f1d235d_7f13a367","updated":"2017-07-11 11:41:08.000000000","message":"Done","commit_id":"26441c51f35bd0389f5a35a925cefeb65126c240"}]}
