Activity log for bug #2037585

Date Who What changed Old value New value Message
2023-09-27 18:49:45 Mohammed Naser bug added bug
2023-09-27 18:51:15 Mohammed Naser description When using Neutron, it will prevent you to delete a port if the subports are still attached: https://review.opendev.org/c/openstack/neutron/+/885154 Because of this, if you delete a VM with subports attached, you will end up with a VM in ERROR state: ``` 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] Traceback (most recent call last): 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 1768, in _delete_ports 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] neutron.delete_port(port) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 833, in delete_port 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] return self.delete(self.port_path % (port)) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 352, in delete 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] return self.retry_request("DELETE", action, body=body, 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 333, in retry_request 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] return self.do_request(method, action, body=body, 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 297, in do_request 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] self._handle_fault_response(status_code, replybody, resp) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 272, in _handle_fault_response 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] exception_handler_v20(status_code, error_body) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 90, in exception_handler_v20 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] raise client_exc(message=error_message, 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] neutronclient.common.exceptions.Conflict: Port c4381527-ff2e-48b0-b4da-3e08928f7c1b is currently a parent port for trunk e938d9b3-82e5-4bc7-8bb3-7e075d2f8d9e. 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] Neutron server returns request_ids: ['req-27e65a3d-79e7-40f8-9525-24bd43592167'] 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] 2023-09-27 18:31:01.057 328858 ERROR nova.compute.manager [None req-718be02e-89c0-44a3-9781-9079deab9990 959a3ebd6c2048ffa592d7c4bf59ae22 4b633c451ac74233be3721a3635275e5 - - default default] [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] Failed to deallocate network for instance. Error: Port c4381527-ff2e-48b0-b4da-3e08928f7c1b is currently a parent port for trunk e938d9b3-82e5-4bc7-8bb3-7e075d2f8d9e. 2023-09-27 18:31:01.095 328858 ERROR nova.compute.manager [None req-718be02e-89c0-44a3-9781-9079deab9990 959a3ebd6c2048ffa592d7c4bf59ae22 4b633c451ac74233be3721a3635275e5 - - default default] [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] Setting instance vm_state to ERROR: neutronclient.common.exceptions.Conflict: Port c4381527-ff2e-48b0-b4da-3e08928f7c1b is currently a parent port for trunk e938d9b3-82e5-4bc7-8bb3-7e075d2f8d9e. ``` We need to handle this in a more graceful way, or perhaps re-order the ports to try deleting the subports first and then any other ports. When using Neutron, it will prevent you to delete a port if the subports are still attached: https://review.opendev.org/c/openstack/neutron/+/885154 Because of this, if you delete a VM with subports attached, you will end up with a VM in ERROR state: ``` 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] Traceback (most recent call last): 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 1768, in _delete_ports 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] neutron.delete_port(port) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 833, in delete_port 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] return self.delete(self.port_path % (port)) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 352, in delete 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] return self.retry_request("DELETE", action, body=body, 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 333, in retry_request 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] return self.do_request(method, action, body=body, 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 297, in do_request 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] self._handle_fault_response(status_code, replybody, resp) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/nova/network/neutron.py", line 196, in wrapper 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] ret = obj(*args, **kwargs) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 272, in _handle_fault_response 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] exception_handler_v20(status_code, error_body) 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] File "/var/lib/openstack/lib/python3.10/site-packages/neutronclient/v2_0/client.py", line 90, in exception_handler_v20 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] raise client_exc(message=error_message, 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] neutronclient.common.exceptions.Conflict: Port c4381527-ff2e-48b0-b4da-3e08928f7c1b is currently a parent port for trunk e938d9b3-82e5-4bc7-8bb3-7e075d2f8d9e. 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] Neutron server returns request_ids: ['req-27e65a3d-79e7-40f8-9525-24bd43592167'] 2023-09-27 18:31:01.056 328858 ERROR nova.network.neutron [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] 2023-09-27 18:31:01.057 328858 ERROR nova.compute.manager [None req-718be02e-89c0-44a3-9781-9079deab9990 959a3ebd6c2048ffa592d7c4bf59ae22 4b633c451ac74233be3721a3635275e5 - - default default] [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] Failed to deallocate network for instance. Error: Port c4381527-ff2e-48b0-b4da-3e08928f7c1b is currently a parent port for trunk e938d9b3-82e5-4bc7-8bb3-7e075d2f8d9e. 2023-09-27 18:31:01.095 328858 ERROR nova.compute.manager [None req-718be02e-89c0-44a3-9781-9079deab9990 959a3ebd6c2048ffa592d7c4bf59ae22 4b633c451ac74233be3721a3635275e5 - - default default] [instance: 08ca5cf4-c86a-4446-a031-a3b84ff47884] Setting instance vm_state to ERROR: neutronclient.common.exceptions.Conflict: Port c4381527-ff2e-48b0-b4da-3e08928f7c1b is currently a parent port for trunk e938d9b3-82e5-4bc7-8bb3-7e075d2f8d9e. ``` We need to handle this in a more graceful way, or perhaps re-order the ports to try deleting the subports first and then any other ports. As a workaround for the user, they can detach the ports first and then they can delete it after.