[OVN] POST requests stucks when rabbitmq is not available

Bug #1992352 reported by yatin
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
yatin

Bug Description

As some of the operations relies on Messaging Callbacks[1][2], these requests get's stuck when messaging driver like rabbitmq is not available, For OVN without any other agent running, there is no consumer for these messages so these operations should skip messaging callbacks.

To reproduce:-
- Setup Devstack with OVN using https://github.com/openstack/neutron/blob/master/devstack/ovn-local.conf.sample
- Comment transport_url(or modify port 5672 -> 5673) in neutron.conf and restart neutron services with sudo systemctl restart devstack@q*
- Try operations like, openstack network delete, openstack router add/remove subnet <router> <subnet> etc.

# In neutron logs can see too many oslo.messaging Errors for Access Denied(transport_url commented) or Connection Refused(transport_url updated to non listening port). oslo_messaging connection requests are also not needed for such cases so that can also be fixed.

Actual Result:-
These operations get's stuck

Expected Result:-
- These operations should succeed as there are no consumers for those callbacks.

[1] https://github.com/openstack/neutron/blob/master/neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py#L44-L126
[2] https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/rpc.py#L478-L510

Tags: ovn
tags: added: ovn
Changed in neutron:
status: New → Confirmed
importance: Undecided → Medium
yatin (yatinkarel)
Changed in neutron:
assignee: nobody → yatin (yatinkarel)
Changed in neutron:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.opendev.org/c/openstack/neutron/+/823637
Committed: https://opendev.org/openstack/neutron/commit/3e1e2d63b3383d28c9a36b00000ab89caffa3829
Submitter: "Zuul (22348)"
Branch: master

commit 3e1e2d63b3383d28c9a36b00000ab89caffa3829
Author: yatinkarel <email address hidden>
Date: Thu Jan 6 04:49:03 2022 +0000

    Enable rpc notifications only when rpc_workers >= 1

    rpc_workers can be set < 1 with 'ovn' backend when no
    other agent is running apart from ovn agents to
    consume these rpc notifications.

    Add and apply disable_notifications decorator on
    methods which do rpc cast calls to agents, the
    decorator makes the caller method execute only
    when rpc_workers >=1. This patch not changing
    default behavior and utilizes the rpc_workers config option
    to enable rpc notification on resources updates only when
    rpc_workers >= 1.

    Also set rpc_workers=0 in ovn jobs to cover this scenario.

    Closes-Bug: #1889737
    Closes-Bug: #1992352
    Change-Id: I700fe2cd422bc1eb8b5144ec116e7f0a60238419

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 22.0.0.0rc1

This issue was fixed in the openstack/neutron 22.0.0.0rc1 release candidate.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.