Public bug reported:

Seen in gate, e.g. here:
https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_898/927216/10/check/neutron-
tempest-plugin-ovn-ubuntu-jammy/8987272/controller/logs/screen-neutron-
api.txt

Jan 13 22:30:18.598226 np0039557494 [email protected][62569]: DEBUG 
ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=0): 
LrAddCommand(_result=None, router=neutron-7ca72766-b0d4-4f0c-85d2-43ed82ff9a95, 
may_exist=True, columns={'external_ids': {'neutron:router_name': 
'tempest-router-741508050', 'neutron:revision_number': '2', 
'neutron:availability_zone_hints': ''}, 'enabled': True, 'options': 
{'always_learn_from_arp_request': 'false', 'dynamic_neigh_routers': 'true', 
'mac_binding_age_threshold': '0'}}) {{(pid=62569) do_commit 
/opt/stack/data/venv/lib/python3.10/site-packages/ovsdbapp/backend/ovs_idl/transaction.py:89}}
Jan 13 22:30:18.598738 np0039557494 [email protected][62569]: DEBUG 
ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=1): 
HAChassisGroupAddCommand(_result=None, 
name=neutron-7ca72766-b0d4-4f0c-85d2-43ed82ff9a95, may_exist=True, 
columns={'external_ids': {'neutron:availability_zone_hints': '', 
'neutron:router_id': '7ca72766-b0d4-4f0c-85d2-43ed82ff9a95'}}) {{(pid=62569) 
do_commit 
/opt/stack/data/venv/lib/python3.10/site-packages/ovsdbapp/backend/ovs_idl/transaction.py:89}}
Jan 13 22:30:18.599177 np0039557494 [email protected][62569]: DEBUG 
ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=2): 
HAChassisGroupAddChassisCommand(_result=None, 
hcg=neutron-7ca72766-b0d4-4f0c-85d2-43ed82ff9a95, 
chassis=050acdcf-4b5e-4787-a67c-d2c3483e07fc, priority=32767, columns={}) 
{{(pid=62569) do_commit 
/opt/stack/data/venv/lib/python3.10/site-packages/ovsdbapp/backend/ovs_idl/transaction.py:89}}
Jan 13 22:30:18.599670 np0039557494 [email protected][62569]: DEBUG 
ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=3): 
AddLRouterPortCommand(_result=None, 
name=lrp-efef6787-bea7-4776-9c59-27f756b0869f, 
lrouter=neutron-7ca72766-b0d4-4f0c-85d2-43ed82ff9a95, may_exist=True, 
columns={'mac': 'fa:16:3e:0f:e4:8f', 'networks': [], 'external_ids': 
{'neutron:revision_number': '1', 'neutron:subnet_ids': '', 
'neutron:network_name': 'neutron-2fb3f6b3-b9d4-4df3-bb7b-041d47839873', 
'neutron:is_ext_gw': 'True', 'neutron:router_name': 
'7ca72766-b0d4-4f0c-85d2-43ed82ff9a95'}, 'options': {'gateway_mtu': '1372'}}) 
{{(pid=62569) do_commit 
/opt/stack/data/venv/lib/python3.10/site-packages/ovsdbapp/backend/ovs_idl/transaction.py:89}}
Jan 13 22:30:18.600192 np0039557494 [email protected][62569]: ERROR 
ovsdbapp.backend.ovs_idl.vlog [-] attempting to write bad value to column 
networks (ovsdb error: 0 values when type requires between 1 and 
9223372036854775807): ovs.db.error.Error: ovsdb error: 0 values when type 
requires between 1 and 9223372036854775807


This happens when a router is created, and its ext-gw-info is set to a network 
that has no subnets. Since no subnets are assigned, no fixed-ips are allocated, 
and hence OVN db call is executed with networks=[], which is not allowed by OVN 
db schema.

I think there is no reason to create a port when there's no l3 subnet to
route against. We should probably delay this ovsdb call to until a
subnet is attached. (This may require some modification in update-port
handler that may assume the port is already present in the database.
Will need to check.)

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: ovn

** Summary changed:

- ovs.db.error.Error: ovsdb error: 0 values when type requires between 1 and 
9223372036854775807" when router is attached to network without subnet
+ "ovs.db.error.Error: ovsdb error: 0 values when type requires between 1 and 
9223372036854775807" when router is attached to network without subnet

** Tags added: ovn

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2094842

Title:
  "ovs.db.error.Error: ovsdb error: 0 values when type requires between
  1 and 9223372036854775807" when router is attached to network without
  subnet

Status in neutron:
  New

Bug description:
  Seen in gate, e.g. here:
  
https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_898/927216/10/check/neutron-
  tempest-plugin-ovn-ubuntu-jammy/8987272/controller/logs/screen-
  neutron-api.txt

  Jan 13 22:30:18.598226 np0039557494 [email protected][62569]: 
DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=0): 
LrAddCommand(_result=None, router=neutron-7ca72766-b0d4-4f0c-85d2-43ed82ff9a95, 
may_exist=True, columns={'external_ids': {'neutron:router_name': 
'tempest-router-741508050', 'neutron:revision_number': '2', 
'neutron:availability_zone_hints': ''}, 'enabled': True, 'options': 
{'always_learn_from_arp_request': 'false', 'dynamic_neigh_routers': 'true', 
'mac_binding_age_threshold': '0'}}) {{(pid=62569) do_commit 
/opt/stack/data/venv/lib/python3.10/site-packages/ovsdbapp/backend/ovs_idl/transaction.py:89}}
  Jan 13 22:30:18.598738 np0039557494 [email protected][62569]: 
DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=1): 
HAChassisGroupAddCommand(_result=None, 
name=neutron-7ca72766-b0d4-4f0c-85d2-43ed82ff9a95, may_exist=True, 
columns={'external_ids': {'neutron:availability_zone_hints': '', 
'neutron:router_id': '7ca72766-b0d4-4f0c-85d2-43ed82ff9a95'}}) {{(pid=62569) 
do_commit 
/opt/stack/data/venv/lib/python3.10/site-packages/ovsdbapp/backend/ovs_idl/transaction.py:89}}
  Jan 13 22:30:18.599177 np0039557494 [email protected][62569]: 
DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=2): 
HAChassisGroupAddChassisCommand(_result=None, 
hcg=neutron-7ca72766-b0d4-4f0c-85d2-43ed82ff9a95, 
chassis=050acdcf-4b5e-4787-a67c-d2c3483e07fc, priority=32767, columns={}) 
{{(pid=62569) do_commit 
/opt/stack/data/venv/lib/python3.10/site-packages/ovsdbapp/backend/ovs_idl/transaction.py:89}}
  Jan 13 22:30:18.599670 np0039557494 [email protected][62569]: 
DEBUG ovsdbapp.backend.ovs_idl.transaction [-] Running txn n=1 command(idx=3): 
AddLRouterPortCommand(_result=None, 
name=lrp-efef6787-bea7-4776-9c59-27f756b0869f, 
lrouter=neutron-7ca72766-b0d4-4f0c-85d2-43ed82ff9a95, may_exist=True, 
columns={'mac': 'fa:16:3e:0f:e4:8f', 'networks': [], 'external_ids': 
{'neutron:revision_number': '1', 'neutron:subnet_ids': '', 
'neutron:network_name': 'neutron-2fb3f6b3-b9d4-4df3-bb7b-041d47839873', 
'neutron:is_ext_gw': 'True', 'neutron:router_name': 
'7ca72766-b0d4-4f0c-85d2-43ed82ff9a95'}, 'options': {'gateway_mtu': '1372'}}) 
{{(pid=62569) do_commit 
/opt/stack/data/venv/lib/python3.10/site-packages/ovsdbapp/backend/ovs_idl/transaction.py:89}}
  Jan 13 22:30:18.600192 np0039557494 [email protected][62569]: 
ERROR ovsdbapp.backend.ovs_idl.vlog [-] attempting to write bad value to column 
networks (ovsdb error: 0 values when type requires between 1 and 
9223372036854775807): ovs.db.error.Error: ovsdb error: 0 values when type 
requires between 1 and 9223372036854775807

  
  This happens when a router is created, and its ext-gw-info is set to a 
network that has no subnets. Since no subnets are assigned, no fixed-ips are 
allocated, and hence OVN db call is executed with networks=[], which is not 
allowed by OVN db schema.

  I think there is no reason to create a port when there's no l3 subnet
  to route against. We should probably delay this ovsdb call to until a
  subnet is attached. (This may require some modification in update-port
  handler that may assume the port is already present in the database.
  Will need to check.)

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


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to