← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1612812] Re: OS-VIF: Interface missing from Route Object. (OVS)

 

Reviewed:  https://review.openstack.org/355098
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=1d57c1fd53e930b02c3ce0e9914f95ef68dd1f87
Submitter: Jenkins
Branch:    master

commit 1d57c1fd53e930b02c3ce0e9914f95ef68dd1f87
Author: Matt Riedemann <mriedem@xxxxxxxxxx>
Date:   Fri Aug 12 17:42:47 2016 -0400

    os-vif: do not set Route.interface if None
    
    The Route.interface field in os-vif is currently
    non-nullable, which means it must be something other
    than None if set.
    
    There is no code in nova that sets the interface field
    on the nova.network.model.Route object, so it defaults
    to None and is always set to None on the os-vif Route
    object, which fails with:
    
    "ValueError: Fieldinterface' cannot be None"
    
    We don't hit this in the gate because we don't test with
    subnets that have host_routes set.
    
    Change-Id: Ideadf1fc009b3ee496acb4696226a3cc9722fb29
    Closes-Bug: #1612812


** Changed in: nova
       Status: In Progress => Fix Released

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

Title:
  OS-VIF: Interface missing from Route Object. (OVS)

Status in OpenStack Compute (nova):
  Fix Released
Status in os-vif:
  In Progress

Bug description:
  
  When trying to boot and delete instances (Rally) saw this stack trace:

  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 2075, in build_resources
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] yield resources
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/compute/manager.py", line 1919, in build_and_run_instance
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] block_device_info=block_device_info)
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 2658, in spawn
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] write_to_disk=True)
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4693, in _get_guest_xml
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] context)
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4525, in _get_guest_config
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] flavor, virt_type, self._host)
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/virt/libvirt/vif.py", line 507, in get_config
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] vif_obj = os_vif_util.nova_to_osvif_vif(vif)
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/network/os_vif_util.py", line 371, in nova_to_osvif_vif
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] vifobj = func(vif)
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/network/os_vif_util.py", line 276, in _nova_to_osvif_vif_ovs
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] vif_name=_get_vif_name(vif))
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/network/os_vif_util.py", line 239, in _get_vif_instance
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] network=_nova_to_osvif_network(vif['network']),
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/network/os_vif_util.py", line 205, in _nova_to_osvif_network
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] subnets=_nova_to_osvif_subnets(network['subnets']))
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/network/os_vif_util.py", line 191, in _nova_to_osvif_subnets
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] objects=[_nova_to_osvif_subnet(subnet) for subnet in subnets])
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/network/os_vif_util.py", line 173, in _nova_to_osvif_subnet
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] routes=_nova_to_osvif_routes(subnet['routes']))
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/network/os_vif_util.py", line 157, in _nova_to_osvif_routes
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] objects=[_nova_to_osvif_route(route) for route in routes])
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/nova/network/os_vif_util.py", line 139, in _nova_to_osvif_route
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] interface=route['interface'])
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 307, in __init
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] setattr(self, key, kwargs[key])
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 72, in setter
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] field_value = field.coerce(self, name, value)
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/oslo_versionedobjects/fields.py", line 193, in coerce
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] return self.null(obj, attr)
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] File "/opt/bbc/openstack-11.0-master/nova/local/lib/python2.7/site-packages/oslo_versionedobjects/fields.py", line 171, in _null
  2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] raise ValueError(("Field %s' cannot be None") % attr) 2016-08-12 15:21:58.859 38365 ERROR nova.compute.manager [instance: 47fbd50b-94ec-4395-884c-9131e0e3f335] ValueError: Fieldinterface' cannot be None

  I cannot see where the 'interface' is set on the Nova 'Route' object.
  The object only seems to be created in one place.
  nova/network/neutronv2/api.py:2160

  Version: Master
  Networking: OVN ML2 driver. OVS VIF.

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


References