← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1377447] [NEW] pci_request_id break the upgrade from icehouse to Juno

 

Public bug reported:

Commit a8a5d44c8aca218f00649232c2b8a46aee59b77e change the
request_network parameter. It add pci_request_id for each item.

Old code only accept three item: https://github.com/openstack/nova/blob/2014.1/nova/network/neutronv2/api.py#L237
....
for network_id, fixed_ip, port_id in requested_networks:
....

The new code change it to 4 items tuple.
https://github.com/openstack/nova/blob/master/nova/objects/network_request.py#L37


Then new controller boot instance to old compute node, will get error as below:
2014-10-04 21:08:17.455 ERROR nova.compute.manager [req-58b84295-ce36-479f-b50e-dfe4f86cc1d9 admin demo] [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4] Insta
nce failed to spawn
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4] Traceback (most recent call last):
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/compute/manager.py", line 2014
, in _build_resources
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     yield resources
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/compute/manager.py", line 1917
, in _build_and_run_instance
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     block_device_info=block_device_info)
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 
2246, in spawn
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     admin_pass=admin_password)
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 
2677, in _create_image
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     content=files, extra_md=extra_md, network_info=network_
info)
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/api/metadata/base.py", line 16
5, in __init__
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     ec2utils.get_ip_info_for_instance_from_nw_info(network_info)
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/api/ec2/ec2utils.py", line 147, in get_ip_info_for_instance_from_nw_info
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     fixed_ips = nw_info.fixed_ips()
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/network/model.py", line 407, in _sync_wrapper
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     self.wait()
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/network/model.py", line 439, in wait
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     self[:] = self._gt.wait()
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 168, in wait
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     return self._exit_event.wait()
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/usr/local/lib/python2.7/dist-packages/eventlet/event.py", line 124, in wait
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     current.throw(*self._exc)
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 207, in main
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     result = function(*args, **kwargs)
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/compute/manager.py", line 1510, in _allocate_network_async
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     dhcp_options=dhcp_options)
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/network/neutronv2/api.py", line 238, in allocate_for_instance
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     for network_id, fixed_ip, port_id in requested_networks:
2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4] ValueError: too many values to unpack

** Affects: nova
     Importance: Undecided
     Assignee: Alex Xu (xuhj)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => Alex Xu (xuhj)

-- 
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/1377447

Title:
  pci_request_id break the upgrade from icehouse to Juno

Status in OpenStack Compute (Nova):
  New

Bug description:
  Commit a8a5d44c8aca218f00649232c2b8a46aee59b77e change the
  request_network parameter. It add pci_request_id for each item.

  Old code only accept three item: https://github.com/openstack/nova/blob/2014.1/nova/network/neutronv2/api.py#L237
  ....
  for network_id, fixed_ip, port_id in requested_networks:
  ....

  The new code change it to 4 items tuple.
  https://github.com/openstack/nova/blob/master/nova/objects/network_request.py#L37

  
  Then new controller boot instance to old compute node, will get error as below:
  2014-10-04 21:08:17.455 ERROR nova.compute.manager [req-58b84295-ce36-479f-b50e-dfe4f86cc1d9 admin demo] [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4] Insta
  nce failed to spawn
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4] Traceback (most recent call last):
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/compute/manager.py", line 2014
  , in _build_resources
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     yield resources
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/compute/manager.py", line 1917
  , in _build_and_run_instance
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     block_device_info=block_device_info)
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 
  2246, in spawn
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     admin_pass=admin_password)
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 
  2677, in _create_image
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     content=files, extra_md=extra_md, network_info=network_
  info)
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/api/metadata/base.py", line 16
  5, in __init__
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     ec2utils.get_ip_info_for_instance_from_nw_info(network_info)
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/api/ec2/ec2utils.py", line 147, in get_ip_info_for_instance_from_nw_info
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     fixed_ips = nw_info.fixed_ips()
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/network/model.py", line 407, in _sync_wrapper
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     self.wait()
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/network/model.py", line 439, in wait
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     self[:] = self._gt.wait()
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 168, in wait
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     return self._exit_event.wait()
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/usr/local/lib/python2.7/dist-packages/eventlet/event.py", line 124, in wait
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     current.throw(*self._exc)
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 207, in main
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     result = function(*args, **kwargs)
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/compute/manager.py", line 1510, in _allocate_network_async
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     dhcp_options=dhcp_options)
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]   File "/opt/stack/nova/nova/network/neutronv2/api.py", line 238, in allocate_for_instance
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4]     for network_id, fixed_ip, port_id in requested_networks:
  2014-10-04 21:08:17.455 TRACE nova.compute.manager [instance: c643eff5-ffd0-4eea-98a0-bce55108b0a4] ValueError: too many values to unpack

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1377447/+subscriptions


Follow ups

References