[Neutron][OVN] nova-compute timeout while waiting for VIF activation confirmed by Neutron
Balazs Gibizer
balazs.gibizer at est.tech
Tue Nov 30 10:16:00 UTC 2021
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/
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