[Neutron][OVN] nova-compute timeout while waiting for VIF activation confirmed by Neutron

Balazs Gibizer balazs.gibizer at est.tech
Tue Nov 30 13:28:26 UTC 2021



On Tue, Nov 30 2021 at 11:16:00 AM +0100, Balazs Gibizer 
<balazs.gibizer at est.tech> wrote:
> 
> 
> On Thu, Nov 25 2021 at 11:57:45 AM +0100, Slawek Kaplonski 
> <skaplons at redhat.com> wrote:
>> Hi,
>> 
>> On czwartek, 25 listopada 2021 10:41:14 CET Rodolfo Alonso Hernandez 
>> wrote:
>>>  Hello Michal:
>>> 
>>>  I think this thread is related to OVN. In any case, I've analyzed 
>>> your logs
>>>  from the Neutron point of view. Those are basically the key points 
>>> in your
>>>  logs: [1]. The Neutron server receives the request to create and 
>>> bind a new
>>>  port. Both the DHCP agent and the OVS agent provision the port
>>>  (8a472e87-4a7a-4ad4-9fbb-fd9785136611).
>>> 
>>>  Neutron server sends the "network-vif-plugged" event at 
>>> 08:51:05.635 and
>>>  receives the ACK from Nova at 08:51:05.704. Nova server creates the
>>>  corresponding event for the instance on the compute0:
>>>  2021-11-25 08:51:05.692 23 INFO
>>>  nova.api.openstack.compute.server_external_events
>>>  [req-393fcb9a-5c68-4b0a-af1b-661e73d947cb 
>>> 01a75e3a9a9148218916d3beafae2120
>>>  7d16babef0524b7dade9a59b0a3569e1 - default default] Creating event
>>>  network-vif-plugged:8a472e87-4a7a-4ad4-9fbb-fd9785136611 for 
>>> instance
>>>  09eff2ce-356f-430f-ab30-5de58f58d698 on compute0
>>> 
>>>  Nova compute agent receives this server event:
>>>  2021-11-25 08:51:05.705 8 DEBUG nova.compute.manager
>>>  [req-393fcb9a-5c68-4b0a-af1b-661e73d947cb 
>>> 01a75e3a9a9148218916d3beafae2120
>>>  7d16babef0524b7dade9a59b0a3569e1 - default default] [instance:
>>>  09eff2ce-356f-430f-ab30-5de58f58d698] Processing event
>>>  network-vif-plugged-8a472e87-4a7a-4ad4-9fbb-fd9785136611
>>>  _process_instance_event
>>>  
>>> /var/lib/kolla/venv/lib/python3.9/site-packages/nova/compute/manager.py:
>> 10205
>>> 
>>>  Further triagging and log analysis should be done by Nova folks to
>>>  understand why Nova compute didn't boot this VM. I fail to 
>>> understand some
>>>  parts.
>> 
>> Thx Rodolfo. I also took a look at those logs (for server 
>> 09eff2ce-356f-430f-
>> ab30-5de58f58d698 which had port 
>> 0761ff2f-ff6a-40a5-85b7-c9b40386cbe0 but I
>> can confirm what You found actually. Port was pretty quickly 
>> provisioned and
>> it was reported to Nova. I don't know why Nova didn't unpause that 
>> vm.
> 
> I took a look at the logs (thanks for providing it!). Nova did not 
> unpause the VM a there was more than one port to be plugged an from 
> one, bf0f9dd2-4fd3-4028-a3dc-e2581ff081d0, there was no vif-plugged 
> event received.
> 
> See my grepping of the log to show this 
> https://paste.opendev.org/show/811348/


as a side note I pushed a small patch to nova to log the which event 
was timed out https://review.opendev.org/c/openstack/nova/+/819817

> 
> Cheers,
> gibi
> 
>> 
>> Port creation in Nova:
>> 2021-11-25 08:50:24.250 8 INFO os_vif [req-6eab0f2a-
>> d7f4-4251-96f4-177fc0c62212 647a328aef9b4a8b890f102d8f018576
>> 49231caa42f34da8a9d10229b5c7a5d8 - default default] Successfully 
>> plugged vif
>> VIFOpenVSwitch(active=False,address=fa:16:3e:3d:cd:b9,bridge_name='br-
>> int',has_traffic_filtering=True,id=0761ff2f-ff6a-40a5-85b7-
>> c9b40386cbe0,network=Network(cb4e6be4-9bc7-4c34-95dd-
>> dfc3c8e9d93c),plugin='ovs',port_profile=VIFPortProfileOpenVSwitch,preserve_on_delete=True,vif_name='tap0761ff2f-
>> ff')
>> 
>> Neutron finished provisioning of that port and sent notification to 
>> nova about
>> 34 seconds later:
>> 2021-11-25 08:51:00.403 30 DEBUG neutron.plugins.ml2.rpc [req-
>> df864eb8-0c2e-48ca-a3e7-d90dc70e2aa0 - - - - -] Device 0761ff2f-
>> ff6a-40a5-85b7-c9b40386cbe0 up at agent ovs-agent-compute0 
>> update_device_up /
>> var/lib/kolla/venv/lib/python3.9/site-packages/neutron/plugins/ml2/rpc.py:278
>> 2021-11-25 08:51:00.503 29 DEBUG neutron.db.provisioning_blocks [req-
>> a5711e9f-9b15-4a1a-a58d-07952fb8ac34 - - - - -] Provisioning 
>> complete for port
>> 67b32ddf-dddd-439e-92be-6a89df49b4af triggered by entity L2.
>> provisioning_complete 
>> /var/lib/kolla/venv/lib/python3.9/site-packages/neutron/
>> db/provisioning_blocks.py:139
>> 2021-11-25 08:51:00.504 29 DEBUG neutron_lib.callbacks.manager [req-
>> a5711e9f-9b15-4a1a-a58d-07952fb8ac34 - - - - -] Notify callbacks
>> ['neutron.plugins.ml2.plugin.Ml2Plugin._port_provisioned-8372308'] 
>> for port,
>> provisioning_complete _notify_loop 
>> /var/lib/kolla/venv/lib/python3.9/site-
>> packages/neutron_lib/callbacks/manager.py:192
>> 2021-11-25 08:51:00.505 30 DEBUG neutron.db.provisioning_blocks [req-
>> df864eb8-0c2e-48ca-a3e7-d90dc70e2aa0 - - - - -] Provisioning for port
>> 0761ff2f-ff6a-40a5-85b7-c9b40386cbe0 completed by entity L2.
>> provisioning_complete 
>> /var/lib/kolla/venv/lib/python3.9/site-packages/neutron/
>> db/provisioning_blocks.py:133
>> 2021-11-25 08:51:00.515 30 DEBUG neutron.db.provisioning_blocks [req-
>> df864eb8-0c2e-48ca-a3e7-d90dc70e2aa0 - - - - -] Provisioning 
>> complete for port
>> 0761ff2f-ff6a-40a5-85b7-c9b40386cbe0 triggered by entity L2.
>> provisioning_complete 
>> /var/lib/kolla/venv/lib/python3.9/site-packages/neutron/
>> db/provisioning_blocks.py:139
>> 2021-11-25 08:51:00.516 30 DEBUG neutron_lib.callbacks.manager [req-
>> df864eb8-0c2e-48ca-a3e7-d90dc70e2aa0 - - - - -] Notify callbacks
>> ['neutron.plugins.ml2.plugin.Ml2Plugin._port_provisioned-8372308'] 
>> for port,
>> provisioning_complete _notify_loop 
>> /var/lib/kolla/venv/lib/python3.9/site-
>> packages/neutron_lib/callbacks/manager.py:192
>> 2021-11-25 08:51:00.701 30 DEBUG neutron_lib.callbacks.manager [req-
>> df864eb8-0c2e-48ca-a3e7-d90dc70e2aa0 - - - - -] Notify callbacks
>> ['neutron.plugins.ml2.plugin.SecurityGroupDbMixin._ensure_default_security_group_handler-7972195']
>> for port, before_update _notify_loop 
>> /var/lib/kolla/venv/lib/python3.9/site-
>> packages/neutron_lib/callbacks/manager.py:192
>> 2021-11-25 08:51:00.746 30 DEBUG neutron.notifiers.nova [-] Sending 
>> events:
>> [{'server_uuid': '09eff2ce-356f-430f-ab30-5de58f58d698', 'name': 
>> 'network-vif-
>> plugged', 'status': 'completed', 'tag': '0761ff2f-ff6a-40a5-85b7-
>> c9b40386cbe0'}] send_events 
>> /var/lib/kolla/venv/lib/python3.9/site-packages/
>> neutron/notifiers/nova.py:262
>> 2021-11-25 08:51:00.762 30 DEBUG neutron.plugins.ml2.db [req-
>> df864eb8-0c2e-48ca-a3e7-d90dc70e2aa0 - - - - -] For port 0761ff2f-
>> ff6a-40a5-85b7-c9b40386cbe0, host compute0, got binding levels
>> [PortBindingLevel(driver='openvswitch',host='compute0',level=0,port_id=0761ff2f-
>> ff6a-40a5-85b7-c9b40386cbe0,segment=NetworkSegment(ea3a27b6-
>> c3fa-40e3-9937-71b652cba855),segment_id=ea3a27b6-c3fa-40e3-9937-71b652cba855)]
>> get_binding_level_objs 
>> /var/lib/kolla/venv/lib/python3.9/site-packages/
>> neutron/plugins/ml2/db.py:75
>> 2021-11-25 08:51:00.818 30 INFO neutron.notifiers.nova [-] Nova event
>> response: {'server_uuid': '09eff2ce-356f-430f-ab30-5de58f58d698', 
>> 'name':
>> 'network-vif-plugged', 'status': 'completed', 'tag': 
>> '0761ff2f-ff6a-40a5-85b7-
>> c9b40386cbe0', 'code': 200}
>> 
>>> 
>>>  Regards.
>>> 
>>>  [1]https://paste.opendev.org/show/811273/
>>> 
>>>  On Thu, Nov 25, 2021 at 10:15 AM Michal Arbet 
>>> <michal.arbet at ultimum.io>
>>> 
>>>  wrote:
>>>  > Hello,
>>>  >
>>>  > In attachment you can find logs for compute0 and controller0 
>>> (other
>>>  > computes and controllers were turned off for this test).
>>>  > No OVN used, this stack is based on OVS.
>>>  >
>>>  > Thank you,
>>>  > Michal Arbet
>>>  > Openstack Engineer
>>>  >
>>>  > Ultimum Technologies a.s.
>>>  > Na Poříčí 1047/26, 11000 Praha 1
>>>  > Czech Republic
>>>  >
>>>  > +420 604 228 897
>>>  > michal.arbet at ultimum.io
>>>  > *https://ultimum.io <https://ultimum.io/>*
>>>  >
>>>  > LinkedIn <https://www.linkedin.com/company/ultimum-technologies> 
>>> | Twitter
>>>  > <https://twitter.com/ultimumtech> | Facebook
>>>  > <https://www.facebook.com/ultimumtechnologies/timeline>
>>>  >
>>>  >
>>>  > st 24. 11. 2021 v 15:59 odesílatel Rodolfo Alonso Hernandez <
>>>  >
>>>  > ralonsoh at redhat.com> napsal:
>>>  >> Hello Tony:
>>>  >>
>>>  >> Do you have the Neutron server logs? Do you see the
>>>  >> "PortBindingChassisUpdateEvent"? When a port is bound, a 
>>> Port_Bound (SB)
>>>  >> event is issued and captured in the Neutron server. That will 
>>> trigger the
>>>  >> port binding process and the "vif-plugged" event. This OVN SB 
>>> event
>> should
>>>  >> call "set_port_status_up" and that should write "OVN reports 
>>> status up
>> for
>>>  >> port: %s" in the logs.
>>>  >>
>>>  >> Of course, this Neutron method will be called only if the 
>>> logical switch
>>>  >> port is UP.
>>>  >>
>>>  >> Regards.
>>>  >>
>>>  >>
>>>  >> On Tue, Nov 23, 2021 at 11:59 PM Tony Liu 
>>> <tonyliu0592 at hotmail.com>
>>>  >>
>>>  >> wrote:
>>>  >>> Hi,
>>>  >>>
>>>  >>> I see such problem from time to time. It's not consistently
>>>  >>> reproduceable.
>>>  >>> ======================
>>>  >>> 2021-11-23 22:16:28.532 7 INFO nova.compute.manager
>>>  >>> [req-50817b01-e7ae-4991-94fe-e4c5672c481b - - - - -] [instance:
>>>  >>> 7021bf37-348d-4dfa-b0c5-6a251fceb6cd] During sync_power_state 
>>> the
>> instance
>>>  >>> has a pending task (spawning). Skip.
>>>  >>> 2021-11-23 22:21:28.342 7 WARNING nova.virt.libvirt.driver
>>>  >>> [req-814c98a4-3fd9-4607-9abb-5fbe5cef8650
>> 3a4c320d64664d9cb6784b7ea52d618a
>>>  >>> 21384fe21ebb4339b1a5f2a8f9000ea3 - default default] [instance:
>>>  >>> 7021bf37-348d-4dfa-b0c5-6a251fceb6cd] Timeout waiting for
>>>  >>> [('network-vif-plugged', 
>>> '735d97a3-db7c-42ed-b3be-1596d4cc7f4b')] for
>>>  >>> instance with vm_state building and task_state spawning.:
>>>  >>> eventlet.timeout.Timeout: 300 seconds
>>>  >>> ======================
>>>  >>> The VIF/port is activated by OVN ovn-controller to ovn-sb. It 
>>> seems
>>>  >>> that, either Neutron didn't
>>>  >>> capture the update or didn't send message back to 
>>> nova-compute. Is there
>>>  >>> any known fix for
>>>  >>> this problem?
>>>  >>>
>>>  >>>
>>>  >>> Thanks!
>>>  >>> Tony
>> 
>> 
>> --
>> Slawek Kaplonski
>> Principal Software Engineer
>> Red Hat
> 
> 
> 





More information about the openstack-discuss mailing list