[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

2020-09-16 Thread Balazs Gibizer
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

2020-06-26 Thread Slawek Kaplonski
** 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

2020-06-25 Thread Slawek Kaplonski
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
  
+