deploy time failure to migrate database

Bug #1901986 reported by Frode Nordahl
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Nova Cloud Controller Charm
New
Undecided
Unassigned

Bug Description

First time I've seen this, logging to track in case we see it again. Full artifact collection: https://openstack-ci-reports.ubuntu.com/artifacts/test_charm_pipeline_func_smoke/openstack/charm-octavia/759185/9/19832/index.html

Looking at the juju status at the time it appears to me that the database units have just completed clustering, so perhaps this is a race or something firing too early?

2020-10-28 22:45:47 DEBUG juju-log shared-db:18: 0 section(s) found
2020-10-28 22:45:47 INFO juju-log shared-db:18: Registered config file: /etc/nova/nova.conf
2020-10-28 22:45:47 INFO juju-log shared-db:18: Registered config file: /etc/nova/api-paste.ini
2020-10-28 22:45:47 INFO juju-log shared-db:18: Registered config file: /etc/nova/vendor_data.json
2020-10-28 22:45:47 INFO juju-log shared-db:18: Registered config file: /etc/haproxy/haproxy.cfg
2020-10-28 22:45:47 INFO juju-log shared-db:18: Registered config file: /etc/apache2/sites-available/openstack_https_frontend.conf
2020-10-28 22:45:47 INFO juju-log shared-db:18: Registered config file: /etc/apache2/ports.conf
2020-10-28 22:45:47 INFO juju-log shared-db:18: Registered config file: /etc/memcached.conf
2020-10-28 22:45:47 INFO juju-log shared-db:18: Registered config file: /etc/apache2/sites-enabled/wsgi-api-os-compute.conf
2020-10-28 22:45:47 INFO juju-log shared-db:18: Registered config file: /etc/apache2/sites-enabled/wsgi-openstack-metadata.conf
2020-10-28 22:45:51 DEBUG juju-log shared-db:18: 0 section(s) found
2020-10-28 22:45:51 DEBUG juju-log shared-db:18: Generating template context for amqp
2020-10-28 22:45:52 DEBUG juju-log shared-db:18: Generating template context for image-service.
2020-10-28 22:45:52 DEBUG juju-log shared-db:18: 0 section(s) found
2020-10-28 22:45:52 INFO juju-log shared-db:18: HAProxy context is incomplete, this unit has no peers.
2020-10-28 22:45:53 DEBUG juju-log shared-db:18: Generating template context for identity-service
2020-10-28 22:45:53 INFO juju-log shared-db:18: Missing required data: service_port service_host auth_host auth_port admin_tenant_name admin_user admin_password
2020-10-28 22:45:53 DEBUG shared-db-relation-changed none
2020-10-28 22:45:54 INFO juju-log shared-db:18: Generating template context from neutron api relation
2020-10-28 22:45:54 DEBUG juju-log shared-db:18: Generating template context for identity-service
2020-10-28 22:45:55 INFO juju-log shared-db:18: Missing required data: service_port service_host auth_host auth_port admin_tenant_name admin_user admin_password
2020-10-28 22:45:55 DEBUG juju-log shared-db:18: Ensuring haproxy enabled in /etc/default/haproxy.
2020-10-28 22:45:56 INFO juju-log shared-db:18: HAProxy context is incomplete, this unit has no peers.
2020-10-28 22:45:56 DEBUG juju-log shared-db:18: 0 section(s) found
2020-10-28 22:45:56 DEBUG shared-db-relation-changed none
2020-10-28 22:45:56 INFO juju-log shared-db:18: HAProxy context is incomplete, this unit has no peers.
2020-10-28 22:45:56 DEBUG shared-db-relation-changed none
2020-10-28 22:45:57 INFO juju-log shared-db:18: HAProxy context is incomplete, this unit has no peers.
2020-10-28 22:45:57 INFO juju-log shared-db:18: Generating template context from neutron api relation
2020-10-28 22:45:57 DEBUG juju-log shared-db:18: Checking for maintenance notifications
2020-10-28 22:45:57 DEBUG juju-log shared-db:18: Generating template context for amqp
2020-10-28 22:45:57 DEBUG juju-log shared-db:18: Generating template context for image-service.
2020-10-28 22:45:57 DEBUG juju-log shared-db:18: 0 section(s) found
2020-10-28 22:45:57 INFO juju-log shared-db:18: HAProxy context is incomplete, this unit has no peers.
2020-10-28 22:45:58 DEBUG juju-log shared-db:18: Generating template context for identity-service
2020-10-28 22:45:58 INFO juju-log shared-db:18: Missing required data: service_port service_host auth_host auth_port admin_tenant_name admin_user admin_password
2020-10-28 22:45:58 DEBUG shared-db-relation-changed none
2020-10-28 22:45:58 INFO juju-log shared-db:18: Generating template context from neutron api relation
2020-10-28 22:45:59 INFO juju-log shared-db:18: Loaded template from templates/train/nova.conf
2020-10-28 22:45:59 INFO juju-log shared-db:18: Rendering from template: /etc/nova/nova.conf
2020-10-28 22:45:59 INFO juju-log shared-db:18: Wrote template /etc/nova/nova.conf.
2020-10-28 22:45:59 DEBUG juju-log shared-db:18: Generating template context for identity-service
2020-10-28 22:46:00 INFO juju-log shared-db:18: Missing required data: service_port service_host auth_host auth_port admin_tenant_name admin_user admin_password
2020-10-28 22:46:00 INFO juju-log shared-db:18: Loaded template from templates/mitaka/api-paste.ini
2020-10-28 22:46:00 INFO juju-log shared-db:18: Rendering from template: /etc/nova/api-paste.ini
2020-10-28 22:46:00 INFO juju-log shared-db:18: Wrote template /etc/nova/api-paste.ini.
2020-10-28 22:46:00 INFO juju-log shared-db:18: Loaded template from /var/lib/juju/agents/unit-nova-cloud-controller-0/charm/charmhelpers/contrib/openstack/templates/vendor_data.json
2020-10-28 22:46:00 INFO juju-log shared-db:18: Rendering from template: /etc/nova/vendor_data.json
2020-10-28 22:46:00 INFO juju-log shared-db:18: Wrote template /etc/nova/vendor_data.json.
2020-10-28 22:46:01 DEBUG juju-log shared-db:18: Ensuring haproxy enabled in /etc/default/haproxy.
2020-10-28 22:46:01 INFO juju-log shared-db:18: HAProxy context is incomplete, this unit has no peers.
2020-10-28 22:46:01 INFO juju-log shared-db:18: Loaded template from /var/lib/juju/agents/unit-nova-cloud-controller-0/charm/charmhelpers/contrib/openstack/templates/haproxy.cfg
2020-10-28 22:46:01 INFO juju-log shared-db:18: Rendering from template: /etc/haproxy/haproxy.cfg
2020-10-28 22:46:02 INFO juju-log shared-db:18: Wrote template /etc/haproxy/haproxy.cfg.
2020-10-28 22:46:02 INFO juju-log shared-db:18: Loaded template from /var/lib/juju/agents/unit-nova-cloud-controller-0/charm/charmhelpers/contrib/openstack/templates/openstack_https_frontend.conf
2020-10-28 22:46:02 INFO juju-log shared-db:18: Rendering from template: /etc/apache2/sites-available/openstack_https_frontend.conf
2020-10-28 22:46:02 INFO juju-log shared-db:18: Wrote template /etc/apache2/sites-available/openstack_https_frontend.conf.
2020-10-28 22:46:02 INFO juju-log shared-db:18: Loaded template from templates/ports.conf
2020-10-28 22:46:02 INFO juju-log shared-db:18: Rendering from template: /etc/apache2/ports.conf
2020-10-28 22:46:02 INFO juju-log shared-db:18: Wrote template /etc/apache2/ports.conf.
2020-10-28 22:46:02 INFO juju-log shared-db:18: Loaded template from /var/lib/juju/agents/unit-nova-cloud-controller-0/charm/charmhelpers/contrib/openstack/templates/memcached.conf
2020-10-28 22:46:02 INFO juju-log shared-db:18: Rendering from template: /etc/memcached.conf
2020-10-28 22:46:02 INFO juju-log shared-db:18: Wrote template /etc/memcached.conf.
2020-10-28 22:46:02 DEBUG shared-db-relation-changed none
2020-10-28 22:46:03 INFO juju-log shared-db:18: HAProxy context is incomplete, this unit has no peers.
2020-10-28 22:46:03 INFO juju-log shared-db:18: Loaded template from templates/wsgi-api-os-compute.conf
2020-10-28 22:46:03 INFO juju-log shared-db:18: Rendering from template: /etc/apache2/sites-enabled/wsgi-api-os-compute.conf
2020-10-28 22:46:03 INFO juju-log shared-db:18: Wrote template /etc/apache2/sites-enabled/wsgi-api-os-compute.conf.
2020-10-28 22:46:03 DEBUG shared-db-relation-changed none
2020-10-28 22:46:03 INFO juju-log shared-db:18: HAProxy context is incomplete, this unit has no peers.
2020-10-28 22:46:04 INFO juju-log shared-db:18: Generating template context from neutron api relation
2020-10-28 22:46:04 INFO juju-log shared-db:18: Loaded template from /var/lib/juju/agents/unit-nova-cloud-controller-0/charm/charmhelpers/contrib/openstack/templates/wsgi-openstack-metadata.conf
2020-10-28 22:46:04 INFO juju-log shared-db:18: Rendering from template: /etc/apache2/sites-enabled/wsgi-openstack-metadata.conf
2020-10-28 22:46:04 INFO juju-log shared-db:18: Wrote template /etc/apache2/sites-enabled/wsgi-openstack-metadata.conf.
2020-10-28 22:46:04 DEBUG juju-log shared-db:18: Database is NOT initialised
2020-10-28 22:46:04 DEBUG juju-log shared-db:18: Generating template context for amqp
2020-10-28 22:46:05 INFO juju-log shared-db:18: Generating template context for cell v2 share-db
2020-10-28 22:46:05 INFO juju-log shared-db:18: Migrating the nova-api database.
2020-10-28 22:46:06 DEBUG shared-db-relation-changed Deprecated: Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".
2020-10-28 22:46:16 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.")
2020-10-28 22:46:16 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:46:16 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (1681, 'Integer display width is deprecated and will be removed in a future release.')
2020-10-28 22:46:16 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:46:16 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (3778, "'utf8_bin' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead.")
2020-10-28 22:46:16 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:46:17 INFO juju-log shared-db:18: Creating cell0 database records
2020-10-28 22:46:19 DEBUG shared-db-relation-changed Deprecated: Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".
2020-10-28 22:46:19 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.")
2020-10-28 22:46:19 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:46:20 INFO juju-log shared-db:18: Creating cell1 database records
2020-10-28 22:46:21 DEBUG shared-db-relation-changed Deprecated: Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".
2020-10-28 22:46:22 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.")
2020-10-28 22:46:22 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:46:22 INFO juju-log shared-db:18: cell1 was successfully created
2020-10-28 22:46:22 INFO juju-log shared-db:18: Migrating the nova database.
2020-10-28 22:46:24 DEBUG shared-db-relation-changed Deprecated: Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".
2020-10-28 22:47:38 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.")
2020-10-28 22:47:38 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:47:38 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.")
2020-10-28 22:47:38 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:47:38 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (1831, "Duplicate index 'block_device_mapping_instance_uuid_virtual_name_device_name_idx' defined on the table 'nova_cell0.block_device_mapping'. This is deprecated and will be disallowed in a future release.")
2020-10-28 22:47:38 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:47:38 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (1681, 'Integer display width is deprecated and will be removed in a future release.')
2020-10-28 22:47:38 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:47:38 DEBUG shared-db-relation-changed /usr/lib/python3/dist-packages/pymysql/cursors.py:170: Warning: (1831, "Duplicate index 'uniq_instances0uuid' defined on the table 'nova_cell0.instances'. This is deprecated and will be disallowed in a future release.")
2020-10-28 22:47:38 DEBUG shared-db-relation-changed result = self._query(query)
2020-10-28 22:47:38 ERROR juju-log shared-db:18: db sync failed
b'ERROR: Could not access cell0.\nHas the nova_api database been created?\nHas the nova_cell0 database been created?\nHas "nova-manage api_db sync" been run?\nHas "nova-manage cell_v2 map_cell0" been run?\nIs [api_database]/connection set in nova.conf?\nIs the cell0 database connection URL correct?\nError: (pymysql.err.OperationalError) (2013, \'Lost connection to MySQL server during query\')\n[SQL: \nALTER TABLE shadow_pci_devices ADD numa_node INTEGER]\n(Background on this error at: http://sqlalche.me/e/e3q8)\n'
2020-10-28 22:47:38 INFO juju-log shared-db:18: Retrying 'migrate_nova_databases' 5 more times (delay=3)
2020-10-28 22:47:41 DEBUG juju-log shared-db:18: Generating template context for amqp
2020-10-28 22:47:42 INFO juju-log shared-db:18: Generating template context for cell v2 share-db
2020-10-28 22:47:42 INFO juju-log shared-db:18: Migrating the nova-api database.
2020-10-28 22:47:43 DEBUG shared-db-relation-changed Deprecated: Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".
2020-10-28 22:47:44 INFO juju-log shared-db:18: Ignoring CalledProcessError during nova-api database migration
b'An error has occurred:\nTraceback (most recent call last):\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2276, in _wrap_pool_connect\n return fn()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 303, in unique_connection\n return _ConnectionFairy._checkout(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 760, in _checkout\n fairy = _ConnectionRecord.checkout(pool)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 492, in checkout\n rec = pool._do_get()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 139, in _do_get\n self._dec_overflow()\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__\n compat.reraise(exc_type, exc_value, exc_tb)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 153, in reraise\n raise value\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 136, in _do_get\n return self._create_connection()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 308, in _create_connection\n return _ConnectionRecord(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 437, in __init__\n self.__connect(first_connect_check=True)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 639, in __connect\n connection = pool._invoke_creator(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/strategies.py", line 114, in connect\n return dialect.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 482, in connect\n return self.dbapi.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/pymysql/__init__.py", line 94, in Connect\n return Connection(*args, **kwargs)\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 325, in __init__\n self.connect()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 598, in connect\n self._get_server_information()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 975, in _get_server_information\n packet = self._read_packet()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 684, in _read_packet\n packet.check_error()\n File "/usr/lib/python3/dist-packages/pymysql/protocol.py", line 220, in check_error\n err.raise_mysql_exception(self._data)\n File "/usr/lib/python3/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception\n raise errorclass(errno, errval)\npymysql.err.InternalError: (2003, "Can\'t connect to remote MySQL server for client connected to \'127.0.0.1:3306\'")\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "/usr/lib/python3/dist-packages/nova/db/sqlalchemy/migration.py", line 93, in db_version\n return _db_version(repository, database, context)\n File "/usr/lib/python3/dist-packages/nova/db/sqlalchemy/migration.py", line 100, in _db_version\n return versioning_api.db_version(get_engine(database, context=context),\n File "/usr/lib/python3/dist-packages/nova/db/sqlalchemy/migration.py", line 43, in get_engine\n return db_session.get_api_engine()\n File "/usr/lib/python3/dist-packages/nova/db/sqlalchemy/api.py", line 151, in get_api_engine\n return api_context_manager.writer.get_engine()\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 832, in get_engine\n return self._factory.get_writer_engine()\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 372, in get_writer_engine\n self._start()\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 508, in _start\n self._setup_for_connection(\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 533, in _setup_for_connection\n engine = engines.create_engine(\n File "/usr/lib/python3/dist-packages/debtcollector/renames.py", line 43, in decorator\n return wrapped(*args, **kwargs)\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 201, in create_engine\n test_conn = _test_connection(engine, max_retries, retry_interval)\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 376, in _test_connection\n return engine.connect()\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2209, in connect\n return self._connection_cls(self, **kwargs)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 103, in __init__\n else engine.raw_connection()\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2306, in raw_connection\n return self._wrap_pool_connect(\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2279, in _wrap_pool_connect\n Connection._handle_dbapi_exception_noconnection(\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1545, in _handle_dbapi_exception_noconnection\n util.raise_from_cause(newraise, exc_info)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause\n reraise(type(exception), exception, tb=exc_tb, cause=cause)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 152, in reraise\n raise value.with_traceback(tb)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2276, in _wrap_pool_connect\n return fn()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 303, in unique_connection\n return _ConnectionFairy._checkout(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 760, in _checkout\n fairy = _ConnectionRecord.checkout(pool)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 492, in checkout\n rec = pool._do_get()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 139, in _do_get\n self._dec_overflow()\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__\n compat.reraise(exc_type, exc_value, exc_tb)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 153, in reraise\n raise value\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 136, in _do_get\n return self._create_connection()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 308, in _create_connection\n return _ConnectionRecord(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 437, in __init__\n self.__connect(first_connect_check=True)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 639, in __connect\n connection = pool._invoke_creator(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/strategies.py", line 114, in connect\n return dialect.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 482, in connect\n return self.dbapi.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/pymysql/__init__.py", line 94, in Connect\n return Connection(*args, **kwargs)\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 325, in __init__\n self.connect()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 598, in connect\n self._get_server_information()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 975, in _get_server_information\n packet = self._read_packet()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 684, in _read_packet\n packet.check_error()\n File "/usr/lib/python3/dist-packages/pymysql/protocol.py", line 220, in check_error\n err.raise_mysql_exception(self._data)\n File "/usr/lib/python3/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception\n raise errorclass(errno, errval)\noslo_db.exception.DBError: (pymysql.err.InternalError) (2003, "Can\'t connect to remote MySQL server for client connected to \'127.0.0.1:3306\'")\n(Background on this error at: http://sqlalche.me/e/2j85)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2276, in _wrap_pool_connect\n return fn()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 303, in unique_connection\n return _ConnectionFairy._checkout(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 760, in _checkout\n fairy = _ConnectionRecord.checkout(pool)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 492, in checkout\n rec = pool._do_get()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 139, in _do_get\n self._dec_overflow()\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__\n compat.reraise(exc_type, exc_value, exc_tb)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 153, in reraise\n raise value\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 136, in _do_get\n return self._create_connection()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 308, in _create_connection\n return _ConnectionRecord(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 437, in __init__\n self.__connect(first_connect_check=True)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 639, in __connect\n connection = pool._invoke_creator(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/strategies.py", line 114, in connect\n return dialect.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 482, in connect\n return self.dbapi.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/pymysql/__init__.py", line 94, in Connect\n return Connection(*args, **kwargs)\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 325, in __init__\n self.connect()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 598, in connect\n self._get_server_information()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 975, in _get_server_information\n packet = self._read_packet()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 684, in _read_packet\n packet.check_error()\n File "/usr/lib/python3/dist-packages/pymysql/protocol.py", line 220, in check_error\n err.raise_mysql_exception(self._data)\n File "/usr/lib/python3/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception\n raise errorclass(errno, errval)\npymysql.err.InternalError: (2003, "Can\'t connect to remote MySQL server for client connected to \'127.0.0.1:3306\'")\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "/usr/lib/python3/dist-packages/nova/cmd/manage.py", line 2777, in main\n ret = fn(*fn_args, **fn_kwargs)\n File "/usr/lib/python3/dist-packages/nova/cmd/manage.py", line 697, in sync\n return migration.db_sync(version, database=\'api\')\n File "/usr/lib/python3/dist-packages/nova/db/migration.py", line 26, in db_sync\n return IMPL.db_sync(version=version, database=database, context=context)\n File "/usr/lib/python3/dist-packages/nova/db/sqlalchemy/migration.py", line 53, in db_sync\n current_version = db_version(database, context=context)\n File "/usr/lib/python3/dist-packages/nova/db/sqlalchemy/migration.py", line 95, in db_version\n return _db_version(repository, database, context)\n File "/usr/lib/python3/dist-packages/nova/db/sqlalchemy/migration.py", line 100, in _db_version\n return versioning_api.db_version(get_engine(database, context=context),\n File "/usr/lib/python3/dist-packages/nova/db/sqlalchemy/migration.py", line 43, in get_engine\n return db_session.get_api_engine()\n File "/usr/lib/python3/dist-packages/nova/db/sqlalchemy/api.py", line 151, in get_api_engine\n return api_context_manager.writer.get_engine()\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 832, in get_engine\n return self._factory.get_writer_engine()\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 372, in get_writer_engine\n self._start()\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 508, in _start\n self._setup_for_connection(\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 533, in _setup_for_connection\n engine = engines.create_engine(\n File "/usr/lib/python3/dist-packages/debtcollector/renames.py", line 43, in decorator\n return wrapped(*args, **kwargs)\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 201, in create_engine\n test_conn = _test_connection(engine, max_retries, retry_interval)\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 376, in _test_connection\n return engine.connect()\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2209, in connect\n return self._connection_cls(self, **kwargs)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 103, in __init__\n else engine.raw_connection()\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2306, in raw_connection\n return self._wrap_pool_connect(\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2279, in _wrap_pool_connect\n Connection._handle_dbapi_exception_noconnection(\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1545, in _handle_dbapi_exception_noconnection\n util.raise_from_cause(newraise, exc_info)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause\n reraise(type(exception), exception, tb=exc_tb, cause=cause)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 152, in reraise\n raise value.with_traceback(tb)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2276, in _wrap_pool_connect\n return fn()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 303, in unique_connection\n return _ConnectionFairy._checkout(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 760, in _checkout\n fairy = _ConnectionRecord.checkout(pool)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 492, in checkout\n rec = pool._do_get()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 139, in _do_get\n self._dec_overflow()\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__\n compat.reraise(exc_type, exc_value, exc_tb)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 153, in reraise\n raise value\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 136, in _do_get\n return self._create_connection()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 308, in _create_connection\n return _ConnectionRecord(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 437, in __init__\n self.__connect(first_connect_check=True)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 639, in __connect\n connection = pool._invoke_creator(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/strategies.py", line 114, in connect\n return dialect.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 482, in connect\n return self.dbapi.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/pymysql/__init__.py", line 94, in Connect\n return Connection(*args, **kwargs)\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 325, in __init__\n self.connect()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 598, in connect\n self._get_server_information()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 975, in _get_server_information\n packet = self._read_packet()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 684, in _read_packet\n packet.check_error()\n File "/usr/lib/python3/dist-packages/pymysql/protocol.py", line 220, in check_error\n err.raise_mysql_exception(self._data)\n File "/usr/lib/python3/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception\n raise errorclass(errno, errval)\noslo_db.exception.DBError: (pymysql.err.InternalError) (2003, "Can\'t connect to remote MySQL server for client connected to \'127.0.0.1:3306\'")\n(Background on this error at: http://sqlalche.me/e/2j85)\n\n'
2020-10-28 22:47:44 INFO juju-log shared-db:18: Creating cell0 database records
2020-10-28 22:47:46 DEBUG shared-db-relation-changed Deprecated: Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".
2020-10-28 22:47:47 ERROR juju-log shared-db:18: map_cell0 failed
b'An error has occurred:\nTraceback (most recent call last):\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2276, in _wrap_pool_connect\n return fn()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 303, in unique_connection\n return _ConnectionFairy._checkout(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 760, in _checkout\n fairy = _ConnectionRecord.checkout(pool)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 492, in checkout\n rec = pool._do_get()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 139, in _do_get\n self._dec_overflow()\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__\n compat.reraise(exc_type, exc_value, exc_tb)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 153, in reraise\n raise value\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 136, in _do_get\n return self._create_connection()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 308, in _create_connection\n return _ConnectionRecord(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 437, in __init__\n self.__connect(first_connect_check=True)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 639, in __connect\n connection = pool._invoke_creator(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/strategies.py", line 114, in connect\n return dialect.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 482, in connect\n return self.dbapi.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/pymysql/__init__.py", line 94, in Connect\n return Connection(*args, **kwargs)\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 325, in __init__\n self.connect()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 598, in connect\n self._get_server_information()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 975, in _get_server_information\n packet = self._read_packet()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 684, in _read_packet\n packet.check_error()\n File "/usr/lib/python3/dist-packages/pymysql/protocol.py", line 220, in check_error\n err.raise_mysql_exception(self._data)\n File "/usr/lib/python3/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception\n raise errorclass(errno, errval)\npymysql.err.InternalError: (2003, "Can\'t connect to remote MySQL server for client connected to \'127.0.0.1:3306\'")\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "/usr/lib/python3/dist-packages/nova/cmd/manage.py", line 2777, in main\n ret = fn(*fn_args, **fn_kwargs)\n File "/usr/lib/python3/dist-packages/nova/cmd/manage.py", line 818, in map_cell0\n self._map_cell0(database_connection=database_connection)\n File "/usr/lib/python3/dist-packages/nova/cmd/manage.py", line 852, in _map_cell0\n cell_mapping.create()\n File "/usr/lib/python3/dist-packages/oslo_versionedobjects/base.py", line 226, in wrapper\n return fn(self, *args, **kwargs)\n File "/usr/lib/python3/dist-packages/nova/objects/cell_mapping.py", line 198, in create\n db_mapping = self._create_in_db(self._context, self.obj_get_changes())\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 1013, in wrapper\n with self._transaction_scope(context):\n File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__\n return next(self.gen)\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 1058, in _transaction_scope\n with current._produce_block(\n File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__\n return next(self.gen)\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 657, in _session\n self.session = self.factory._create_session(\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 418, in _create_session\n self._start()\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 508, in _start\n self._setup_for_connection(\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 533, in _setup_for_connection\n engine = engines.create_engine(\n File "/usr/lib/python3/dist-packages/debtcollector/renames.py", line 43, in decorator\n return wrapped(*args, **kwargs)\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 201, in create_engine\n test_conn = _test_connection(engine, max_retries, retry_interval)\n File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 376, in _test_connection\n return engine.connect()\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2209, in connect\n return self._connection_cls(self, **kwargs)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 103, in __init__\n else engine.raw_connection()\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2306, in raw_connection\n return self._wrap_pool_connect(\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2279, in _wrap_pool_connect\n Connection._handle_dbapi_exception_noconnection(\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1545, in _handle_dbapi_exception_noconnection\n util.raise_from_cause(newraise, exc_info)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 398, in raise_from_cause\n reraise(type(exception), exception, tb=exc_tb, cause=cause)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 152, in reraise\n raise value.with_traceback(tb)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2276, in _wrap_pool_connect\n return fn()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 303, in unique_connection\n return _ConnectionFairy._checkout(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 760, in _checkout\n fairy = _ConnectionRecord.checkout(pool)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 492, in checkout\n rec = pool._do_get()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 139, in _do_get\n self._dec_overflow()\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__\n compat.reraise(exc_type, exc_value, exc_tb)\n File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 153, in reraise\n raise value\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/impl.py", line 136, in _do_get\n return self._create_connection()\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 308, in _create_connection\n return _ConnectionRecord(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 437, in __init__\n self.__connect(first_connect_check=True)\n File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 639, in __connect\n connection = pool._invoke_creator(self)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/strategies.py", line 114, in connect\n return dialect.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 482, in connect\n return self.dbapi.connect(*cargs, **cparams)\n File "/usr/lib/python3/dist-packages/pymysql/__init__.py", line 94, in Connect\n return Connection(*args, **kwargs)\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 325, in __init__\n self.connect()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 598, in connect\n self._get_server_information()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 975, in _get_server_information\n packet = self._read_packet()\n File "/usr/lib/python3/dist-packages/pymysql/connections.py", line 684, in _read_packet\n packet.check_error()\n File "/usr/lib/python3/dist-packages/pymysql/protocol.py", line 220, in check_error\n err.raise_mysql_exception(self._data)\n File "/usr/lib/python3/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception\n raise errorclass(errno, errval)\noslo_db.exception.DBError: (pymysql.err.InternalError) (2003, "Can\'t connect to remote MySQL server for client connected to \'127.0.0.1:3306\'")\n(Background on this error at: http://sqlalche.me/e/2j85)\n\n'
2020-10-28 22:47:47 INFO juju-log shared-db:18: Retrying 'migrate_nova_databases' 4 more times (delay=6)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.