Reviewed:  https://review.opendev.org/c/openstack/neutron/+/811996
Committed: 
https://opendev.org/openstack/neutron/commit/5e32dddc11c6ec73afc83d2bfc7c4beaa252de0c
Submitter: "Zuul (22348)"
Branch:    master

commit 5e32dddc11c6ec73afc83d2bfc7c4beaa252de0c
Author: Rodolfo Alonso Hernandez <ralon...@redhat.com>
Date:   Thu Sep 30 16:28:19 2021 +0000

    Fix "_sync_metadata_ports" with no DHCP subnets
    
    When a subnet does not have DHCP configured, the metadata port does
    not have an IP address on this CIDR. The method
    "OvnNbSynchronizer.sync_networks_ports_and_dhcp_opts", was always
    setting an IP address for the metadata ports, regardless of the subnet
    configuration (with or without DHCP).
    
    The method "_sync_metadata_ports", in charge of synchronizing the
    metadata ports, now filters the subnets by the parameter "enable_dhcp".
    
    In case of having a subnet with DHCP enabled, if the metadata port is
    missing the subnet IP addresses, the method adds them.
    
    In case of having a subnet without DHCP enabled, if the metadata port
    has an IP address on the subnet, the method removes it.
    
    Closes-Bug: #1939726
    Change-Id: I09cc14dff6933aae63cbd43a29f9221f405ecede


** Changed in: neutron
       Status: In Progress => Fix Released

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

Title:
  neutron-ovn-db-sync error during generate OVN DB

Status in neutron:
  Fix Released

Bug description:
  I have deployed Openstack Victoria from kolla-ansible tool and
  Openvswich OVN for networking. neutron-ovn-db-sync tool generate OVN
  DB error when any subnet (disable dhcp) has allocated all available IP
  address. Because neutron-ovn-db-sync tool trying recreate port
  "network:distributed".

  --------------------
  2021-07-23 14:19:47.295 1417 INFO 
neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb.extensions.qos 
[req-8fb77747-70c7-459c-bab8-97dbe07a8eba - - - - -] Starting 
OVNClientQosExtension
  2021-07-23 14:19:47.296 1417 INFO neutron.cmd.ovn.neutron_ovn_db_sync_util 
[req-8fb77747-70c7-459c-bab8-97dbe07a8eba - - - - -] Sync for Northbound db 
started with mode : repair
  2021-07-23 14:19:55.231 1417 CRITICAL neutron_ovn_db_sync_util 
[req-8fb77747-70c7-459c-bab8-97dbe07a8eba - - - - -] Unhandled error: 
neutron_lib.exceptions.IpAddressGenerationFailure: No more IP addresses 
available on network 15b718eb-4589-4b9f-8b95-aa5dc71da538.
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util Traceback (most 
recent call last):
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/db/ipam_pluggable_backend.py",
 line 138, in _ipam_allocate_ips
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     ip_address, 
subnet_id = ipam_allocator.allocate(ip_request)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/ipam/subnet_alloc.py", 
line 240, in allocate
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     raise 
ipam_exc.IpAddressGenerationFailureAllSubnets()
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util 
neutron.ipam.exceptions.IpAddressGenerationFailureAllSubnets: No more IP 
addresses available.
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util 
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util During handling 
of the above exception, another exception occurred:
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util 
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util Traceback (most 
recent call last):
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/bin/neutron-ovn-db-sync-util", line 8, in <module>
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
sys.exit(main())
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/cmd/ovn/neutron_ovn_db_sync_util.py",
 line 229, in main
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
synchronizer.do_sync()
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py",
 line 101, in do_sync
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
self.sync_networks_ports_and_dhcp_opts(ctx)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py",
 line 987, in sync_networks_ports_and_dhcp_opts
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
self._sync_metadata_ports(ctx, db_ports)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py",
 line 912, in _sync_metadata_ports
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
self._ovn_client.update_metadata_port(ctx, net['id'])
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py",
 line 2155, in update_metadata_port
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
update_metadata_port_fixed_ips(metadata_port,
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py",
 line 2122, in update_metadata_port_fixed_ips
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
self._plugin.update_port(n_context.get_admin_context(),
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/common/utils.py", line 
687, in inner
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     return 
f(self, context, *args, **kwargs)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron_lib/db/api.py", line 
233, in wrapped
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     return 
method(*args, **kwargs)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron_lib/db/api.py", line 
139, in wrapped
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     setattr(e, 
'_RETRY_EXCEEDED', True)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_utils/excutils.py", line 
220, in __exit__
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
self.force_reraise()
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_utils/excutils.py", line 
196, in force_reraise
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
six.reraise(self.type_, self.value, self.tb)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/usr/local/lib/python3.8/dist-packages/six.py", line 703, in reraise
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     raise value
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron_lib/db/api.py", line 
135, in wrapped
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     return 
f(*args, **kwargs)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_db/api.py", line 154, in 
wrapper
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     ectxt.value = 
e.inner_exc
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_utils/excutils.py", line 
220, in __exit__
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
self.force_reraise()
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_utils/excutils.py", line 
196, in force_reraise
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
six.reraise(self.type_, self.value, self.tb)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/usr/local/lib/python3.8/dist-packages/six.py", line 703, in reraise
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     raise value
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_db/api.py", line 142, in 
wrapper
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     return 
f(*args, **kwargs)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron_lib/db/api.py", line 
183, in wrapped
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
LOG.debug("Retry wrapper got retriable exception: %s", e)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_utils/excutils.py", line 
220, in __exit__
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
self.force_reraise()
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_utils/excutils.py", line 
196, in force_reraise
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
six.reraise(self.type_, self.value, self.tb)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/usr/local/lib/python3.8/dist-packages/six.py", line 703, in reraise
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     raise value
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron_lib/db/api.py", line 
179, in wrapped
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     return 
f(*dup_args, **dup_kwargs)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/plugins/ml2/plugin.py",
 line 1653, in update_port
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     updated_port 
= super(Ml2Plugin, self).update_port(context, id,
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron_lib/db/api.py", line 
233, in wrapped
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     return 
method(*args, **kwargs)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/db/db_base_plugin_v2.py",
 line 1482, in update_port
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
self.ipam.update_port(
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/db/ipam_backend_mixin.py",
 line 711, in update_port
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     changes = 
self.update_port_with_ips(context,
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/db/ipam_pluggable_backend.py",
 line 427, in update_port_with_ips
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     changes = 
self._update_ips_for_port(context,
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/db/ipam_pluggable_backend.py",
 line 381, in _update_ips_for_port
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     added = 
self._ipam_allocate_ips(context, ipam_driver,
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/db/ipam_pluggable_backend.py",
 line 148, in _ipam_allocate_ips
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     return
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_utils/excutils.py", line 
220, in __exit__
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
self.force_reraise()
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/oslo_utils/excutils.py", line 
196, in force_reraise
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     
six.reraise(self.type_, self.value, self.tb)
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/usr/local/lib/python3.8/dist-packages/six.py", line 703, in reraise
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     raise value
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util   File 
"/var/lib/kolla/venv/lib/python3.8/site-packages/neutron/db/ipam_pluggable_backend.py",
 line 140, in _ipam_allocate_ips
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util     raise 
n_exc.IpAddressGenerationFailure(
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util 
neutron_lib.exceptions.IpAddressGenerationFailure: No more IP addresses 
available on network 15b718eb-4589-4b9f-8b95-aa5dc71da538.
  2021-07-23 14:19:55.231 1417 ERROR neutron_ovn_db_sync_util 

  --------------------

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


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to