yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #95192
[Bug 2094842] [NEW] "ovs.db.error.Error: ovsdb error: 0 values when type requires between 1 and 9223372036854775807" when router is attached to network without subnet
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 devstack@neutron-api.service[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 devstack@neutron-api.service[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 devstack@neutron-api.service[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 devstack@neutron-api.service[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 devstack@neutron-api.service[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 devstack@neutron-api.service[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 devstack@neutron-api.service[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 devstack@neutron-api.service[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 devstack@neutron-api.service[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 devstack@neutron-api.service[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