<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>
<div>What does the [database] section of the configs look like?</div>
<div><br>
</div>
<div>Not only was the string changed but it was moved from the Default section to [database]:</div>
<div>
<div># The SQLAlchemy connection string used to connect to the</div>
<div># database (string value)</div>
<div># Deprecated group/name - [DEFAULT]/sql_connection</div>
<div># Deprecated group/name - [DATABASE]/sql_connection</div>
<div># Deprecated group/name - [sql]/connection</div>
<div>#connection = <None></div>
</div>
<div>
<div>
<div>____________________________________________</div>
<div> </div>
<div>Kris Lindgren</div>
<div>Senior Linux Systems Engineer</div>
<div>GoDaddy, LLC.</div>
</div>
<div><br>
</div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Nathan Stratton <<a href="mailto:nathan@robotics.net">nathan@robotics.net</a>><br>
<span style="font-weight:bold">Date: </span>Monday, March 23, 2015 at 8:50 AM<br>
<span style="font-weight:bold">To: </span>"openstack-oper." <<a href="mailto:openstack-operators@lists.openstack.org">openstack-operators@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>[Openstack-operators] Glance issues after rdo icehouse -> juno<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">Followed:
<div><a href="http://docs.openstack.org/openstack-ops/content/upgrade-icehouse-juno.html">http://docs.openstack.org/openstack-ops/content/upgrade-icehouse-juno.html</a></div>
<div><br>
</div>
<div>On the surface everything looked great, I can do a glance image-list, can import an image into glance, but I can't cinder create from glance --image-id. I get the following error:</div>
<div><br>
</div>
<div>
<div>2015-03-23 10:35:57.703 2954 INFO urllib3.connectionpool [-] Starting new HTTP connection (1): 10.71.0.218</div>
<div>2015-03-23 10:35:57.719 2954 INFO keystonemiddleware.auth_token [-] Auth Token confirmed use of v3.0 apis</div>
<div>2015-03-23 10:35:58.129 2954 INFO glance.wsgi.server [44e7b400-64bc-4042-a699-7bf6ed7118e5 b4397deb6a884a8c8e70fbc255ce6d80 0ebcdedac0a3480</div>
<div>ca81050bfedd97cf1 - - -] Traceback (most recent call last):</div>
<div>  File "/usr/lib/python2.7/site-packages/eventlet/wsgi.py", line 433, in handle_one_response</div>
<div>    result = self.application(self.environ, start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__</div>
<div>    resp = self.call_func(req, *args, **self.kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func</div>
<div>    return self.func(req, *args, **kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/common/wsgi.py", line 394, in __call__</div>
<div>    response = req.get_response(self.application)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1296, in send</div>
<div>    application, catch_exc_info=False)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1260, in call_application</div>
<div>    app_iter = application(self.environ, start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__</div>
<div>    resp = self.call_func(req, *args, **self.kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func</div>
<div>    return self.func(req, *args, **kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/osprofiler/web.py", line 99, in __call__</div>
<div>    return request.get_response(self.application)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1296, in send</div>
<div>    application, catch_exc_info=False)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1260, in call_application</div>
<div>    app_iter = application(self.environ, start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token.py", line 748, in __call__</div>
<div>    return self._call_app(env, start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token.py", line 684, in _call_app</div>
<div>    return self._app(env, _fake_start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__</div>
<div>    resp = self.call_func(req, *args, **self.kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func</div>
<div>    return self.func(req, *args, **kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/common/wsgi.py", line 394, in __call__</div>
<div>    response = req.get_response(self.application)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1296, in send</div>
<div>    application, catch_exc_info=False)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1260, in call_application</div>
<div>    app_iter = application(self.environ, start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/paste/urlmap.py", line 203, in __call__</div>
<div>    return app(environ, start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__</div>
<div>    return resp(environ, start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__</div>
<div>    response = self.app(environ, start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__</div>
<div>    return resp(environ, start_response)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__</div>
<div>    resp = self.call_func(req, *args, **self.kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func</div>
<div>    return self.func(req, *args, **kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/common/wsgi.py", line 683, in __call__</div>
<div>    request, **action_args)</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/common/wsgi.py", line 707, in dispatch</div>
<div>    return method(*args, **kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/api/v2/images.py", line 111, in show</div>
<div>    return image_repo.get(image_id)</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/api/authorization.py", line 106, in get</div>
<div>    image = self.image_repo.get(image_id)</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 86, in get</div>
<div>    return self.helper.proxy(self.base.get(item_id))</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/api/policy.py", line 179, in get</div>
<div>    return super(ImageRepoProxy, self).get(image_id)</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 86, in get</div>
<div>    return self.helper.proxy(self.base.get(item_id))</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 86, in get</div>
<div>    return self.helper.proxy(self.base.get(item_id))</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 86, in get</div>
<div>    return self.helper.proxy(self.base.get(item_id))</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/db/__init__.py", line 67, in get</div>
<div>    db_api_image = dict(self.db_api.image_get(self.context, image_id))</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 191, in image_get</div>
<div>    force_show_deleted=force_show_deleted)</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 214, in _image_get</div>
<div>    session = session or get_session()</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 97, in get_session</div>
<div>    facade = _create_facade_lazily()</div>
<div>  File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 82, in _create_facade_lazily</div>
<div>    _FACADE = session.EngineFacade.from_config(CONF)</div>
<div>  File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/session.py", line 816, in from_config</div>
<div>    retry_interval=conf.database.retry_interval)</div>
<div>  File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/session.py", line 732, in __init__</div>
<div>    **engine_kwargs)</div>
<div>  File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/session.py", line 409, in create_engine</div>
<div>    _test_connection(engine, max_retries, retry_interval)</div>
<div>  File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/session.py", line 549, in _test_connection</div>
<div>    return exc_filters.handle_connect_error(engine)</div>
<div>  File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/exc_filters.py", line 351, in handle_connect_error</div>
<div>    handler(ctx)</div>
<div>  File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/exc_filters.py", line 323, in handler</div>
<div>    context.is_disconnect)</div>
<div>  File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/exc_filters.py", line 254, in _raise_operational_errors_directly_filter</div>
<div>    raise operational_error</div>
<div>OperationalError: (OperationalError) (1045, "Access denied for user 'glance'@'localhost' (using password: YES)") None None</div>
<div><br>
</div>
<div>I also found I can't even do a simple glance-manage db_sync because of the same error:</div>
<div><br>
</div>
<div>
<div>2015-03-23 10:36:28.212 3497 CRITICAL glance [-] OperationalError: (OperationalError) (1045, "Access denied for user 'glance'@'localhost' (</div>
<div>using password: YES)") None None</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance Traceback (most recent call last):</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/bin/glance-manage", line 10, in <module></div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     sys.exit(main())</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 279, in main</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     return CONF.command.action_fn()</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 157, in sync</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     CONF.command.current_version)</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/glance/cmd/manage.py", line 113, in sync</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     migration.db_sync(db_api.get_engine(),</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 92, in get_engine</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     facade = _create_facade_lazily()</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 82, in _create_facade</div>
<div>_lazily</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     _FACADE = session.EngineFacade.from_config(CONF)</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/session.py", line 816, in from_config</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     retry_interval=conf.database.retry_interval)</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/session.py", line 732, in __init__</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     **engine_kwargs)</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/session.py", line 409, in create_engi</div>
<div>ne</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     _test_connection(engine, max_retries, retry_interval)</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/session.py", line 549, in _test_conne</div>
<div>ction</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     return exc_filters.handle_connect_error(engine)</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/exc_filters.py", line 351, in handle_</div>
<div>connect_error</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     handler(ctx)</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/exc_filters.py", line 323, in handler</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     context.is_disconnect)</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance   File "/usr/lib/python2.7/site-packages/oslo/db/sqlalchemy/exc_filters.py", line 254, in _raise_</div>
<div>operational_errors_directly_filter</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance     raise operational_error</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance OperationalError: (OperationalError) (1045, "Access denied for user 'glance'@'localhost' (using p</div>
<div>assword: YES)") None None</div>
<div>2015-03-23 10:36:28.212 3497 TRACE glance </div>
</div>
<div><br>
</div>
<div>This all looks like sql issues, so I started digging and found that sql_connection was changed to just connection so I made that change in glance-api.conf and glance-registry.conf so it now looks like:</div>
<div>
<div class="gmail_signature"><br>
</div>
<div class="gmail_signature">connection=mysql://<a href="http://glance:be801f9b56ea40f4@10.71.0.218/glance">glance:be801f9b56ea40f4@10.71.0.218/glance</a><br>
</div>
<div class="gmail_signature"><br>
</div>
<div class="gmail_signature">If btw, I try connecting to mysql with that pass everything is fine:</div>
<div class="gmail_signature"><br>
</div>
<div class="gmail_signature">
<div class="gmail_signature">[root@nathan glance(keystone)]# mysql -uglance -pbe801f9b56ea40f4 -h10.71.0.218</div>
<div class="gmail_signature">Welcome to the MariaDB monitor.  Commands end with ; or \g.</div>
<div class="gmail_signature">Your MariaDB connection id is 66</div>
<div class="gmail_signature">Server version: 5.5.40-MariaDB-wsrep MariaDB Server, wsrep_25.11.r4026</div>
<div class="gmail_signature"><br>
</div>
<div class="gmail_signature">Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.</div>
<div class="gmail_signature"><br>
</div>
<div class="gmail_signature">Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.</div>
<div class="gmail_signature"><br>
</div>
<div class="gmail_signature">MariaDB [(none)]> </div>
</div>
<div class="gmail_signature"><br>
</div>
<div class="gmail_signature"><br>
</div>
<div class="gmail_signature"><br>
</div>
<div class="gmail_signature">><><br>
nathan stratton | vp technology | broadsoft, inc | +1-240-404-6580 | <a href="http://www.broadsoft.com" target="_blank">
www.broadsoft.com</a></div>
</div>
</div>
</div>
</div>
</div>
</span>
</body>
</html>