)]}'
{"ironicclient/osc/v1/baremetal_node.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9033655bb78750cefd564b460c05ee94f8a8e05f","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"            help\u003d\"Name or UUID of the node\""},{"line_number":1193,"context_line":"        )"},{"line_number":1194,"context_line":"        parser.add_argument("},{"line_number":1195,"context_line":"            \u0027vif_id\u0027,"},{"line_number":1196,"context_line":"            metavar\u003d\u0027\u003cvif-id\u003e\u0027,"},{"line_number":1197,"context_line":"            help\u003d\"UUID of the VIF to attach to a node.\""},{"line_number":1198,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_5406ea20","line":1195,"updated":"2017-01-10 20:04:17.000000000","message":"I know that this is in the spec. But the ironic code\u0027s REST API allows for it to be vif-info, not just the ID. I\u0027m fine if we want to allow the user to just specify the VIF ID, but only if we have a process to allow generalized VIF info in the future.","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"094ccec808cc300d75115cd7052fbd0270e65645","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"            help\u003d\"Name or UUID of the node\""},{"line_number":1193,"context_line":"        )"},{"line_number":1194,"context_line":"        parser.add_argument("},{"line_number":1195,"context_line":"            \u0027vif_id\u0027,"},{"line_number":1196,"context_line":"            metavar\u003d\u0027\u003cvif-id\u003e\u0027,"},{"line_number":1197,"context_line":"            help\u003d\"UUID of the VIF to attach to a node.\""},{"line_number":1198,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_ddf1fece","line":1195,"in_reply_to":"ba5201f7_106375dd","updated":"2017-01-11 12:22:01.000000000","message":"Patch that extends vif-attach command is: https://review.openstack.org/#/c/418894","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"396acab9ffc8ec180d49e3d5b6ef822cfe4a0404","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"            help\u003d\"Name or UUID of the node\""},{"line_number":1193,"context_line":"        )"},{"line_number":1194,"context_line":"        parser.add_argument("},{"line_number":1195,"context_line":"            \u0027vif_id\u0027,"},{"line_number":1196,"context_line":"            metavar\u003d\u0027\u003cvif-id\u003e\u0027,"},{"line_number":1197,"context_line":"            help\u003d\"UUID of the VIF to attach to a node.\""},{"line_number":1198,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_352772b7","line":1195,"in_reply_to":"ba5201f7_20bca16b","updated":"2017-01-11 16:15:39.000000000","message":"That works for me!","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fbd25fcad4c37b5f9e8ea89ccd8caba3b3dd0442","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"            help\u003d\"Name or UUID of the node\""},{"line_number":1193,"context_line":"        )"},{"line_number":1194,"context_line":"        parser.add_argument("},{"line_number":1195,"context_line":"            \u0027vif_id\u0027,"},{"line_number":1196,"context_line":"            metavar\u003d\u0027\u003cvif-id\u003e\u0027,"},{"line_number":1197,"context_line":"            help\u003d\"UUID of the VIF to attach to a node.\""},{"line_number":1198,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_106375dd","line":1195,"in_reply_to":"ba5201f7_5406ea20","updated":"2017-01-11 09:42:46.000000000","message":"Since the ID is the mandatory parameter it is better to have dedicated argument for it.\n\nIn future of course we will add possibility to set custom keys.\n\nFor example: ironic node-vif-attach \u003cnode\u003e \u003cvif_id\u003e --vif-info \u003ckey\u003dvalue\u003e","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"12bc09dca5e45a822112a7cc24601235d283b6db","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"            help\u003d\"Name or UUID of the node\""},{"line_number":1193,"context_line":"        )"},{"line_number":1194,"context_line":"        parser.add_argument("},{"line_number":1195,"context_line":"            \u0027vif_id\u0027,"},{"line_number":1196,"context_line":"            metavar\u003d\u0027\u003cvif-id\u003e\u0027,"},{"line_number":1197,"context_line":"            help\u003d\"UUID of the VIF to attach to a node.\""},{"line_number":1198,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_20bca16b","line":1195,"in_reply_to":"ba5201f7_ddf1fece","updated":"2017-01-11 12:43:05.000000000","message":"Good point, I think I like this approach. Thanks :)","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"}],"ironicclient/tests/unit/osc/v1/test_baremetal_node.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"912ed4a42ed0525b0fe38f99ed85098dfed6af1a","unresolved":false,"context_lines":[{"line_number":1785,"context_line":"        # Get the command object to test"},{"line_number":1786,"context_line":"        self.cmd \u003d baremetal_node.VifDetachBaremetalNode(self.app, None)"},{"line_number":1787,"context_line":""},{"line_number":1788,"context_line":"    def test_baremetal_vif_attach(self):"},{"line_number":1789,"context_line":"        arglist \u003d [\u0027node_uuid\u0027, \u0027aaa-aaa\u0027]"},{"line_number":1790,"context_line":"        verifylist \u003d [(\u0027node\u0027, \u0027node_uuid\u0027),"},{"line_number":1791,"context_line":"                      (\u0027vif_id\u0027, \u0027aaa-aaa\u0027)]"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5201f7_d5f6268e","line":1788,"updated":"2017-01-11 16:36:37.000000000","message":"s/attach/detach/","commit_id":"56197f32d957bccb9cacd3f2cf9d1c4a71217db8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"2a6f253aed61fe34ca9afa9b63bd6e2d88544306","unresolved":false,"context_lines":[{"line_number":1785,"context_line":"        # Get the command object to test"},{"line_number":1786,"context_line":"        self.cmd \u003d baremetal_node.VifDetachBaremetalNode(self.app, None)"},{"line_number":1787,"context_line":""},{"line_number":1788,"context_line":"    def test_baremetal_vif_attach(self):"},{"line_number":1789,"context_line":"        arglist \u003d [\u0027node_uuid\u0027, \u0027aaa-aaa\u0027]"},{"line_number":1790,"context_line":"        verifylist \u003d [(\u0027node\u0027, \u0027node_uuid\u0027),"},{"line_number":1791,"context_line":"                      (\u0027vif_id\u0027, \u0027aaa-aaa\u0027)]"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba5201f7_aaadc09c","line":1788,"in_reply_to":"ba5201f7_d5f6268e","updated":"2017-01-11 16:54:13.000000000","message":"Done","commit_id":"56197f32d957bccb9cacd3f2cf9d1c4a71217db8"}],"ironicclient/v1/node.py":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6122f79537f3ac05fdce76011131419035ff1362","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def attach_interface(self, node_id, interface_id):"},{"line_number":248,"context_line":"        path \u003d \"%s/interface_attach\" % node_id"},{"line_number":249,"context_line":"        data \u003d {\"interface_id\": interface_id}"},{"line_number":250,"context_line":"        self.update(path, data, http_method\u003d\"POST\")"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def detach_interface(self, node_id, interface_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a629dbe_0f3bab9d","line":249,"updated":"2016-11-14 09:39:02.000000000","message":"list_interfaces is missed.","commit_id":"7d6ed33b042b672d81d3e96f2d0ca7a0ba7ba41e"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"6122f79537f3ac05fdce76011131419035ff1362","unresolved":false,"context_lines":[{"line_number":252,"context_line":"    def detach_interface(self, node_id, interface_id):"},{"line_number":253,"context_line":"        path \u003d \"%s/interface_detach\" % node_id"},{"line_number":254,"context_line":"        data \u003d {\"interface_id\": interface_id}"},{"line_number":255,"context_line":"        self.update(path, data, http_method\u003d\"POST\")"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    def set_maintenance(self, node_id, state, maint_reason\u003dNone):"},{"line_number":258,"context_line":"        \"\"\"Set the maintenance mode for the node."}],"source_content_type":"text/x-python","patch_set":3,"id":"9a629dbe_2ff22f07","line":255,"range":{"start_line":255,"start_character":45,"end_line":255,"end_character":49},"updated":"2016-11-14 09:39:02.000000000","message":"should be DELETE","commit_id":"7d6ed33b042b672d81d3e96f2d0ca7a0ba7ba41e"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"2ba858720ca85c656c58f6d7c44c72be1979cf05","unresolved":false,"context_lines":[{"line_number":280,"context_line":"        \"\"\""},{"line_number":281,"context_line":"        path \u003d \"%s/vifs\" % node_ident"},{"line_number":282,"context_line":"        data \u003d {\"id\": vif_id}"},{"line_number":283,"context_line":"        self.update(path, data, http_method\u003d\"POST\")"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    def vif_detach(self, node_ident, vif_id):"},{"line_number":286,"context_line":"        \"\"\"Detach VIF from a given node."}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6eadb0_859ba965","line":283,"updated":"2016-12-21 09:20:56.000000000","message":"I\u0027m not sure how this works, as update sends patch request, and http_method gets ignored if I read the code correctly. Why not use self.create here?","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"61db856772b1f07644aed35747c39b6e78015267","unresolved":false,"context_lines":[{"line_number":280,"context_line":"        \"\"\""},{"line_number":281,"context_line":"        path \u003d \"%s/vifs\" % node_ident"},{"line_number":282,"context_line":"        data \u003d {\"id\": vif_id}"},{"line_number":283,"context_line":"        self.update(path, data, http_method\u003d\"POST\")"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    def vif_detach(self, node_ident, vif_id):"},{"line_number":286,"context_line":"        \"\"\"Detach VIF from a given node."}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_93146c4d","line":283,"in_reply_to":"1a6eadb0_859ba965","updated":"2017-01-06 16:32:49.000000000","message":"It seems like we do this throughout the code. Maybe better to fix these things altogether.","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    def vif_list(self, node_ident):"},{"line_number":248,"context_line":"        \"\"\"List VIFs attached to a given node."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        :param node_id: The UUID or Name of the node."},{"line_number":251,"context_line":"        \"\"\""},{"line_number":252,"context_line":"        path \u003d \"%s/vifs\" % node_ident"},{"line_number":253,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_cf3db92c","line":250,"updated":"2017-01-11 16:04:00.000000000","message":"s/node_id/node_ident/","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    def vif_list(self, node_ident):"},{"line_number":248,"context_line":"        \"\"\"List VIFs attached to a given node."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"        :param node_id: The UUID or Name of the node."},{"line_number":251,"context_line":"        \"\"\""},{"line_number":252,"context_line":"        path \u003d \"%s/vifs\" % node_ident"},{"line_number":253,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_4a837456","line":250,"in_reply_to":"ba5201f7_cf3db92c","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":256,"context_line":"    def vif_attach(self, node_ident, vif_id):"},{"line_number":257,"context_line":"        \"\"\"Attach VIF to a given node."},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        param node_id: The UUID or Name of the node."},{"line_number":260,"context_line":"        param vif_id: The UUID or Name of the VIF to attach."},{"line_number":261,"context_line":"        \"\"\""},{"line_number":262,"context_line":"        path \u003d \"%s/vifs\" % node_ident"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_6f412d63","line":259,"updated":"2017-01-11 16:04:00.000000000","message":"ditto","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","unresolved":false,"context_lines":[{"line_number":256,"context_line":"    def vif_attach(self, node_ident, vif_id):"},{"line_number":257,"context_line":"        \"\"\"Attach VIF to a given node."},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        param node_id: The UUID or Name of the node."},{"line_number":260,"context_line":"        param vif_id: The UUID or Name of the VIF to attach."},{"line_number":261,"context_line":"        \"\"\""},{"line_number":262,"context_line":"        path \u003d \"%s/vifs\" % node_ident"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_6a883872","line":259,"in_reply_to":"ba5201f7_6f412d63","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"49c6f3e1a43ee6f82904ae5bd784e87bac30734e","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        \"\"\""},{"line_number":262,"context_line":"        path \u003d \"%s/vifs\" % node_ident"},{"line_number":263,"context_line":"        data \u003d {\"id\": vif_id}"},{"line_number":264,"context_line":"        self.update(path, data, http_method\u003d\"POST\")"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"    def vif_detach(self, node_ident, vif_id):"},{"line_number":267,"context_line":"        \"\"\"Detach VIF from a given node."}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_2989e526","line":264,"updated":"2017-01-11 15:19:04.000000000","message":"It\u0027s confusing that some methods do the _path() thing here, and some do it in base.py... we should fix that at some point.","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"}],"ironicclient/v1/node_shell.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":603,"context_line":""},{"line_number":604,"context_line":"@cliutils.arg(\u0027node\u0027, metavar\u003d\u0027\u003cnode\u003e\u0027, help\u003d\"Name or UUID of the node.\")"},{"line_number":605,"context_line":"def do_node_vif_list(cc, args):"},{"line_number":606,"context_line":"    \"\"\"List vifs for a given node.\"\"\""},{"line_number":607,"context_line":"    vifs \u003d cc.node.vif_list(args.node)"},{"line_number":608,"context_line":"    fields \u003d res_fields.VIFS_RESOURCE.fields"},{"line_number":609,"context_line":"    field_labels \u003d res_fields.VIFS_RESOURCE.labels"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_f47410ff","line":606,"updated":"2017-01-11 16:04:00.000000000","message":"s/vifs/VIFs/","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","unresolved":false,"context_lines":[{"line_number":603,"context_line":""},{"line_number":604,"context_line":"@cliutils.arg(\u0027node\u0027, metavar\u003d\u0027\u003cnode\u003e\u0027, help\u003d\"Name or UUID of the node.\")"},{"line_number":605,"context_line":"def do_node_vif_list(cc, args):"},{"line_number":606,"context_line":"    \"\"\"List vifs for a given node.\"\"\""},{"line_number":607,"context_line":"    vifs \u003d cc.node.vif_list(args.node)"},{"line_number":608,"context_line":"    fields \u003d res_fields.VIFS_RESOURCE.fields"},{"line_number":609,"context_line":"    field_labels \u003d res_fields.VIFS_RESOURCE.labels"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_2ae2b02f","line":606,"in_reply_to":"ba5201f7_f47410ff","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"49c6f3e1a43ee6f82904ae5bd784e87bac30734e","unresolved":false,"context_lines":[{"line_number":614,"context_line":""},{"line_number":615,"context_line":"@cliutils.arg(\u0027node\u0027, metavar\u003d\u0027\u003cnode\u003e\u0027, help\u003d\"Name or UUID of the node.\")"},{"line_number":616,"context_line":"@cliutils.arg("},{"line_number":617,"context_line":"    \u0027vif_id\u0027,"},{"line_number":618,"context_line":"    help\u003d\"Name or UUID of the VIF to attach to node.\")"},{"line_number":619,"context_line":"def do_node_vif_attach(cc, args):"},{"line_number":620,"context_line":"    \"\"\"List vifs for a given node.\"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_c9a13996","line":617,"updated":"2017-01-11 15:19:04.000000000","message":"Can we make this --vif-id, not --vif_id, please?","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e3c61f69a1348ea40852e0a3939d472924330b38","unresolved":false,"context_lines":[{"line_number":614,"context_line":""},{"line_number":615,"context_line":"@cliutils.arg(\u0027node\u0027, metavar\u003d\u0027\u003cnode\u003e\u0027, help\u003d\"Name or UUID of the node.\")"},{"line_number":616,"context_line":"@cliutils.arg("},{"line_number":617,"context_line":"    \u0027vif_id\u0027,"},{"line_number":618,"context_line":"    help\u003d\"Name or UUID of the VIF to attach to node.\")"},{"line_number":619,"context_line":"def do_node_vif_attach(cc, args):"},{"line_number":620,"context_line":"    \"\"\"List vifs for a given node.\"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_b473687f","line":617,"in_reply_to":"ba5201f7_c9a13996","updated":"2017-01-11 15:30:00.000000000","message":"This is positional. I\u0027ll add metavar\u003d\u003cvif-id\u003e instead.","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":617,"context_line":"    \u0027vif_id\u0027,"},{"line_number":618,"context_line":"    help\u003d\"Name or UUID of the VIF to attach to node.\")"},{"line_number":619,"context_line":"def do_node_vif_attach(cc, args):"},{"line_number":620,"context_line":"    \"\"\"List vifs for a given node.\"\"\""},{"line_number":621,"context_line":"    cc.node.vif_attach(args.node, args.vif_id)"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_cf7a1924","line":620,"updated":"2017-01-11 16:04:00.000000000","message":"this doesn\u0027t look right","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","unresolved":false,"context_lines":[{"line_number":617,"context_line":"    \u0027vif_id\u0027,"},{"line_number":618,"context_line":"    help\u003d\"Name or UUID of the VIF to attach to node.\")"},{"line_number":619,"context_line":"def do_node_vif_attach(cc, args):"},{"line_number":620,"context_line":"    \"\"\"List vifs for a given node.\"\"\""},{"line_number":621,"context_line":"    cc.node.vif_attach(args.node, args.vif_id)"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_eadb487a","line":620,"in_reply_to":"ba5201f7_cf7a1924","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"49c6f3e1a43ee6f82904ae5bd784e87bac30734e","unresolved":false,"context_lines":[{"line_number":623,"context_line":""},{"line_number":624,"context_line":"@cliutils.arg(\u0027node\u0027, metavar\u003d\u0027\u003cnode\u003e\u0027, help\u003d\"Name or UUID of the node.\")"},{"line_number":625,"context_line":"@cliutils.arg("},{"line_number":626,"context_line":"    \u0027vif_id\u0027,"},{"line_number":627,"context_line":"    help\u003d\"Name or UUID of the VIF to detach from node.\")"},{"line_number":628,"context_line":"def do_node_vif_detach(cc, args):"},{"line_number":629,"context_line":"    \"\"\"Detach vif from a given node.\"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_e9aa7d70","line":626,"updated":"2017-01-11 15:19:04.000000000","message":"Ditto","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":626,"context_line":"    \u0027vif_id\u0027,"},{"line_number":627,"context_line":"    help\u003d\"Name or UUID of the VIF to detach from node.\")"},{"line_number":628,"context_line":"def do_node_vif_detach(cc, args):"},{"line_number":629,"context_line":"    \"\"\"Detach vif from a given node.\"\"\""},{"line_number":630,"context_line":"    cc.node.vif_detach(args.node, args.vif_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_2fb725d9","line":629,"updated":"2017-01-11 16:04:00.000000000","message":"s/vif/VIF/","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","unresolved":false,"context_lines":[{"line_number":626,"context_line":"    \u0027vif_id\u0027,"},{"line_number":627,"context_line":"    help\u003d\"Name or UUID of the VIF to detach from node.\")"},{"line_number":628,"context_line":"def do_node_vif_detach(cc, args):"},{"line_number":629,"context_line":"    \"\"\"Detach vif from a given node.\"\"\""},{"line_number":630,"context_line":"    cc.node.vif_detach(args.node, args.vif_id)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_4ad1b456","line":629,"in_reply_to":"ba5201f7_2fb725d9","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"}],"ironicclient/v1/resource_fields.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"2ba858720ca85c656c58f6d7c44c72be1979cf05","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Standalone Ports Supported\u0027,"},{"line_number":74,"context_line":"        \u0027id\u0027: \u0027Vif UUID\u0027"},{"line_number":75,"context_line":"    }"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6eadb0_a5d265fe","line":74,"range":{"start_line":74,"start_character":15,"end_line":74,"end_character":18},"updated":"2016-12-21 09:20:56.000000000","message":"I\u0027d prefer VIF","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fbd25fcad4c37b5f9e8ea89ccd8caba3b3dd0442","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Standalone Ports Supported\u0027,"},{"line_number":74,"context_line":"        \u0027id\u0027: \u0027Vif UUID\u0027"},{"line_number":75,"context_line":"    }"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_50d09d53","line":74,"range":{"start_line":74,"start_character":15,"end_line":74,"end_character":18},"in_reply_to":"1a6eadb0_a5d265fe","updated":"2017-01-11 09:42:46.000000000","message":"Done","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"f1b7e15ea3195e33e2427f6920fa3abeec897aa4","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Standalone Ports Supported\u0027,"},{"line_number":74,"context_line":"        \u0027id\u0027: \u0027Vif UUID\u0027"},{"line_number":75,"context_line":"    }"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_c4dce91a","line":74,"range":{"start_line":74,"start_character":15,"end_line":74,"end_character":18},"in_reply_to":"1a6eadb0_a5d265fe","updated":"2017-01-10 21:22:35.000000000","message":"nit: add trailing \u0027,\u0027 (comma)\n\nI wonder why this isn\u0027t sorted?\n\nAlso is it only a UUID or can it be a name?","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fbd25fcad4c37b5f9e8ea89ccd8caba3b3dd0442","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Standalone Ports Supported\u0027,"},{"line_number":74,"context_line":"        \u0027id\u0027: \u0027Vif UUID\u0027"},{"line_number":75,"context_line":"    }"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5201f7_b0cd49b9","line":74,"range":{"start_line":74,"start_character":15,"end_line":74,"end_character":18},"in_reply_to":"ba5201f7_c4dce91a","updated":"2017-01-11 09:42:46.000000000","message":"It can be Name or UUID.","commit_id":"fda2132bcf2bd56510ef417c13e184642842eecd"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"49c6f3e1a43ee6f82904ae5bd784e87bac30734e","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Standalone Ports Supported\u0027,"},{"line_number":74,"context_line":"        \u0027id\u0027: \u0027VIF\u0027,"},{"line_number":75,"context_line":"    }"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_490aa98b","line":74,"updated":"2017-01-11 15:19:04.000000000","message":"Hm, I don\u0027t quite like that we\u0027re reserving \"id\" for VIFs. Shouldn\u0027t this just translate to \"ID\"? I don\u0027t think it would be confusing when doing node-vif-list. The user already knows they\u0027ll get a list of VIFs back.","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Standalone Ports Supported\u0027,"},{"line_number":74,"context_line":"        \u0027id\u0027: \u0027VIF\u0027,"},{"line_number":75,"context_line":"    }"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_d4c2ac84","line":74,"updated":"2017-01-11 16:04:00.000000000","message":"If we\u0027re going to add additional VIF information later, maybe we should be explicit here and label it as \u0027VIF ID\u0027 ? Actually, now that I am thinking about it, maybe it should be s/VIF/ID/. That would make it more consistent with \u0027uuid\u0027 (eg, for node, we don\u0027t label it as \u0027Node UUID\u0027, but just \u0027UUID\u0027)","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e3c61f69a1348ea40852e0a3939d472924330b38","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        \u0027portgroup_uuid\u0027: \u0027Portgroup UUID\u0027,"},{"line_number":72,"context_line":"        \u0027network_interface\u0027: \u0027Network Interface\u0027,"},{"line_number":73,"context_line":"        \u0027standalone_ports_supported\u0027: \u0027Standalone Ports Supported\u0027,"},{"line_number":74,"context_line":"        \u0027id\u0027: \u0027VIF\u0027,"},{"line_number":75,"context_line":"    }"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, field_ids, sort_excluded\u003dNone):"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_b442883c","line":74,"in_reply_to":"ba5201f7_490aa98b","updated":"2017-01-11 15:30:00.000000000","message":"Yeah, this makes sense.","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":247,"context_line":"     ])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"# VIFs"},{"line_number":250,"context_line":"VIFS_RESOURCE \u003d Resource("},{"line_number":251,"context_line":"    [\u0027id\u0027],"},{"line_number":252,"context_line":")"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_8fcc91bc","line":250,"updated":"2017-01-11 16:04:00.000000000","message":"s/VIFS_RESOURCE/VIF_RESOURCE/\n\nto be consistent with the other names","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","unresolved":false,"context_lines":[{"line_number":247,"context_line":"     ])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"# VIFs"},{"line_number":250,"context_line":"VIFS_RESOURCE \u003d Resource("},{"line_number":251,"context_line":"    [\u0027id\u0027],"},{"line_number":252,"context_line":")"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_2ab9d015","line":250,"in_reply_to":"ba5201f7_8fcc91bc","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"}],"releasenotes/notes/add-vif-attach-detach-support-e680d64e4add0fa4.yaml":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","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":"    Add attach detach support to OSC and ironicclient."},{"line_number":5,"context_line":"    New commands were added:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * `ironic node-vif-list \u003cnode\u003e`;"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ba5201f7_14719444","line":4,"updated":"2017-01-11 16:04:00.000000000","message":"How about \u0027Adds support for attaching and detaching VIFs. This is available starting with ironic API microversion 1.28.\u0027","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"49c6f3e1a43ee6f82904ae5bd784e87bac30734e","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":"    Add attach detach support to OSC and ironicclient."},{"line_number":5,"context_line":"    New commands were added:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * `ironic node-vif-list \u003cnode\u003e`;"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ba5201f7_4931c959","line":4,"updated":"2017-01-11 15:19:04.000000000","message":"s/attach detach/vif attach and detach/, maybe? Or port attach and detach?","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","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":"    Add attach detach support to OSC and ironicclient."},{"line_number":5,"context_line":"    New commands were added:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * `ironic node-vif-list \u003cnode\u003e`;"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ba5201f7_4a5ff4e4","line":4,"in_reply_to":"ba5201f7_14719444","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"e3c61f69a1348ea40852e0a3939d472924330b38","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":"    Add attach detach support to OSC and ironicclient."},{"line_number":5,"context_line":"    New commands were added:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * `ironic node-vif-list \u003cnode\u003e`;"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ba5201f7_f448905e","line":4,"in_reply_to":"ba5201f7_4931c959","updated":"2017-01-11 15:30:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add attach detach support to OSC and ironicclient."},{"line_number":5,"context_line":"    New commands were added:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * `ironic node-vif-list \u003cnode\u003e`;"},{"line_number":8,"context_line":"    * `ironic node-vif-attach \u003cnode\u003e \u003cvif-id\u003e`;"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ba5201f7_14a8b476","line":5,"updated":"2017-01-11 16:04:00.000000000","message":"The new commands are:","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add attach detach support to OSC and ironicclient."},{"line_number":5,"context_line":"    New commands were added:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * `ironic node-vif-list \u003cnode\u003e`;"},{"line_number":8,"context_line":"    * `ironic node-vif-attach \u003cnode\u003e \u003cvif-id\u003e`;"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ba5201f7_2a6710b8","line":5,"in_reply_to":"ba5201f7_14a8b476","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    * `ironic node-vif-detach \u003cnode\u003e \u003cvif-id\u003e`;"},{"line_number":10,"context_line":"    * `openstack baremetal node vif list \u003cnode\u003e`;"},{"line_number":11,"context_line":"    * `openstack baremetal node vif attach \u003cnode\u003e \u003cvif-id\u003e`;"},{"line_number":12,"context_line":"    * `openstack baremetal node vif detach \u003cnode\u003e \u003cvif-id\u003e`;"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ba5201f7_74fbc07b","line":12,"updated":"2017-01-11 16:04:00.000000000","message":"no need for the semi-colons at the end, since it is in bullet form.","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    * `ironic node-vif-detach \u003cnode\u003e \u003cvif-id\u003e`;"},{"line_number":10,"context_line":"    * `openstack baremetal node vif list \u003cnode\u003e`;"},{"line_number":11,"context_line":"    * `openstack baremetal node vif attach \u003cnode\u003e \u003cvif-id\u003e`;"},{"line_number":12,"context_line":"    * `openstack baremetal node vif detach \u003cnode\u003e \u003cvif-id\u003e`;"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ba5201f7_4a0614cf","line":12,"in_reply_to":"ba5201f7_74fbc07b","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"}],"setup.cfg":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f280c4a9a1d37b6fb707864d4b4b0280d1c0dd97","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    baremetal_node_undeploy \u003d ironicclient.osc.v1.baremetal_node:UndeployBaremetalNode"},{"line_number":70,"context_line":"    baremetal_node_unset \u003d ironicclient.osc.v1.baremetal_node:UnsetBaremetalNode"},{"line_number":71,"context_line":"    baremetal_node_validate \u003d ironicclient.osc.v1.baremetal_node:ValidateBaremetalNode"},{"line_number":72,"context_line":"    baremetal_node_vif_list \u003d ironicclient.osc.v1.baremetal_node:VifListBaremetalNode"},{"line_number":73,"context_line":"    baremetal_node_vif_attach \u003d ironicclient.osc.v1.baremetal_node:VifAttachBaremetalNode"},{"line_number":74,"context_line":"    baremetal_node_vif_detach \u003d ironicclient.osc.v1.baremetal_node:VifDetachBaremetalNode"},{"line_number":75,"context_line":"    baremetal_port_create \u003d ironicclient.osc.v1.baremetal_port:CreateBaremetalPort"}],"source_content_type":"text/x-ttcn-cfg","patch_set":9,"id":"ba5201f7_f41df0be","line":72,"updated":"2017-01-11 16:04:00.000000000","message":"nit, if you don\u0027t mind, i think this list is/was in alphabetical order so maybe move this to after L74.","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4d54f3fb783d129f168047349c63095ecbc70798","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    baremetal_node_undeploy \u003d ironicclient.osc.v1.baremetal_node:UndeployBaremetalNode"},{"line_number":70,"context_line":"    baremetal_node_unset \u003d ironicclient.osc.v1.baremetal_node:UnsetBaremetalNode"},{"line_number":71,"context_line":"    baremetal_node_validate \u003d ironicclient.osc.v1.baremetal_node:ValidateBaremetalNode"},{"line_number":72,"context_line":"    baremetal_node_vif_list \u003d ironicclient.osc.v1.baremetal_node:VifListBaremetalNode"},{"line_number":73,"context_line":"    baremetal_node_vif_attach \u003d ironicclient.osc.v1.baremetal_node:VifAttachBaremetalNode"},{"line_number":74,"context_line":"    baremetal_node_vif_detach \u003d ironicclient.osc.v1.baremetal_node:VifDetachBaremetalNode"},{"line_number":75,"context_line":"    baremetal_port_create \u003d ironicclient.osc.v1.baremetal_port:CreateBaremetalPort"}],"source_content_type":"text/x-ttcn-cfg","patch_set":9,"id":"ba5201f7_ca21244f","line":72,"in_reply_to":"ba5201f7_f41df0be","updated":"2017-01-11 16:54:00.000000000","message":"Done","commit_id":"5db10960686bffed772c84bf1fd1feb2738319c8"}]}
