Public bug reported: when booting an ironic instance with multi networks, we create the network resources with the macs get from ironic node ports, and then set the neutron port id back to ironic port's extra/vif_port_id, but the current logic will lead the vif-pif ids pair mismatch.
code: for vif, pif in zip(network_info, ports): port_id = six.text_type(vif['id']) patch = [{'op': 'add', 'path': '/extra/vif_port_id', 'value': port_id}] self.ironicclient.call("port.update", pif.uuid, patch) we should check whether the mac addresses match between vif and pif before setting the 'vif_port_id'. ** Affects: ironic Importance: Undecided Status: New ** Affects: nova Importance: Undecided Assignee: Zhenguo Niu (niu-zglinux) Status: New ** Changed in: nova Assignee: (unassigned) => Zhenguo Niu (niu-zglinux) ** Description changed: when booting an ironic instance with multi networks, we create the network resources with the macs get from ironic node ports, and then set the neutron port id back to ironic port's extra/vif_port_id, but the current logic will lead the vif-pif ids pair mismatch. code: for vif, pif in zip(network_info, ports): - port_id = six.text_type(vif['id']) - patch = [{'op': 'add', - 'path': '/extra/vif_port_id', - 'value': port_id}] - self.ironicclient.call("port.update", pif.uuid, patch) + port_id = six.text_type(vif['id']) + patch = [{'op': 'add', + 'path': '/extra/vif_port_id', + 'value': port_id}] + self.ironicclient.call("port.update", pif.uuid, patch) we should check whether the mac addresses match between vif and pif before setting the 'vif_port_id'. ** Also affects: ironic Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1549068 Title: Ironic vif_port_id mismatch with neutron port id if specified multi networks Status in Ironic: New Status in OpenStack Compute (nova): New Bug description: when booting an ironic instance with multi networks, we create the network resources with the macs get from ironic node ports, and then set the neutron port id back to ironic port's extra/vif_port_id, but the current logic will lead the vif-pif ids pair mismatch. code: for vif, pif in zip(network_info, ports): port_id = six.text_type(vif['id']) patch = [{'op': 'add', 'path': '/extra/vif_port_id', 'value': port_id}] self.ironicclient.call("port.update", pif.uuid, patch) we should check whether the mac addresses match between vif and pif before setting the 'vif_port_id'. To manage notifications about this bug go to: https://bugs.launchpad.net/ironic/+bug/1549068/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp