← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1833650] [NEW] Populate nova databases failed with mysql access denied

 

Public bug reported:

Description
===========

Fresh Install

CentOS Linux release 7.6.1810 (Core)

I followed "Install and configure controller node for Red Hat Enterprise
Linux and CentOS" up to Install Nova on Controller, I configured
Nova.conf and ran the DB commands. The following are failed:

su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
su -s /bin/sh -c "nova-manage db sync" nova

I have my fix:

use "controller" instead of "localhost":

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'controller' \
  IDENTIFIED BY 'NOVA_DBPASS';

Then I could run populate nova databases commands successfully.

Steps to reproduce
===============

1. Install CentOS Linux release 7.6.1810 (Core)
2. Install Keystone
4. Install Glance
6. Install Nova
7. Run the DB sync commands in order from the Docs
Failure at > su -s /bin/sh -c "nova-manage db sync" nova and so on..

Expected result
===============
Nova database Populates without error

Actual result
=============
Nova database does not populate and error thrown

Environment
===========
rocky

Installed:
openstack-nova-api.noarch 1:18.2.0-1.el7
openstack-nova-conductor.noarch 1:18.2.0-1.el7
openstack-nova-console.noarch 1:18.2.0-1.el7
openstack-nova-novncproxy.noarch 1:18.2.0-1.el7
openstack-nova-placement-api.noarch 1:18.2.0-1.el7
openstack-nova-scheduler.noarch 1:18.2.0-1.el7

Dependency Installed:
novnc.noarch 0:0.5.1-2.el7
openstack-nova-common.noarch 1:18.2.0-1.el7
python-nova.noarch 1:18.2.0-1.el7
python-websockify.noarch 0:0.8.0-1.el7
python2-microversion-parse.noarch 0:0.2.1-1.el7
python2-os-traits.noarch 0:0.9.0-1.el7
python2-os-vif.noarch 0:1.11.1-1.el7           


Logs & Configs
==============
[root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
An error has occurred:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 2338, in main
    ret = fn(*fn_args, **fn_kwargs)
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 884, in sync
    result = migration.db_sync(version2, database='placement')
  File "/usr/lib/python2.7/site-packages/nova/db/migration.py", line 26, in db_sync
    return IMPL.db_sync(version=version, database=database, context=context)
  File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 57, in db_sync
    current_version = db_version(database, context=context)
  File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 70, in db_version
    return versioning_api.db_version(get_engine(database, context=context),
  File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 47, in get_engine
    return placement_db.get_placement_engine()
  File "/usr/lib/python2.7/site-packages/nova/api/openstack/placement/db_api.py", line 43, in get_placement_engine
    return placement_context_manager.get_legacy_facade().get_engine()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 803, in get_legacy_facade
    return self._factory.get_legacy_facade()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 352, in get_legacy_facade
    self._start()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 496, in _start
    engine_args, maker_args)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 520, in _setup_for_connection
    sql_connection=sql_connection, **engine_kwargs)
  File "/usr/lib/python2.7/site-packages/debtcollector/renames.py", line 43, in decorator
    return wrapped(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 202, in create_engine
    test_conn = _test_connection(engine, max_retries, retry_interval)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 380, in _test_connection
    return engine.connect()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2102, in connect
    return self._connection_cls(self, **kwargs)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 90, in __init__
    if connection is not None else engine.raw_connection()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2188, in raw_connection
    self.pool.unique_connection, _connection)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
    e, dialect, self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1472, in _handle_dbapi_exception_noconnection
    util.raise_from_cause(newraise, exc_info)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
    return fn()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 345, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 788, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 532, in checkout
    rec = pool._do_get()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get
    self._dec_overflow()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1190, in _do_get
    return self._create_connection()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 477, in __init__
    self.__connect(first_connect_check=True)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 671, in __connect
    connection = pool._invoke_creator(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect
    return dialect.connect(*cargs, **cparams)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 410, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/usr/lib/python2.7/site-packages/pymysql/__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 327, in __init__
    self.connect()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 598, in connect
    self._request_authentication()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 862, in _request_authentication
    auth_packet = self._process_auth(plugin_name, auth_packet)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 933, in _process_auth
    pkt = self._read_packet()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in _read_packet
    packet.check_error()
  File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'placement'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)

[root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
An error has occurred:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 2338, in main
    ret = fn(*fn_args, **fn_kwargs)
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1140, in map_cell0
    self._map_cell0(database_connection=database_connection)
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1174, in _map_cell0
    cell_mapping.create()
  File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 226, in wrapper
    return fn(self, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/nova/objects/cell_mapping.py", line 198, in create
    db_mapping = self._create_in_db(self._context, self.obj_get_changes())
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 992, in wrapper
    with self._transaction_scope(context):
  File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1042, in _transaction_scope
    context=context) as resource:
  File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 645, in _session
    bind=self.connection, mode=self.mode)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 409, in _create_session
    self._start()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 496, in _start
    engine_args, maker_args)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 520, in _setup_for_connection
    sql_connection=sql_connection, **engine_kwargs)
  File "/usr/lib/python2.7/site-packages/debtcollector/renames.py", line 43, in decorator
    return wrapped(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 202, in create_engine
    test_conn = _test_connection(engine, max_retries, retry_interval)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 380, in _test_connection
    return engine.connect()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2102, in connect
    return self._connection_cls(self, **kwargs)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 90, in __init__
    if connection is not None else engine.raw_connection()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2188, in raw_connection
    self.pool.unique_connection, _connection)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
    e, dialect, self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1472, in _handle_dbapi_exception_noconnection
    util.raise_from_cause(newraise, exc_info)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
    return fn()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 345, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 788, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 532, in checkout
    rec = pool._do_get()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get
    self._dec_overflow()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1190, in _do_get
    return self._create_connection()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 477, in __init__
    self.__connect(first_connect_check=True)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 671, in __connect
    connection = pool._invoke_creator(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect
    return dialect.connect(*cargs, **cparams)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 410, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/usr/lib/python2.7/site-packages/pymysql/__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 327, in __init__
    self.connect()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 598, in connect
    self._request_authentication()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 862, in _request_authentication
    auth_packet = self._process_auth(plugin_name, auth_packet)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 933, in _process_auth
    pkt = self._read_packet()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in _read_packet
    packet.check_error()
  File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)

[root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
An error has occurred:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 2338, in main
    ret = fn(*fn_args, **fn_kwargs)
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1488, in create_cell
    None, transport_url, database_connection)):
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1067, in _non_unique_transport_url_database_connection_checker
    for cell in objects.CellMappingList.get_all(ctxt):
  File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 184, in wrapper
    result = fn(cls, context, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/nova/objects/cell_mapping.py", line 256, in get_all
    db_mappings = cls._get_all_from_db(context)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 992, in wrapper
    with self._transaction_scope(context):
  File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1042, in _transaction_scope
    context=context) as resource:
  File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 645, in _session
    bind=self.connection, mode=self.mode)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 409, in _create_session
    self._start()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 496, in _start
    engine_args, maker_args)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 520, in _setup_for_connection
    sql_connection=sql_connection, **engine_kwargs)
  File "/usr/lib/python2.7/site-packages/debtcollector/renames.py", line 43, in decorator
    return wrapped(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 202, in create_engine
    test_conn = _test_connection(engine, max_retries, retry_interval)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 380, in _test_connection
    return engine.connect()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2102, in connect
    return self._connection_cls(self, **kwargs)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 90, in __init__
    if connection is not None else engine.raw_connection()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2188, in raw_connection
    self.pool.unique_connection, _connection)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
    e, dialect, self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1472, in _handle_dbapi_exception_noconnection
    util.raise_from_cause(newraise, exc_info)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
    return fn()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 345, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 788, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 532, in checkout
    rec = pool._do_get()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get
    self._dec_overflow()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1190, in _do_get
    return self._create_connection()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 477, in __init__
    self.__connect(first_connect_check=True)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 671, in __connect
    connection = pool._invoke_creator(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect
    return dialect.connect(*cargs, **cparams)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 410, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/usr/lib/python2.7/site-packages/pymysql/__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 327, in __init__
    self.connect()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 598, in connect
    self._request_authentication()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 862, in _request_authentication
    auth_packet = self._process_auth(plugin_name, auth_packet)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 933, in _process_auth
    pkt = self._read_packet()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in _read_packet
    packet.check_error()
  File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)

[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
ERROR: Could not access cell0.
Has the nova_api database been created?
Has the nova_cell0 database been created?
Has "nova-manage api_db sync" been run?
Has "nova-manage cell_v2 map_cell0" been run?
Is [api_database]/connection set in nova.conf?
Is the cell0 database connection URL correct?
Error: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)
An error has occurred:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 2338, in main
    ret = fn(*fn_args, **fn_kwargs)
  File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 491, in sync
    return migration.db_sync(version)
  File "/usr/lib/python2.7/site-packages/nova/db/migration.py", line 26, in db_sync
    return IMPL.db_sync(version=version, database=database, context=context)
  File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 57, in db_sync
    current_version = db_version(database, context=context)
  File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 70, in db_version
    return versioning_api.db_version(get_engine(database, context=context),
  File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 43, in get_engine
    return db_session.get_engine(context=context)
  File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/api.py", line 139, in get_engine
    return ctxt_mgr.writer.get_engine()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 814, in get_engine
    return self._factory.get_writer_engine()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 363, in get_writer_engine
    self._start()
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 496, in _start
    engine_args, maker_args)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 520, in _setup_for_connection
    sql_connection=sql_connection, **engine_kwargs)
  File "/usr/lib/python2.7/site-packages/debtcollector/renames.py", line 43, in decorator
    return wrapped(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 202, in create_engine
    test_conn = _test_connection(engine, max_retries, retry_interval)
  File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 380, in _test_connection
    return engine.connect()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2102, in connect
    return self._connection_cls(self, **kwargs)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 90, in __init__
    if connection is not None else engine.raw_connection()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2188, in raw_connection
    self.pool.unique_connection, _connection)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
    e, dialect, self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1472, in _handle_dbapi_exception_noconnection
    util.raise_from_cause(newraise, exc_info)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
    return fn()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 345, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 788, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 532, in checkout
    rec = pool._do_get()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get
    self._dec_overflow()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1190, in _do_get
    return self._create_connection()
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 477, in __init__
    self.__connect(first_connect_check=True)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 671, in __connect
    connection = pool._invoke_creator(self)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect
    return dialect.connect(*cargs, **cparams)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 410, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/usr/lib/python2.7/site-packages/pymysql/__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 327, in __init__
    self.connect()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 598, in connect
    self._request_authentication()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 862, in _request_authentication
    auth_packet = self._process_auth(plugin_name, auth_packet)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 933, in _process_auth
    pkt = self._read_packet()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in _read_packet
    packet.check_error()
  File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)

-----------------------------------
Release: 18.2.1.dev95 on 2019-06-14 03:09
SHA: d8f1bef63ab4357af2105431d3ea367100518aa2
Source: https://git.openstack.org/cgit/openstack/nova/tree/doc/source/install/controller-install-rdo.rst
URL: https://docs.openstack.org/nova/rocky/install/controller-install-rdo.html

** Affects: nova
     Importance: Undecided
     Assignee: Chason Chan (chen-xing)
         Status: New


** Tags: doc

** Changed in: nova
     Assignee: (unassigned) => Chason Chan (chen-xing)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1833650

Title:
  Populate nova databases failed with mysql access denied

Status in OpenStack Compute (nova):
  New

Bug description:
  Description
  ===========

  Fresh Install

  CentOS Linux release 7.6.1810 (Core)

  I followed "Install and configure controller node for Red Hat
  Enterprise Linux and CentOS" up to Install Nova on Controller, I
  configured Nova.conf and ran the DB commands. The following are
  failed:

  su -s /bin/sh -c "nova-manage api_db sync" nova
  su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
  su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
  su -s /bin/sh -c "nova-manage db sync" nova

  I have my fix:

  use "controller" instead of "localhost":

  GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'controller' \
    IDENTIFIED BY 'NOVA_DBPASS';

  Then I could run populate nova databases commands successfully.

  Steps to reproduce
  ===============

  1. Install CentOS Linux release 7.6.1810 (Core)
  2. Install Keystone
  4. Install Glance
  6. Install Nova
  7. Run the DB sync commands in order from the Docs
  Failure at > su -s /bin/sh -c "nova-manage db sync" nova and so on..

  Expected result
  ===============
  Nova database Populates without error

  Actual result
  =============
  Nova database does not populate and error thrown

  Environment
  ===========
  rocky

  Installed:
  openstack-nova-api.noarch 1:18.2.0-1.el7
  openstack-nova-conductor.noarch 1:18.2.0-1.el7
  openstack-nova-console.noarch 1:18.2.0-1.el7
  openstack-nova-novncproxy.noarch 1:18.2.0-1.el7
  openstack-nova-placement-api.noarch 1:18.2.0-1.el7
  openstack-nova-scheduler.noarch 1:18.2.0-1.el7

  Dependency Installed:
  novnc.noarch 0:0.5.1-2.el7
  openstack-nova-common.noarch 1:18.2.0-1.el7
  python-nova.noarch 1:18.2.0-1.el7
  python-websockify.noarch 0:0.8.0-1.el7
  python2-microversion-parse.noarch 0:0.2.1-1.el7
  python2-os-traits.noarch 0:0.9.0-1.el7
  python2-os-vif.noarch 0:1.11.1-1.el7           

  
  Logs & Configs
  ==============
  [root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
  An error has occurred:
  Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 2338, in main
      ret = fn(*fn_args, **fn_kwargs)
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 884, in sync
      result = migration.db_sync(version2, database='placement')
    File "/usr/lib/python2.7/site-packages/nova/db/migration.py", line 26, in db_sync
      return IMPL.db_sync(version=version, database=database, context=context)
    File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 57, in db_sync
      current_version = db_version(database, context=context)
    File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 70, in db_version
      return versioning_api.db_version(get_engine(database, context=context),
    File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 47, in get_engine
      return placement_db.get_placement_engine()
    File "/usr/lib/python2.7/site-packages/nova/api/openstack/placement/db_api.py", line 43, in get_placement_engine
      return placement_context_manager.get_legacy_facade().get_engine()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 803, in get_legacy_facade
      return self._factory.get_legacy_facade()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 352, in get_legacy_facade
      self._start()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 496, in _start
      engine_args, maker_args)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 520, in _setup_for_connection
      sql_connection=sql_connection, **engine_kwargs)
    File "/usr/lib/python2.7/site-packages/debtcollector/renames.py", line 43, in decorator
      return wrapped(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 202, in create_engine
      test_conn = _test_connection(engine, max_retries, retry_interval)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 380, in _test_connection
      return engine.connect()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2102, in connect
      return self._connection_cls(self, **kwargs)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 90, in __init__
      if connection is not None else engine.raw_connection()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2188, in raw_connection
      self.pool.unique_connection, _connection)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
      e, dialect, self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1472, in _handle_dbapi_exception_noconnection
      util.raise_from_cause(newraise, exc_info)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
      reraise(type(exception), exception, tb=exc_tb, cause=cause)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
      return fn()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 345, in unique_connection
      return _ConnectionFairy._checkout(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 788, in _checkout
      fairy = _ConnectionRecord.checkout(pool)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 532, in checkout
      rec = pool._do_get()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get
      self._dec_overflow()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
      compat.reraise(exc_type, exc_value, exc_tb)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1190, in _do_get
      return self._create_connection()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection
      return _ConnectionRecord(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 477, in __init__
      self.__connect(first_connect_check=True)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 671, in __connect
      connection = pool._invoke_creator(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect
      return dialect.connect(*cargs, **cparams)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 410, in connect
      return self.dbapi.connect(*cargs, **cparams)
    File "/usr/lib/python2.7/site-packages/pymysql/__init__.py", line 94, in Connect
      return Connection(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 327, in __init__
      self.connect()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 598, in connect
      self._request_authentication()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 862, in _request_authentication
      auth_packet = self._process_auth(plugin_name, auth_packet)
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 933, in _process_auth
      pkt = self._read_packet()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in _read_packet
      packet.check_error()
    File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in check_error
      err.raise_mysql_exception(self._data)
    File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
      raise errorclass(errno, errval)
  OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'placement'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)

  [root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
  An error has occurred:
  Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 2338, in main
      ret = fn(*fn_args, **fn_kwargs)
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1140, in map_cell0
      self._map_cell0(database_connection=database_connection)
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1174, in _map_cell0
      cell_mapping.create()
    File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 226, in wrapper
      return fn(self, *args, **kwargs)
    File "/usr/lib/python2.7/site-packages/nova/objects/cell_mapping.py", line 198, in create
      db_mapping = self._create_in_db(self._context, self.obj_get_changes())
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 992, in wrapper
      with self._transaction_scope(context):
    File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
      return self.gen.next()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1042, in _transaction_scope
      context=context) as resource:
    File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
      return self.gen.next()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 645, in _session
      bind=self.connection, mode=self.mode)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 409, in _create_session
      self._start()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 496, in _start
      engine_args, maker_args)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 520, in _setup_for_connection
      sql_connection=sql_connection, **engine_kwargs)
    File "/usr/lib/python2.7/site-packages/debtcollector/renames.py", line 43, in decorator
      return wrapped(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 202, in create_engine
      test_conn = _test_connection(engine, max_retries, retry_interval)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 380, in _test_connection
      return engine.connect()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2102, in connect
      return self._connection_cls(self, **kwargs)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 90, in __init__
      if connection is not None else engine.raw_connection()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2188, in raw_connection
      self.pool.unique_connection, _connection)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
      e, dialect, self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1472, in _handle_dbapi_exception_noconnection
      util.raise_from_cause(newraise, exc_info)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
      reraise(type(exception), exception, tb=exc_tb, cause=cause)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
      return fn()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 345, in unique_connection
      return _ConnectionFairy._checkout(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 788, in _checkout
      fairy = _ConnectionRecord.checkout(pool)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 532, in checkout
      rec = pool._do_get()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get
      self._dec_overflow()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
      compat.reraise(exc_type, exc_value, exc_tb)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1190, in _do_get
      return self._create_connection()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection
      return _ConnectionRecord(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 477, in __init__
      self.__connect(first_connect_check=True)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 671, in __connect
      connection = pool._invoke_creator(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect
      return dialect.connect(*cargs, **cparams)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 410, in connect
      return self.dbapi.connect(*cargs, **cparams)
    File "/usr/lib/python2.7/site-packages/pymysql/__init__.py", line 94, in Connect
      return Connection(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 327, in __init__
      self.connect()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 598, in connect
      self._request_authentication()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 862, in _request_authentication
      auth_packet = self._process_auth(plugin_name, auth_packet)
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 933, in _process_auth
      pkt = self._read_packet()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in _read_packet
      packet.check_error()
    File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in check_error
      err.raise_mysql_exception(self._data)
    File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
      raise errorclass(errno, errval)
  OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)

  [root@controller ~]# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
  An error has occurred:
  Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 2338, in main
      ret = fn(*fn_args, **fn_kwargs)
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1488, in create_cell
      None, transport_url, database_connection)):
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 1067, in _non_unique_transport_url_database_connection_checker
      for cell in objects.CellMappingList.get_all(ctxt):
    File "/usr/lib/python2.7/site-packages/oslo_versionedobjects/base.py", line 184, in wrapper
      result = fn(cls, context, *args, **kwargs)
    File "/usr/lib/python2.7/site-packages/nova/objects/cell_mapping.py", line 256, in get_all
      db_mappings = cls._get_all_from_db(context)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 992, in wrapper
      with self._transaction_scope(context):
    File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
      return self.gen.next()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1042, in _transaction_scope
      context=context) as resource:
    File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
      return self.gen.next()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 645, in _session
      bind=self.connection, mode=self.mode)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 409, in _create_session
      self._start()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 496, in _start
      engine_args, maker_args)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 520, in _setup_for_connection
      sql_connection=sql_connection, **engine_kwargs)
    File "/usr/lib/python2.7/site-packages/debtcollector/renames.py", line 43, in decorator
      return wrapped(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 202, in create_engine
      test_conn = _test_connection(engine, max_retries, retry_interval)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 380, in _test_connection
      return engine.connect()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2102, in connect
      return self._connection_cls(self, **kwargs)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 90, in __init__
      if connection is not None else engine.raw_connection()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2188, in raw_connection
      self.pool.unique_connection, _connection)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
      e, dialect, self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1472, in _handle_dbapi_exception_noconnection
      util.raise_from_cause(newraise, exc_info)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
      reraise(type(exception), exception, tb=exc_tb, cause=cause)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
      return fn()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 345, in unique_connection
      return _ConnectionFairy._checkout(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 788, in _checkout
      fairy = _ConnectionRecord.checkout(pool)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 532, in checkout
      rec = pool._do_get()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get
      self._dec_overflow()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
      compat.reraise(exc_type, exc_value, exc_tb)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1190, in _do_get
      return self._create_connection()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection
      return _ConnectionRecord(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 477, in __init__
      self.__connect(first_connect_check=True)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 671, in __connect
      connection = pool._invoke_creator(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect
      return dialect.connect(*cargs, **cparams)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 410, in connect
      return self.dbapi.connect(*cargs, **cparams)
    File "/usr/lib/python2.7/site-packages/pymysql/__init__.py", line 94, in Connect
      return Connection(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 327, in __init__
      self.connect()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 598, in connect
      self._request_authentication()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 862, in _request_authentication
      auth_packet = self._process_auth(plugin_name, auth_packet)
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 933, in _process_auth
      pkt = self._read_packet()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in _read_packet
      packet.check_error()
    File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in check_error
      err.raise_mysql_exception(self._data)
    File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
      raise errorclass(errno, errval)
  OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)

  [root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
  ERROR: Could not access cell0.
  Has the nova_api database been created?
  Has the nova_cell0 database been created?
  Has "nova-manage api_db sync" been run?
  Has "nova-manage cell_v2 map_cell0" been run?
  Is [api_database]/connection set in nova.conf?
  Is the cell0 database connection URL correct?
  Error: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)
  An error has occurred:
  Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 2338, in main
      ret = fn(*fn_args, **fn_kwargs)
    File "/usr/lib/python2.7/site-packages/nova/cmd/manage.py", line 491, in sync
      return migration.db_sync(version)
    File "/usr/lib/python2.7/site-packages/nova/db/migration.py", line 26, in db_sync
      return IMPL.db_sync(version=version, database=database, context=context)
    File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 57, in db_sync
      current_version = db_version(database, context=context)
    File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 70, in db_version
      return versioning_api.db_version(get_engine(database, context=context),
    File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/migration.py", line 43, in get_engine
      return db_session.get_engine(context=context)
    File "/usr/lib/python2.7/site-packages/nova/db/sqlalchemy/api.py", line 139, in get_engine
      return ctxt_mgr.writer.get_engine()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 814, in get_engine
      return self._factory.get_writer_engine()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 363, in get_writer_engine
      self._start()
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 496, in _start
      engine_args, maker_args)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 520, in _setup_for_connection
      sql_connection=sql_connection, **engine_kwargs)
    File "/usr/lib/python2.7/site-packages/debtcollector/renames.py", line 43, in decorator
      return wrapped(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 202, in create_engine
      test_conn = _test_connection(engine, max_retries, retry_interval)
    File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 380, in _test_connection
      return engine.connect()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2102, in connect
      return self._connection_cls(self, **kwargs)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 90, in __init__
      if connection is not None else engine.raw_connection()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2188, in raw_connection
      self.pool.unique_connection, _connection)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
      e, dialect, self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1472, in _handle_dbapi_exception_noconnection
      util.raise_from_cause(newraise, exc_info)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
      reraise(type(exception), exception, tb=exc_tb, cause=cause)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
      return fn()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 345, in unique_connection
      return _ConnectionFairy._checkout(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 788, in _checkout
      fairy = _ConnectionRecord.checkout(pool)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 532, in checkout
      rec = pool._do_get()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1193, in _do_get
      self._dec_overflow()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
      compat.reraise(exc_type, exc_value, exc_tb)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1190, in _do_get
      return self._create_connection()
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 350, in _create_connection
      return _ConnectionRecord(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 477, in __init__
      self.__connect(first_connect_check=True)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 671, in __connect
      connection = pool._invoke_creator(self)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 106, in connect
      return dialect.connect(*cargs, **cparams)
    File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 410, in connect
      return self.dbapi.connect(*cargs, **cparams)
    File "/usr/lib/python2.7/site-packages/pymysql/__init__.py", line 94, in Connect
      return Connection(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 327, in __init__
      self.connect()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 598, in connect
      self._request_authentication()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 862, in _request_authentication
      auth_packet = self._process_auth(plugin_name, auth_packet)
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 933, in _process_auth
      pkt = self._read_packet()
    File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 683, in _read_packet
      packet.check_error()
    File "/usr/lib/python2.7/site-packages/pymysql/protocol.py", line 220, in check_error
      err.raise_mysql_exception(self._data)
    File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
      raise errorclass(errno, errval)
  OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'controller' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)

  -----------------------------------
  Release: 18.2.1.dev95 on 2019-06-14 03:09
  SHA: d8f1bef63ab4357af2105431d3ea367100518aa2
  Source: https://git.openstack.org/cgit/openstack/nova/tree/doc/source/install/controller-install-rdo.rst
  URL: https://docs.openstack.org/nova/rocky/install/controller-install-rdo.html

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


Follow ups