)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"fd1bd345d252dea7496d2e18222a73ec3c7f9468","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rework update_mac_address logic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some neutron backends like contrail require port is unbound before can"},{"line_number":10,"context_line":"change its mac_address or vnic_type is set to baremeteal."},{"line_number":11,"context_line":"Rework update_mac_address for Neutron case to use separate steps for:"},{"line_number":12,"context_line":"  1. Unbind port"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bf57530f_0ff9667f","line":9,"range":{"start_line":9,"start_character":60,"end_line":9,"end_character":70},"updated":"2017-09-20 05:31:12.000000000","message":"s/ \u0027before can\u0027 / \u0027before one can\u0027 /","commit_id":"dddfc0b7672a87cdd839f38e80f7d26f77ffe5d8"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"d7c56c7868258ddc31f607d16c1b2870e6363ff6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rework update_mac_address logic"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some neutron backends like contrail require port is unbound before can"},{"line_number":10,"context_line":"change its mac_address or vnic_type is set to baremeteal."},{"line_number":11,"context_line":"Rework update_mac_address for Neutron case to use separate steps for:"},{"line_number":12,"context_line":"  1. Unbind port"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bf57530f_e5cbd16f","line":9,"range":{"start_line":9,"start_character":60,"end_line":9,"end_character":70},"in_reply_to":"bf57530f_0ff9667f","updated":"2017-09-20 07:00:57.000000000","message":"Done","commit_id":"dddfc0b7672a87cdd839f38e80f7d26f77ffe5d8"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"fd1bd345d252dea7496d2e18222a73ec3c7f9468","unresolved":false,"context_lines":[{"line_number":10,"context_line":"change its mac_address or vnic_type is set to baremeteal."},{"line_number":11,"context_line":"Rework update_mac_address for Neutron case to use separate steps for:"},{"line_number":12,"context_line":"  1. Unbind port"},{"line_number":13,"context_line":"  2. Update mac_address"},{"line_number":14,"context_line":"  3. Bind port"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I9938fa565eef7e0f1403f6a7c55922115128158c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bf57530f_0f272615","line":13,"range":{"start_line":13,"start_character":12,"end_line":13,"end_character":23},"updated":"2017-09-20 05:31:12.000000000","message":"s/ \u0027mac_address\u0027 / \u0027mac address\u0027/","commit_id":"dddfc0b7672a87cdd839f38e80f7d26f77ffe5d8"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"d7c56c7868258ddc31f607d16c1b2870e6363ff6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"change its mac_address or vnic_type is set to baremeteal."},{"line_number":11,"context_line":"Rework update_mac_address for Neutron case to use separate steps for:"},{"line_number":12,"context_line":"  1. Unbind port"},{"line_number":13,"context_line":"  2. Update mac_address"},{"line_number":14,"context_line":"  3. Bind port"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I9938fa565eef7e0f1403f6a7c55922115128158c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bf57530f_c5c8cd75","line":13,"range":{"start_line":13,"start_character":12,"end_line":13,"end_character":23},"in_reply_to":"bf57530f_0f272615","updated":"2017-09-20 07:00:57.000000000","message":"Done","commit_id":"dddfc0b7672a87cdd839f38e80f7d26f77ffe5d8"}],"ironic/common/neutron.py":[{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"a6ee02c3ea8527375d631f1ecfd24b07771c9424","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            unbind_neutron_port(port_id, client\u003dclient)"},{"line_number":137,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:host_id\u0027] \u003d binding_host_id"},{"line_number":138,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d binding_profile"},{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_27d3043b","line":140,"range":{"start_line":139,"start_character":0,"end_line":140,"end_character":58},"updated":"2017-08-23 12:01:32.000000000","message":"The code above this specifically unbinds the port, because no neutron backend lets to update a bound port.","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e18f2d21b3d941e8ddf0ab9249b0ceb6a2455541","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            unbind_neutron_port(port_id, client\u003dclient)"},{"line_number":137,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:host_id\u0027] \u003d binding_host_id"},{"line_number":138,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d binding_profile"},{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_7ca2c29c","line":140,"range":{"start_line":139,"start_character":0,"end_line":140,"end_character":58},"in_reply_to":"7f287b81_27d3043b","updated":"2017-08-23 12:49:41.000000000","message":"Contrail checks if host_id is set not actually if port bound or not [0]. check if vif_type \u003d\u003d bound is dangerous as it may take a time to bound a port and we can\u0027t update its mac when binding was started.\n\n[0] https://github.com/Juniper/contrail-controller/blob/e754a997d7d75ba205e17610ff566b649fc1d0bc/src/config/vnc_openstack/vnc_openstack/neutron_plugin_db.py#L2136","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"84571c04de36fabfd7b0e2f9c37a3c77faf7592b","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            unbind_neutron_port(port_id, client\u003dclient)"},{"line_number":137,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:host_id\u0027] \u003d binding_host_id"},{"line_number":138,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d binding_profile"},{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_9c4a0e7e","line":140,"range":{"start_line":139,"start_character":0,"end_line":140,"end_character":58},"in_reply_to":"7f287b81_7ca2c29c","updated":"2017-08-23 13:05:20.000000000","message":"the function unbind_neutron_port called on L136 removes the host_id which should unbind the port so this check in contrail should be fine.","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"93bea08a0b72073de444b29bbec1173ee9b0486a","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            unbind_neutron_port(port_id, client\u003dclient)"},{"line_number":137,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:host_id\u0027] \u003d binding_host_id"},{"line_number":138,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d binding_profile"},{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_cdd0decc","line":140,"range":{"start_line":139,"start_character":0,"end_line":140,"end_character":58},"in_reply_to":"7f287b81_9c4a0e7e","updated":"2017-08-23 14:23:20.000000000","message":"but we do not send new mac in that request, and when we update mac we set host_id L145","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"8930949a141e8ce52b4e491afb65d775e2df3b0b","unresolved":false,"context_lines":[{"line_number":136,"context_line":"            unbind_neutron_port(port_id, client\u003dclient)"},{"line_number":137,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:host_id\u0027] \u003d binding_host_id"},{"line_number":138,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d binding_profile"},{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_28e1909b","line":140,"range":{"start_line":139,"start_character":0,"end_line":140,"end_character":58},"in_reply_to":"7f287b81_cdd0decc","updated":"2017-08-23 14:48:41.000000000","message":"correct, IMO the right solution is to unbind like we do already, then set the mac address in one request, and then rebind by resetting the information in another request. Doing the mac address and the rebind in one request was just an optimisation but it seems like a bug in contrail which doesn\u0027t allow mac address and host_id to be set in the same request.","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"a6ee02c3ea8527375d631f1ecfd24b07771c9424","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d binding_profile"},{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        msg \u003d (_(\"Failed to update MAC address on Neutron port %s.\") % port_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_e7985c6b","line":141,"range":{"start_line":141,"start_character":12,"end_line":141,"end_character":71},"updated":"2017-08-23 12:01:32.000000000","message":"Whether this should be \u0027baremetal\u0027 depends on the networking driver backend, so I would prefer to see a port update changing this value in the vif_attach function for the driver, not in this generic update_port_address function.","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"84571c04de36fabfd7b0e2f9c37a3c77faf7592b","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d binding_profile"},{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        msg \u003d (_(\"Failed to update MAC address on Neutron port %s.\") % port_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_8f0d2e39","line":141,"range":{"start_line":141,"start_character":12,"end_line":141,"end_character":71},"in_reply_to":"7f287b81_dca536b7","updated":"2017-08-23 13:05:20.000000000","message":"I\u0027m not happy with overloading a function that is designed to do a specific thing to do something else, it makes it basically not reusable for any case other than ones that require vnic type baremetal","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e18f2d21b3d941e8ddf0ab9249b0ceb6a2455541","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:profile\u0027] \u003d binding_profile"},{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        msg \u003d (_(\"Failed to update MAC address on Neutron port %s.\") % port_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_dca536b7","line":141,"range":{"start_line":141,"start_character":12,"end_line":141,"end_character":71},"in_reply_to":"7f287b81_e7985c6b","updated":"2017-08-23 12:49:41.000000000","message":"I just tried to minimize number of neutron API calls. This update mac will be called for all ports based on [0] what do you think if we left this here, and add additional call in vif_attach only when portgroup doesn\u0027t have mac address?\n\n[0] https://github.com/openstack/ironic/blob/stable/ocata/ironic/drivers/modules/network/common.py#L308","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"a6ee02c3ea8527375d631f1ecfd24b07771c9424","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        msg \u003d (_(\"Failed to update MAC address on Neutron port %s.\") % port_id)"},{"line_number":145,"context_line":"        client.update_port(port_id, port_req_body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_a7213450","line":142,"updated":"2017-08-23 12:01:32.000000000","message":"-1000 to this unless we change it back after, the whole point is that the device_owner for nova managed ports is that the device_owner is compute:none, the only ports \"owned\" by ironic are ports created by ironic for example the cleaning and provisioning ports.","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e18f2d21b3d941e8ddf0ab9249b0ceb6a2455541","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            # NOTE(vsaienko) some neutron backends like contrail update mac"},{"line_number":140,"context_line":"            # address only for baremetal or not bound port"},{"line_number":141,"context_line":"            port_req_body[\u0027port\u0027][\u0027binding:vnic_type\u0027] \u003d VNIC_BAREMETAL"},{"line_number":142,"context_line":"            port_req_body[\u0027port\u0027][\u0027device_owner\u0027] \u003d \u0027baremetal:none\u0027"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        msg \u003d (_(\"Failed to update MAC address on Neutron port %s.\") % port_id)"},{"line_number":145,"context_line":"        client.update_port(port_id, port_req_body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_9cba0edc","line":142,"in_reply_to":"7f287b81_a7213450","updated":"2017-08-23 12:49:41.000000000","message":"100% correct","commit_id":"014e1bb226343501d5d68b1a924d39e77447ef42"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"63c677622c73e90fb25fb1d1aef6e50e4d202e8f","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"_NEUTRON_SESSION \u003d None"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"VNIC_BAREMETAL \u003d \u0027baremetal\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"PHYSNET_PARAM_NAME \u003d \u0027provider:physical_network\u0027"},{"line_number":32,"context_line":"\"\"\"Name of the neutron network API physical network parameter.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"bf57530f_0b513ad9","line":29,"updated":"2017-09-20 21:30:14.000000000","message":"What is this change for?","commit_id":"e35f230e1a9374cebd6aa43761da2a49e7d5c204"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"7bc0c0bdec5d15ab660cb9485240ed2560cecf49","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"_NEUTRON_SESSION \u003d None"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"VNIC_BAREMETAL \u003d \u0027baremetal\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"PHYSNET_PARAM_NAME \u003d \u0027provider:physical_network\u0027"},{"line_number":32,"context_line":"\"\"\"Name of the neutron network API physical network parameter.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f5c4f37_24032b45","line":29,"in_reply_to":"bf57530f_0b513ad9","updated":"2017-09-21 07:31:01.000000000","message":"we using this vnic_type in several places in the code so better to use constant. The patch was completely reworked and now this change looks unrelated.","commit_id":"e35f230e1a9374cebd6aa43761da2a49e7d5c204"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"0f457592d449fccb5cf44f1f970ce664ac3ee17d","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"            client.update_port(port_id, port_req_body)"},{"line_number":149,"context_line":"    except (neutron_exceptions.NeutronClientException, exception.NetworkError):"},{"line_number":150,"context_line":"        LOG.exception(msg)"},{"line_number":151,"context_line":"        raise exception.FailedToUpdateMacOnPort(port_id\u003dport_id)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f5c4f37_51248dc6","line":150,"updated":"2017-09-21 16:39:23.000000000","message":"I thought that when logging, we don\u0027t want to i18n the strings, we only do it if it is user-facing (like when raising an exception).","commit_id":"e35f230e1a9374cebd6aa43761da2a49e7d5c204"}],"ironic/drivers/modules/network/common.py":[{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"b0b841d1fbb9173bcd2f25d7f6ca5e0d1f70190a","unresolved":false,"context_lines":[{"line_number":534,"context_line":"                    \u0027node\u0027: task.node.uuid,"},{"line_number":535,"context_line":"                    \u0027exc\u0027: e})"},{"line_number":536,"context_line":"            LOG.error(msg)"},{"line_number":537,"context_line":"            raise exception.NetworkError(msg)"},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"        # Determine whether any of the node\u0027s ports have a physical network. If"},{"line_number":540,"context_line":"        # not, we don\u0027t need to check the VIF\u0027s network\u0027s physical networks as"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f2577a7_1ec2f959","line":537,"updated":"2017-09-18 13:06:31.000000000","message":"Really not sure we need to do this until we intend to bind the port to the node properly.\n\nAs I said before the port is made unbound when we update the mac address, but due to a bug in contrail it seems it won\u0027t let us rebind and set the mac address in one request. So I think if we\u0027re just setting the vnic_type here to work around that bug we should not set this here, and fix our mac address update function so it makes three separate calls to neutron, 1. to unbind the port, 2. to set the mac address, 3. to rebind the port.","commit_id":"ec179941b12c9a40edb2424787f62f0722130a0f"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"df07c3e78dd8d8777bc71c37f8112366a9dddde8","unresolved":false,"context_lines":[{"line_number":534,"context_line":"                    \u0027node\u0027: task.node.uuid,"},{"line_number":535,"context_line":"                    \u0027exc\u0027: e})"},{"line_number":536,"context_line":"            LOG.error(msg)"},{"line_number":537,"context_line":"            raise exception.NetworkError(msg)"},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"        # Determine whether any of the node\u0027s ports have a physical network. If"},{"line_number":540,"context_line":"        # not, we don\u0027t need to check the VIF\u0027s network\u0027s physical networks as"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f2577a7_fe128d61","line":537,"in_reply_to":"5f2577a7_1ec2f959","updated":"2017-09-18 13:25:08.000000000","message":"Ideally we should set vnic_type when nova creates a port (it was already proposed, but abandoned since at that time there were no drivers that are able to bind baremetal port and nova failed) https://review.openstack.org/#/c/339143 I will get back to that in future as we have networking-baremetal that already do the work.\n\nI think it makes sense to set vnic_type in vif_attach no matter we will update mac_address/bind port or not for case when user provided pre-created port to reflect correct port type.","commit_id":"ec179941b12c9a40edb2424787f62f0722130a0f"}],"releasenotes/notes/fix-mac-address-update-with-contrail-b1e1b725cc0829c2.yaml":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"fd1bd345d252dea7496d2e18222a73ec3c7f9468","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed an issue when mac address update was called in the same"},{"line_number":4,"context_line":"    request with unbind port which is not handled by some neutron"},{"line_number":5,"context_line":"    backends like contrail correctly."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bf57530f_cf7fcea9","line":4,"range":{"start_line":4,"start_character":17,"end_line":4,"end_character":29},"updated":"2017-09-20 05:31:12.000000000","message":"Isn\u0027t it \u0027bind port\u0027? We do unbind of port separately  using unbind_neutron_port() and were clubbing binding and mac update.","commit_id":"dddfc0b7672a87cdd839f38e80f7d26f77ffe5d8"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"d7c56c7868258ddc31f607d16c1b2870e6363ff6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed an issue when mac address update was called in the same"},{"line_number":4,"context_line":"    request with unbind port which is not handled by some neutron"},{"line_number":5,"context_line":"    backends like contrail correctly."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"bf57530f_a5c5d95d","line":4,"range":{"start_line":4,"start_character":17,"end_line":4,"end_character":29},"in_reply_to":"bf57530f_cf7fcea9","updated":"2017-09-20 07:00:57.000000000","message":"Done","commit_id":"dddfc0b7672a87cdd839f38e80f7d26f77ffe5d8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"0f457592d449fccb5cf44f1f970ce664ac3ee17d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed an issue when mac address update was called in the same"},{"line_number":4,"context_line":"    request with bind port which is not handled by some neutron"},{"line_number":5,"context_line":"    backends like contrail correctly."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9f5c4f37_510dad3c","line":3,"updated":"2017-09-21 16:39:23.000000000","message":"i have some nits, guess i\u0027ll push up a patch.","commit_id":"e35f230e1a9374cebd6aa43761da2a49e7d5c204"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"a43adfeb7596b8f1dafc0c44350cc13382a851ef","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fixed an issue when mac address update was called in the same"},{"line_number":4,"context_line":"    request with bind port which is not handled by some neutron"},{"line_number":5,"context_line":"    backends like contrail correctly."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9f5c4f37_47696fbc","line":3,"in_reply_to":"9f5c4f37_510dad3c","updated":"2017-09-21 17:14:21.000000000","message":"see https://review.openstack.org/#/c/506314/","commit_id":"e35f230e1a9374cebd6aa43761da2a49e7d5c204"}]}
