Bug 2184070
| Summary: | OVS -> OVN migration fails due to ovn db sync util error | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Ella Shulman <eshulman> | ||||
| Component: | openstack-neutron | Assignee: | Miro Tomaska <mtomaska> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Ella Shulman <eshulman> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | 17.1 (Wallaby) | CC: | chrisw, ekuris, jamsmith, jlibosva, mlavalle, mtomaska, pgrist, scohen, skaplons | ||||
| Target Milestone: | --- | Keywords: | Triaged | ||||
| Target Release: | --- | Flags: | mtomaska:
needinfo-
mtomaska: needinfo- mtomaska: needinfo- |
||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | openstack-neutron-18.6.1-1.20230518200969.el9ost | Doc Type: | Bug Fix | ||||
| Doc Text: |
This update adds a check to ensure that there are enough IP addresses available for each subnet pool during an OVN migration. If you do not have enough IP addresses, the migration script will stop and display a warning.
|
Story Points: | --- | ||||
| Clone Of: | |||||||
| : | 2214378 (view as bug list) | Environment: | |||||
| Last Closed: | 2023-08-16 01:14:34 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | 2208626 | ||||||
| Bug Blocks: | 2019745, 2214378 | ||||||
| Attachments: |
|
||||||
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Release of components for Red Hat OpenStack Platform 17.1 (Wallaby)), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2023:4577 |
Created attachment 1955483 [details] controller-0 neutron-ovn-db-sync-util.log Description of problem: OVS -> OVN migration fails due to no more IP on the external network. Error from /var/log/containers/neutron/neutron-ovn-db-sync-util.log: 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util Traceback (most recent call last): 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/db/ipam_pluggable_backend.py", line 138, in _ipam_allocate_ips 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util ip_address, subnet_id = ipam_allocator.allocate(ip_request) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/ipam/subnet_alloc.py", line 240, in allocate 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util raise ipam_exc.IpAddressGenerationFailureAllSubnets() 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util neutron.ipam.exceptions.IpAddressGenerationFailureAllSubnets: No more IP addresses available. 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util During handling of the above exception, another exception occurred: 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util Traceback (most recent call last): 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/bin/neutron-ovn-db-sync-util", line 10, in <module> 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util sys.exit(main()) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/cmd/ovn/neutron_ovn_db_sync_util.py", line 241, in main 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util synchronizer.do_sync() 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py", line 104, in do_sync 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util self.sync_networks_ports_and_dhcp_opts(ctx) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py", line 1004, in sync_networks_ports_and_dhcp_opts 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util self._ovn_client.create_network(ctx, network) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py", line 1885, in create_network 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util self.create_metadata_port(context, network) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py", line 2383, in create_metadata_port 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util p_utils.create_port(self._plugin, context, port) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron_lib/plugins/utils.py", line 337, in create_port 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return core_plugin.create_port( 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/common/utils.py", line 701, in inner 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return f(*args, **kwargs) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 217, in wrapped 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return method(*args, **kwargs) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 139, in wrapped 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util setattr(e, '_RETRY_EXCEEDED', True) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__ 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util self.force_reraise() 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util raise self.value 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 135, in wrapped 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return f(*args, **kwargs) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_db/api.py", line 154, in wrapper 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util ectxt.value = e.inner_exc 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__ 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util self.force_reraise() 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util raise self.value 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_db/api.py", line 142, in wrapper 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return f(*args, **kwargs) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 183, in wrapped 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util LOG.debug("Retry wrapper got retriable exception: %s", e) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__ 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util self.force_reraise() 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util raise self.value 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 179, in wrapped 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return f(*dup_args, **dup_kwargs) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/plugin.py", line 1489, in create_port 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util result, mech_context = self._create_port_db(context, port) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/plugins/ml2/plugin.py", line 1456, in _create_port_db 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util port_db = self.create_port_db(context, port) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/db/db_base_plugin_v2.py", line 1441, in create_port_db 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util self.ipam.allocate_ips_for_port_and_store( 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/db/ipam_pluggable_backend.py", line 219, in allocate_ips_for_port_and_store 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util ips = self.allocate_ips_for_port(context, port_copy) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron_lib/db/api.py", line 217, in wrapped 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return method(*args, **kwargs) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1014, in wrapper 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return fn(*args, **kwargs) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/db/ipam_pluggable_backend.py", line 226, in allocate_ips_for_port 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return self._allocate_ips_for_port(context, port) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/db/ipam_pluggable_backend.py", line 288, in _allocate_ips_for_port 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return self._ipam_allocate_ips(context, ipam_driver, p, ips) 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/db/ipam_pluggable_backend.py", line 148, in _ipam_allocate_ips 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util return 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 227, in __exit__ 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util self.force_reraise() 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/oslo_utils/excutils.py", line 200, in force_reraise 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util raise self.value 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util File "/usr/lib/python3.9/site-packages/neutron/db/ipam_pluggable_backend.py", line 140, in _ipam_allocate_ips 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util raise n_exc.IpAddressGenerationFailure( 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util neutron_lib.exceptions.IpAddressGenerationFailure: No more IP addresses available on network 8fc29845-c4d7-4f16-87ec-9ed0dc94625a. 2023-04-03 12:45:16.048 85 ERROR neutron_ovn_db_sync_util Error from automation: TASK [migration : Sync neutron db with OVN db (container) - Run 1] ************* task path: /home/stack/ovn_migration/playbooks/roles/migration/tasks/sync-dbs.yml:7 Monday 03 April 2023 12:45:04 +0000 (0:00:00.927) 0:31:02.801 ********** fatal: [controller-0]: FAILED! => {"changed": true, "cmd": ["podman", "exec", "052635d84e21", "neutron-ovn-db-sync-util", "--config-file", "/etc/neutron/neutron.conf", "--config-file", "/etc/neutron/plugins/ml2/ml2_conf.ini", "--ovn-neutron_sync_mode", "migrate"], "delta": "0:00:11.580294", "end": "2023-04-03 12:45:16.871626", "msg": "non-zero return code", "rc": 1, "start": "2023-04-03 12:45:05.291332", "stderr": "/usr/lib64/python3.9/site-packages/sqlalchemy/orm/relationships.py:1994: SAWarning: Setting backref / back_populates on relationship Tag.standard_attr to refer to viewonly relationship StandardAttribute.tags should include sync_backref=False set on the Tag.standard_attr relationship. (this warning may be suppressed after 10 occurrences)\n util.warn_limited(", "stderr_lines": ["/usr/lib64/python3.9/site-packages/sqlalchemy/orm/relationships.py:1994: SAWarning: Setting backref / back_populates on relationship Tag.standard_attr to refer to viewonly relationship StandardAttribute.tags should include sync_backref=False set on the Tag.standard_attr relationship. (this warning may be suppressed after 10 occurrences)", " util.warn_limited("], "stdout": "", "stdout_lines": []} Version-Release number of selected component (if applicable): OSP17.1 How reproducible: 100% Steps to Reproduce: 1. deploy overcloud 2. run ovn migration 3. Actual results: OVN migration fails Expected results: OVN migration passing Additional info: