<div dir="ltr">Joerg,<div><br></div><div>The logs indicate that you have a problem connecting to MySQL. Verify that you are using the correct credentials to connect to the glance database. I am not sure if this a typo or just you modifying information from the configs to sanitize them, but you have:</div><div><br></div><div><span style="font-size:12.8px">connection = mysql://glance:xxxxxx@controll</span><span style="font-size:12.8px">er/glance</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">But the logs complain about:</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Access denied for user 'glance'@'localhost'</span><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Is your MySQL instance on the localhost?</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">It might be possible that you are not using the correct credentials. Our Liberty setup uses a separate section for the database:</span></div><div><span style="font-size:12.8px"><br></span></div><div><div><span style="font-size:12.8px">[database]</span></div><div><span style="font-size:12.8px">connection = mysql+pymysql://<a href="http://glance:password@192.168.254.1/glance">glance:password@192.168.254.1/glance</a></span></div><div><span style="font-size:12.8px">backend = sqlalchemy</span></div></div><div><br></div><div>Double check your connectivity using the mysql CLI and passing in the same variables you are using in your connection string:</div><div><br></div><div>mysql -h 192.168.254.1 -u glance -p</div><div><br></div><div>See if that works. If it does, start working your way up from there as you know you have the right credentials as far as MySQL is concerned and start looking elsewhere.</div><div><br></div><div>I suspect it might be the configuration of glance, but that's just a guess at this point.</div><div><br></div><div>Also one thing that bit us was max_connections in MySQL. We had working details, but MySQL was preventing additional connections due to being out of connection slots. Just mentioning it that there can be other reasons MYSQL might reject a connection other than username/password.</div><div><br></div><div>Good luck.</div><div><br></div><div>Tom Walsh</div><div>ExpressHosting.net</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 13, 2015 at 12:11 PM, Joerg Streckfuss <span dir="ltr"><<a href="mailto:openstack@dirtyhack.org" target="_blank">openstack@dirtyhack.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear list,<br>
<br>
i tried to install the image service on centos7 from openstack liberty. When i try to create an image i got the folliwing error:<br>
<br>
<snip><br>
# glance image-create --name "cirros" \<br>
  --file cirros-0.3.4-x86_64-disk.img  \<br>
  --disk-format qcow2 --container-format bare \<br>
  --visibility public --progress<br>
500 Internal Server Error: The server has either erred or is incapable of performing the requested operation. (HTTP 500)<br>
<snap><br>
<br>
glance-api.conf:<br>
<snip><br>
[DEFAULT]<br>
connection = mysql://glance:xxxxxx@controller/glance<br>
notification_driver = noop<br>
verbose = True<br>
<br>
[keystone_authtoken]<br>
auth_uri = <a href="http://controller:5000" rel="noreferrer" target="_blank">http://controller:5000</a><br>
auth_url = <a href="http://controller:35357" rel="noreferrer" target="_blank">http://controller:35357</a><br>
auth_plugin = password<br>
project_domain_id = default<br>
user_domain_id = default<br>
project_name = service<br>
username = glance<br>
password = xxxxxx<br>
<br>
[paste_deploy]<br>
flavor = keystone<br>
<br>
[glance_store]<br>
default_store = file<br>
filesystem_store_datadir = /var/lib/glance/images/<br>
<snap><br>
<br>
<br>
openstack-status gives me the folling output<br>
<br>
<snip><br>
# openstack-status<br>
== Glance services ==<br>
openstack-glance-api:                   active<br>
openstack-glance-registry:              active<br>
== Keystone service ==<br>
openstack-keystone:                     inactive  (disabled on boot)<br>
== Support services ==<br>
mysqld:                                 inactive  (disabled on boot)<br>
dbus:                                   active<br>
rabbitmq-server:                        active<br>
memcached:                              active<br>
== Keystone users ==<br>
/usr/lib/python2.7/site-packages/keystoneclient/shell.py:64: DeprecationWarning: The keystone CLI is deprecated in favor of python-openstackclient. For a Python library, continue using python-keystoneclient.<br>
  'python-keystoneclient.', DeprecationWarning)<br>
WARNING: unsupported identity-api-version 3, falling back to 2.0<br>
/usr/lib/python2.7/site-packages/keystoneclient/v2_0/client.py:145: DeprecationWarning: Constructing an instance of the keystoneclient.v2_0.client.Client class without a session is deprecated as of the 1.7.0 release and may be removed in the 2.0.0 release.<br>
  'the 2.0.0 release.', DeprecationWarning)<br>
/usr/lib/python2.7/site-packages/keystoneclient/v2_0/client.py:147: DeprecationWarning: Using the 'tenant_name' argument is deprecated in version '1.7.0' and will be removed in version '2.0.0', please use the 'project_name' argument instead<br>
  super(Client, self).__init__(**kwargs)<br>
/usr/lib/python2.7/site-packages/debtcollector/renames.py:43: DeprecationWarning: Using the 'tenant_id' argument is deprecated in version '1.7.0' and will be removed in version '2.0.0', please use the 'project_id' argument instead<br>
  return f(*args, **kwargs)<br>
/usr/lib/python2.7/site-packages/keystoneclient/httpclient.py:376: DeprecationWarning: Constructing an HTTPClient instance without using a session is deprecated as of the 1.7.0 release and may be removed in the 2.0.0 release.<br>
  'the 2.0.0 release.', DeprecationWarning)<br>
Authorization Failed: The resource could not be found. (HTTP 404) (Request-ID: req-99d108ad-edb3-4589-a7c1-85dc8e97f63a)<br>
== Glance images ==<br>
500 Internal Server Error: The server has either erred or is incapable of performing the requested operation. (HTTP 500)<br>
<snap><br>
<br>
in /var/log/glance/api.log i got the folling exception<br>
<br>
<snip><br>
2015-11-13 18:00:18.383 1458 INFO eventlet.wsgi.server [req-7e4bee11-b8d7-4dcf-a0a0-b2e98cf3593c 058f089c31e64370af9cb268c75da386 ff2149063f074c90bae7ea0f1dfcdfaf - - -] 10.11.12.230 - - [13/Nov/2015 18:00:18] "GET /v2/schemas/imag[45/89]<br>
1.1" 200 4117 2.556846<br>
2015-11-13 18:00:18.389 1458 INFO eventlet.wsgi.server [req-b0894879-3658-4bd7-ac23-73818a607628 058f089c31e64370af9cb268c75da386 ff2149063f074c90bae7ea0f1dfcdfaf - - -] 10.11.12.230 - - [13/Nov/2015 18:00:18] "GET /v2/schemas/image HTTP/<br>
1.1" 200 4117 0.003295<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi [req-76502a62-8c24-4b0a-828e-a0bf07733023 058f089c31e64370af9cb268c75da386 ff2149063f074c90bae7ea0f1dfcdfaf - - -] Caught error: (_mysql_exceptions.OperationalError) (1045, "Access den<br>
ied for user 'glance'@'localhost' (using password: YES)")<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi Traceback (most recent call last):<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/common/wsgi.py", line 879, in __call__<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     request, **action_args)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/common/wsgi.py", line 907, in dispatch<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return method(*args, **kwargs)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/common/utils.py", line 504, in wrapped<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return func(self, req, *args, **kwargs)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/api/v2/images.py", line 66, in create<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi image_repo.add(image)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 94, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     result = self.base.add(base_item)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/notifier.py", line 460, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi super(ImageRepoProxy, self).add(image)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 94, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     result = self.base.add(base_item)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/api/policy.py", line 131, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return super(ImageRepoProxy, self).add(image)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 94, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     result = self.base.add(base_item)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/quota/__init__.py", line 114, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return super(ImageRepoProxy, self).add(image)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 94, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     result = self.base.add(base_item)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/location.py", line 63, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     result = super(ImageRepoProxy, self).add(image)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/domain/proxy.py", line 94, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     result = self.base.add(base_item)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/db/__init__.py", line 261, in add<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     new_values = self.db_api.image_create(self.context, image_values)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 128, in image_create<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return _image_update(context, values, None, purge_props=False)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/retrying.py", line 68, in wrapped_f<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return Retrying(*dargs, **dkw).call(f, *args, **kw)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/retrying.py", line 223, in call<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return attempt.get(self._wrap_exception)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/retrying.py", line 261, in get<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi six.reraise(self.value[0], self.value[1], self.value[2])<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/retrying.py", line 217, in call<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     attempt = Attempt(fn(*args, **kwargs), attempt_number, False)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/common/utils.py", line 697, in wrapper<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return f(*args, **kwargs)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 708, in _image_update<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     session = get_session()<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 101, in get_session<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     facade = _create_facade_lazily()<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/glance/db/sqlalchemy/api.py", line 86, in _create_facade_lazily<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     _FACADE = session.EngineFacade.from_config(CONF)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 1015, in from_config<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi expire_on_commit=expire_on_commit, _conf=conf)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 943, in __init__<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi slave_connection=slave_connection)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 338, in _start<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     engine_args, maker_args)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py", line 362, in _setup_for_connection<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi sql_connection=sql_connection, **engine_kwargs)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 152, in create_engine<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     test_conn = _test_connection(engine, max_retries, retry_interval)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/engines.py", line 326, in _test_connection<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return engine.connect()<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2013, in connect<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return self._connection_cls(self, **kwargs)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 72, in __init__<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     if connection is not None else engine.raw_connection()<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2099, in raw_connection<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi self.pool.unique_connection, _connection)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2073, in _wrap_pool_connect<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     e, dialect, self)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1399, in _handle_dbapi_exception_noconnection<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi util.raise_from_cause(newraise, exc_info)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi reraise(type(exception), exception, tb=exc_tb)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 2069, in _wrap_pool_connect<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return fn()<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 318, in unique_connection<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return _ConnectionFairy._checkout(self)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 708, in _checkout<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     fairy = _ConnectionRecord.checkout(pool)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 480, in checkout<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     rec = pool._do_get()<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1049, in _do_get<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi self._dec_overflow()<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi compat.reraise(exc_type, exc_value, exc_tb)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 1046, in _do_get<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return self._create_connection()<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 323, in _create_connection<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return _ConnectionRecord(self)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 449, in __init__<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi self.connection = self.__connect()<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/pool.py", line 602, in __connect<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     connection = self.__pool._invoke_creator(self)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 97, in connect<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return dialect.connect(*cargs, **cparams)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 377, in connect<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return self.dbapi.connect(*cargs, **cparams)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi     return Connection(*args, **kwargs)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi   File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 187, in __init__<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi super(Connection, self).__init__(*args, **kwargs2)<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'glance'@'localhost' (using password: YES)")<br>
2015-11-13 18:00:18.511 1458 ERROR glance.common.wsgi<br>
2015-11-13 18:00:18.688 1458 INFO eventlet.wsgi.server [req-76502a62-8c24-4b0a-828e-a0bf07733023 058f089c31e64370af9cb268c75da386 ff2149063f074c90bae7ea0f1dfcdfaf - - -] 10.11.12.230 - - [13/Nov/2015 18:00:18] "POST /v2/images HTTP/1.1" 5<br>
<a href="tel:00%20454%200.222921" value="+4540222921" target="_blank">00 454 0.222921</a><br>
<snap><br>
<br>
<br>
What does the entry 'ERROR glance.common.wsgi OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'glance'@'localhost' (using password: YES)")' mean. Does it mean the password for the user glance in mysql does not match.<br>
<br>
I double checked it by setting it once more in the database but the error remains.<br>
<br>
Thanks,<br>
<br>
Joerg<br>
<br>
_______________________________________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org" target="_blank">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
</blockquote></div><br></div>