[Yahoo-eng-team] [Bug 1884504] Re: nova assume ports with vnic_type=direct-physical use the libvirt interface element when processing network-vif-deleted events
I confirm this issue exists in ussuri and older branches but not on master any more. ** Also affects: nova/ussuri Importance: Undecided Status: New ** Changed in: nova Status: New => Invalid ** Changed in: nova/ussuri Status: New => Confirmed -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1884504 Title: nova assume ports with vnic_type=direct-physical use the libvirt interface element when processing network-vif-deleted events Status in neutron: Opinion Status in OpenStack Compute (nova): Invalid Status in OpenStack Compute (nova) ussuri series: Confirmed Bug description: High level description It should not be able to remove a port that it is attached to a VM. It is allowed to removed a port with with vnic_type=direct-physical. Exception raised: LibvirtConfigGuestHostdevPCI accessing a non existing attribute: mac_addr 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server [req-55778a4d-bf76-43cf-8198-02111be843d3 a82e4764680d4805b04dbc843df5ad73 233cc3938ae44e6e9fb21eaaff091999 - default default] Exception during message handling: AttributeError: 'LibvirtConfigGuestHostdevPCI' object has no attribute 'mac_addr' 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server Traceback (most recent call last): 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 166, in _process_incoming 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 220, in dispatch 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 190, in _do_dispatch 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/exception_wrapper.py", line 76, in wrapped 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server function_name, call_dict, binary) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server self.force_reraise() 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/exception_wrapper.py", line 67, in wrapped 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server return f(self, context, *args, **kw) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 8104, in external_instance_event 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server event.tag) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 8014, in _process_instance_vif_deleted_event 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server self.driver.detach_interface(context, instance, vif) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1807, in detach_interface 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server interface = guest.get_interface_by_cfg(cfg) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 246, in get_interface_by_cfg 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server if (interface.mac_addr == cfg.mac_addr and 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server AttributeError: 'LibvirtConfigGuestHostdevPCI' object has no attribute 'mac_addr' 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server Step-by-step reproduction steps 1. Create a vm with a "physical direct" port and attach to a VM (venv) (overcloud) [stack@undercloud-0 ~]$ openstack port list | grep "50.0" | eeb2cc67-046c-4414-a8ea-2be93bdbc542 | tempest-port-smoke-1184295488 | f8:f2:1e:03:9b:e6 | ip_address='50.0.0.110', subnet_id='a9d92b9b-e6e4-40fe-a358-e21921fdbd2d' | ACTIVE | (venv) (overcloud) [stack@undercloud-0 ~]$ openstack port show eeb2cc67-046c-4414-a8ea-2be93bdbc542 +
[Yahoo-eng-team] [Bug 1884504] Re: nova assume ports with vnic_type=direct-physical use the libvirt interface element when processing network-vif-deleted events
** Also affects: nova Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1884504 Title: nova assume ports with vnic_type=direct-physical use the libvirt interface element when processing network-vif-deleted events Status in neutron: Opinion Status in OpenStack Compute (nova): New Bug description: High level description It should not be able to remove a port that it is attached to a VM. It is allowed to removed a port with with vnic_type=direct-physical. Exception raised: LibvirtConfigGuestHostdevPCI accessing a non existing attribute: mac_addr 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server [req-55778a4d-bf76-43cf-8198-02111be843d3 a82e4764680d4805b04dbc843df5ad73 233cc3938ae44e6e9fb21eaaff091999 - default default] Exception during message handling: AttributeError: 'LibvirtConfigGuestHostdevPCI' object has no attribute 'mac_addr' 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server Traceback (most recent call last): 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 166, in _process_incoming 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 220, in dispatch 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 190, in _do_dispatch 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/exception_wrapper.py", line 76, in wrapped 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server function_name, call_dict, binary) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server self.force_reraise() 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/exception_wrapper.py", line 67, in wrapped 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server return f(self, context, *args, **kw) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 8104, in external_instance_event 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server event.tag) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 8014, in _process_instance_vif_deleted_event 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server self.driver.detach_interface(context, instance, vif) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1807, in detach_interface 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server interface = guest.get_interface_by_cfg(cfg) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 246, in get_interface_by_cfg 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server if (interface.mac_addr == cfg.mac_addr and 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server AttributeError: 'LibvirtConfigGuestHostdevPCI' object has no attribute 'mac_addr' 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server Step-by-step reproduction steps 1. Create a vm with a "physical direct" port and attach to a VM (venv) (overcloud) [stack@undercloud-0 ~]$ openstack port list | grep "50.0" | eeb2cc67-046c-4414-a8ea-2be93bdbc542 | tempest-port-smoke-1184295488 | f8:f2:1e:03:9b:e6 | ip_address='50.0.0.110', subnet_id='a9d92b9b-e6e4-40fe-a358-e21921fdbd2d' | ACTIVE | (venv) (overcloud) [stack@undercloud-0 ~]$ openstack port show eeb2cc67-046c-4414-a8ea-2be93bdbc542 +---+--+ | Field | Value | +---+--
[Yahoo-eng-team] [Bug 1884504] Re: nova assume ports with vnic_type=direct-physical use the libvirt interface element when processing network-vif-deleted events
That is how Neutron is designed currently. Changing that would require a lot of changes e.g. on Nova side. IIRC we discussed that during Shanghai PTG (or in Denver) and we decided to not change that. So from Neutron point of view You can remove port even if it's attached to the instance. ** Tags added: api ** Changed in: neutron Status: New => Opinion -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1884504 Title: nova assume ports with vnic_type=direct-physical use the libvirt interface element when processing network-vif-deleted events Status in neutron: Opinion Bug description: High level description It should not be able to remove a port that it is attached to a VM. It is allowed to removed a port with with vnic_type=direct-physical. Exception raised: LibvirtConfigGuestHostdevPCI accessing a non existing attribute: mac_addr 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server [req-55778a4d-bf76-43cf-8198-02111be843d3 a82e4764680d4805b04dbc843df5ad73 233cc3938ae44e6e9fb21eaaff091999 - default default] Exception during message handling: AttributeError: 'LibvirtConfigGuestHostdevPCI' object has no attribute 'mac_addr' 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server Traceback (most recent call last): 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 166, in _process_incoming 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 220, in dispatch 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 190, in _do_dispatch 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/exception_wrapper.py", line 76, in wrapped 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server function_name, call_dict, binary) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__ 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server self.force_reraise() 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server six.reraise(self.type_, self.value, self.tb) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/exception_wrapper.py", line 67, in wrapped 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server return f(self, context, *args, **kw) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 8104, in external_instance_event 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server event.tag) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 8014, in _process_instance_vif_deleted_event 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server self.driver.detach_interface(context, instance, vif) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1807, in detach_interface 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server interface = guest.get_interface_by_cfg(cfg) 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 246, in get_interface_by_cfg 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server if (interface.mac_addr == cfg.mac_addr and 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server AttributeError: 'LibvirtConfigGuestHostdevPCI' object has no attribute 'mac_addr' 2020-02-18 17:41:20.190 8 ERROR oslo_messaging.rpc.server Step-by-step reproduction steps 1. Create a vm with a "physical direct" port and attach to a VM (venv) (overcloud) [stack@undercloud-0 ~]$ openstack port list | grep "50.0" | eeb2cc67-046c-4414-a8ea-2be93bdbc542 | tempest-port-smoke-1184295488 | f8:f2:1e:03:9b:e6 | ip_address='50.0.0.110', subnet_id='a9d92b9b-e6e4-40fe-a358-e21921fdbd2d' | ACTIVE | (venv) (overcloud) [stack@undercloud-0 ~]$ openstack port show eeb2cc67-046c-4414-a8ea-2be93bdbc542 +