← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1549068] [NEW] Ironic vif_port_id mismatch with neutron port id if specified multi networks

 

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


Follow ups