← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2126913] [NEW] Neutron not able to create external ports for virtual routers

 

Public bug reported:

After upgrade from Antelope to Caracal, we have encountered situation
where creating external interfaces on virtual routers times out (with
default gateway 504 timeout message). Environment uses Openstack-helm
for deployment and configuration. In this environment OVN is used to
manage network and all hypervisors are used as default gateways. This
behaviour is exhibited when creating new routers with external network
attached, or when setting default gateway on exiting routers; routers
that are already existing and working have no issues until there is same
operation performed on them.

Component versions:
- neutron-server 24.2.1
- ovn-nbctl 24.03.2
  Open vSwitch Library 3.3.0
  DB Schema 7.3.0
- ovn-sbctl 24.03.2
  Open vSwitch Library 3.3.0
  DB Schema 20.33.0
- ovs-appctl --version                                                                                                                                                                                                            
  ovs-appctl (Open vSwitch) 3.3.0

Example of log output when setting gateway with public interface (external) on router:
```
neutron neutron-server-f97c45dd9-zrlz2 neutron-server 2025-10-03 08: 14: 22.870 23
ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.maintenance
ovsdbapp.exceptions.TimeoutException:
Commands
[CheckRevisionNumberCommand(
    _result=None, 
    name=neutron-d4a62806-aa42-4e32-83bd-0732a4421d93, 
    resource={'id': 'd4a62806-aa42-4e32-83bd-0732a4421d93', 
.
.
.
.
   
 AddStaticRouteCommand(
     _result=None, 
     lrouter=neutron-d4a62806-aa42-4e32-83bd-0732a4421d93, 
     maintain_bfd=False, 
     columns={'ip_prefix': '0.0.0.0/0', 
              'nexthop': ‘10.10.10.1’, 
              'external_ids': {'neutron:is_ext_gw': 'true', 
                               'neutron:subnet_id': 'f3f06819-77f8-400b-ab78-b1436135fcc8'}}),
 UpdateLRouterCommand(_result=None, 
                      name=neutron-d4a62806-aa42-4e32-83bd-0732a4421d93, 
                      columns={'external_ids': {'neutron:router_name': 'lrt', 
                                                'neutron:revision_number': '3', 
                                                'neutron:availability_zone_hints': 'nova'}, 
                               'enabled': True}, 
                      if_exists=True),
 QoSDelCommand(
     _result=None, 
     switch=neutron-4ee098c1-82aa-4a43-923f-8e3dcb07971b, 
     conditions=[('direction', '=', 'from-lport'), 
                 ('priority', '=', 2002), 
                 ('match', '=', 'inport == "10ccb139-a5ce-49aa-aacb-685ea73fa2e7"')], 
     if_exists=True),
 QoSDelCommand(
     _result=None, 
     switch=neutron-4ee098c1-82aa-4a43-923f-8e3dcb07971b, 
     conditions=[('direction', '=', 'to-lport'), 
                 ('priority', '=', 2002), 
                 ('match', '=', 'outport == "10ccb139-a5ce-49aa-aacb-685ea73fa2e7"')], 
     if_exists=True)]
exceeded timeout 180 seconds, cause: Result queue is empty
```

** Affects: neutron
     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/2126913

Title:
  Neutron not able to create external ports for virtual routers

Status in neutron:
  New

Bug description:
  After upgrade from Antelope to Caracal, we have encountered situation
  where creating external interfaces on virtual routers times out (with
  default gateway 504 timeout message). Environment uses Openstack-helm
  for deployment and configuration. In this environment OVN is used to
  manage network and all hypervisors are used as default gateways. This
  behaviour is exhibited when creating new routers with external network
  attached, or when setting default gateway on exiting routers; routers
  that are already existing and working have no issues until there is
  same operation performed on them.

  Component versions:
  - neutron-server 24.2.1
  - ovn-nbctl 24.03.2
    Open vSwitch Library 3.3.0
    DB Schema 7.3.0
  - ovn-sbctl 24.03.2
    Open vSwitch Library 3.3.0
    DB Schema 20.33.0
  - ovs-appctl --version                                                                                                                                                                                                            
    ovs-appctl (Open vSwitch) 3.3.0

  Example of log output when setting gateway with public interface (external) on router:
  ```
  neutron neutron-server-f97c45dd9-zrlz2 neutron-server 2025-10-03 08: 14: 22.870 23
  ERROR neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.maintenance
  ovsdbapp.exceptions.TimeoutException:
  Commands
  [CheckRevisionNumberCommand(
      _result=None, 
      name=neutron-d4a62806-aa42-4e32-83bd-0732a4421d93, 
      resource={'id': 'd4a62806-aa42-4e32-83bd-0732a4421d93', 
  .
.
.
.
   
   AddStaticRouteCommand(
       _result=None, 
       lrouter=neutron-d4a62806-aa42-4e32-83bd-0732a4421d93, 
       maintain_bfd=False, 
       columns={'ip_prefix': '0.0.0.0/0', 
                'nexthop': ‘10.10.10.1’, 
                'external_ids': {'neutron:is_ext_gw': 'true', 
                                 'neutron:subnet_id': 'f3f06819-77f8-400b-ab78-b1436135fcc8'}}),
   UpdateLRouterCommand(_result=None, 
                        name=neutron-d4a62806-aa42-4e32-83bd-0732a4421d93, 
                        columns={'external_ids': {'neutron:router_name': 'lrt', 
                                                  'neutron:revision_number': '3', 
                                                  'neutron:availability_zone_hints': 'nova'}, 
                                 'enabled': True}, 
                        if_exists=True),
   QoSDelCommand(
       _result=None, 
       switch=neutron-4ee098c1-82aa-4a43-923f-8e3dcb07971b, 
       conditions=[('direction', '=', 'from-lport'), 
                   ('priority', '=', 2002), 
                   ('match', '=', 'inport == "10ccb139-a5ce-49aa-aacb-685ea73fa2e7"')], 
       if_exists=True),
   QoSDelCommand(
       _result=None, 
       switch=neutron-4ee098c1-82aa-4a43-923f-8e3dcb07971b, 
       conditions=[('direction', '=', 'to-lport'), 
                   ('priority', '=', 2002), 
                   ('match', '=', 'outport == "10ccb139-a5ce-49aa-aacb-685ea73fa2e7"')], 
       if_exists=True)]
  exceeded timeout 180 seconds, cause: Result queue is empty
  ```

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2126913/+subscriptions