← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1760610] [NEW] Install and configure (Ubuntu) in glance

 

Public bug reported:

In step 2 of install and configure Glance components,

[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
...

Should be changed to:

[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:5000

as per admin-openrc specifications.

Without changing this, the installation guide leads the user to a
HTTP500 when accessing the image service

This bug tracker is for errors with the documentation, use the following
as a template and remove or add fields as you see fit. Convert [ ] into
[x] to check boxes:

- [x] This doc is inaccurate in this way: ______
- [ ] This is a doc addition request.
- [x] I have a fix to the document that I can paste below including example: input and output. 

If you have a troubleshooting or support issue, use the following
resources:

 - Ask OpenStack: http://ask.openstack.org
 - The mailing list: http://lists.openstack.org
 - IRC: 'openstack' channel on Freenode

root@controller:~# openstack image create "cirros" \
>   --file cirros-0.3.5-x86_64-disk.img \
>   --disk-format qcow2 --container-format bare \
>   --public

HTTPInternalServerError (HTTP 500)
root@controller:~#
root@controller:~# cat /var/log/glance/glance-api.log
2018-04-02 05:46:19.941 25230 INFO glance.common.wsgi [-] Starting 4 workers
2018-04-02 05:46:19.944 25230 INFO glance.common.wsgi [-] Started child 25365
2018-04-02 05:46:19.946 25365 INFO eventlet.wsgi.server [-] (25365) wsgi starting up on http://0.0.0.0:9292
2018-04-02 05:46:19.948 25230 INFO glance.common.wsgi [-] Started child 25366
2018-04-02 05:46:19.950 25366 INFO eventlet.wsgi.server [-] (25366) wsgi starting up on http://0.0.0.0:9292
2018-04-02 05:46:19.952 25230 INFO glance.common.wsgi [-] Started child 25367
2018-04-02 05:46:19.954 25367 INFO eventlet.wsgi.server [-] (25367) wsgi starting up on http://0.0.0.0:9292
2018-04-02 05:46:19.955 25230 INFO glance.common.wsgi [-] Started child 25368
2018-04-02 05:46:19.958 25368 INFO eventlet.wsgi.server [-] (25368) wsgi starting up on http://0.0.0.0:9292
2018-04-02 05:52:16.759 25575 WARNING keystonemiddleware._common.config [-] The option "__file__" in conf is not known to auth_token
2018-04-02 05:52:16.759 25575 WARNING keystonemiddleware._common.config [-] The option "here" in conf is not known to auth_token
2018-04-02 05:52:16.763 25575 WARNING keystonemiddleware.auth_token [-] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True.
2018-04-02 05:52:16.767 25575 WARNING oslo_config.cfg [-] Option "auth_uri" from group "keystone_authtoken" is deprecated. Use option "www_authenticate_uri" from group "keystone_authtoken".
2018-04-02 05:52:16.825 25575 INFO glance.common.wsgi [-] Starting 4 workers
2018-04-02 05:52:16.827 25575 INFO glance.common.wsgi [-] Started child 25587
2018-04-02 05:52:16.829 25587 INFO eventlet.wsgi.server [-] (25587) wsgi starting up on http://0.0.0.0:9292
2018-04-02 05:52:16.831 25575 INFO glance.common.wsgi [-] Started child 25588
2018-04-02 05:52:16.832 25588 INFO eventlet.wsgi.server [-] (25588) wsgi starting up on http://0.0.0.0:9292
2018-04-02 05:52:16.834 25575 INFO glance.common.wsgi [-] Started child 25589
2018-04-02 05:52:16.836 25589 INFO eventlet.wsgi.server [-] (25589) wsgi starting up on http://0.0.0.0:9292
2018-04-02 05:52:16.838 25575 INFO glance.common.wsgi [-] Started child 25590
2018-04-02 05:52:16.839 25590 INFO eventlet.wsgi.server [-] (25590) wsgi starting up on http://0.0.0.0:9292
2018-04-02 05:52:42.616 25590 WARNING keystoneauth.identity.generic.base [-] Failed to discover available identity versions when contacting http://controller:35357. Attempting to parse version from URL.: ConnectFailure: Unable to establish connection to http://controller:35357: HTTPConnectionPool(host='controller', port=35357): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f33da90bd10>: Failed to establish a new connection: [Errno 111] ECONNREFUSED',))
2018-04-02 05:52:42.620 25590 INFO eventlet.wsgi.server [-] Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 481, in handle_one_response
    result = self.application(self.environ, start_response)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/oslo_middleware/base.py", line 131, in __call__
    response = req.get_response(self.application)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/oslo_middleware/base.py", line 131, in __call__
    response = req.get_response(self.application)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/oslo_middleware/base.py", line 131, in __call__
    response = req.get_response(self.application)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 809, in __call__
    response = req.get_response(self.application)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/osprofiler/web.py", line 119, in __call__
    return request.get_response(self.application)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 334, in __call__
    response = self.process_request(req)
  File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 633, in process_request
    resp = super(AuthProtocol, self).process_request(request)
  File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 407, in process_request
    allow_expired=allow_expired)
  File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 440, in _do_fetch_token
    data = self.fetch_token(token, **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 772, in fetch_token
    allow_expired=allow_expired)
  File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/_identity.py", line 219, in verify_token
    auth_ref = self._request_strategy.verify_token(
  File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/_identity.py", line 170, in _request_strategy
    strategy_class = self._get_strategy_class()
  File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/_identity.py", line 192, in _get_strategy_class
    if self._adapter.get_endpoint(version=klass.AUTH_VERSION):
  File "/usr/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 223, in get_endpoint
    return self.session.get_endpoint(auth or self.auth, **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystoneauth1/session.py", line 942, in get_endpoint
    return auth.get_endpoint(self, **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/base.py", line 379, in get_endpoint
    allow_version_hack=allow_version_hack, **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/base.py", line 270, in get_endpoint_data
    service_catalog = self.get_access(session).service_catalog
  File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/base.py", line 134, in get_access
    self.auth_ref = self.get_auth_ref(session)
  File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/generic/base.py", line 199, in get_auth_ref
    self._plugin = self._do_create_plugin(session)
  File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/generic/base.py", line 194, in _do_create_plugin
    raise exceptions.DiscoveryFailure('Could not determine a suitable URL '
DiscoveryFailure: Could not determine a suitable URL for the plugin

2018-04-02 05:52:42.620 25590 INFO eventlet.wsgi.server [-] 10.0.0.11 - - [02/Apr/2018 05:52:42] "GET /v2/schemas/image HTTP/1.1" 500 139 0.015953
root@controller:~# openstack image list
Internal Server Error (HTTP 500)
root@controller:~# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 55
Server version: 10.0.34-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

MariaDB [(none)]> use glance;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [glance]> show tables;
+----------------------------------+
| Tables_in_glance                 |
+----------------------------------+
| alembic_version                  |
| image_locations                  |
| image_members                    |
| image_properties                 |
| image_tags                       |
| images                           |
| metadef_namespace_resource_types |
| metadef_namespaces               |
| metadef_objects                  |
| metadef_properties               |
| metadef_resource_types           |
| metadef_tags                     |
| migrate_version                  |
| task_info                        |
| tasks                            |
+----------------------------------+
15 rows in set (0.00 sec)

MariaDB [glance]> Bye
root@controller:~# openstack endpoint list
+----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
| ID                               | Region    | Service Name | Service Type | Enabled | Interface | URL                        |
+----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
| 0a400ccdfa894f7d95174c8bd177ebf5 | RegionOne | glance       | image        | True    | public    | http://controller:9292     |
| 18e5113158cc4d1182fd2accc0ee78c7 | RegionOne | glance       | image        | True    | internal  | http://controller:9292     |
| 47a89422500d413e932e0b7d95f1908a | RegionOne | glance       | image        | True    | admin     | http://controller:9292     |
| a35d6ece641a4a17badee919bf08ab9d | RegionOne | keystone     | identity     | True    | admin     | http://controller:5000/v3/ |
| c68db219b69941b8bf8f6c5a6a8d0e81 | RegionOne | keystone     | identity     | True    | public    | http://controller:5000/v3/ |
| f0d21b8e8c5548fb9ba3d2bff2ca1624 | RegionOne | keystone     | identity     | True    | internal  | http://controller:5000/v3/ |
+----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
root@controller:~# nano /etc/glance/glance-api.conf
root@controller:~# nano /etc/glance/glance-registry.conf
root@controller:~# service glance-api restart
root@controller:~# service glance-registry restart
root@controller:~# openstack image list

root@controller:~# openstack image create "cirros"   --file cirros-0.3.5-x86_64-disk.img   --disk-format qcow2 --container-format bare   --public
+------------------+------------------------------------------------------+
| Field            | Value                                                |
+------------------+------------------------------------------------------+
| checksum         | f8ab98ff5e73ebab884d80c9dc9c7290                     |
| container_format | bare                                                 |
| created_at       | 2018-04-02T12:59:13Z                                 |
| disk_format      | qcow2                                                |
| file             | /v2/images/5f3eaded-8df5-4d5f-bddf-52972016de57/file |
| id               | 5f3eaded-8df5-4d5f-bddf-52972016de57                 |
| min_disk         | 0                                                    |
| min_ram          | 0                                                    |
| name             | cirros                                               |
| owner            | bb959f4ce7d74ceaa4bb46fae7758ffd                     |
| protected        | False                                                |
| schema           | /v2/schemas/image                                    |
| size             | 13267968                                             |
| status           | active                                               |
| tags             |                                                      |
| updated_at       | 2018-04-02T12:59:13Z                                 |
| virtual_size     | None                                                 |
| visibility       | public                                               |
+------------------+------------------------------------------------------+


-----------------------------------
Release: 16.0.1.dev3 on 'Fri Mar 9 13:06:47 2018, commit 2221868'
SHA: 2221868690e004a74de313fb2cba41045fe99bc8
Source: https://git.openstack.org/cgit/openstack/glance/tree/doc/source/install/install-ubuntu.rst
URL: https://docs.openstack.org/glance/queens/install/install-ubuntu.html

** Affects: glance
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1760610

Title:
  Install and configure (Ubuntu) in glance

Status in Glance:
  New

Bug description:
  In step 2 of install and configure Glance components,

  [keystone_authtoken]
  # ...
  auth_uri = http://controller:5000
  auth_url = http://controller:35357
  ...

  Should be changed to:

  [keystone_authtoken]
  # ...
  auth_uri = http://controller:5000
  auth_url = http://controller:5000

  as per admin-openrc specifications.

  Without changing this, the installation guide leads the user to a
  HTTP500 when accessing the image service

  This bug tracker is for errors with the documentation, use the
  following as a template and remove or add fields as you see fit.
  Convert [ ] into [x] to check boxes:

  - [x] This doc is inaccurate in this way: ______
  - [ ] This is a doc addition request.
  - [x] I have a fix to the document that I can paste below including example: input and output. 

  If you have a troubleshooting or support issue, use the following
  resources:

   - Ask OpenStack: http://ask.openstack.org
   - The mailing list: http://lists.openstack.org
   - IRC: 'openstack' channel on Freenode

  root@controller:~# openstack image create "cirros" \
  >   --file cirros-0.3.5-x86_64-disk.img \
  >   --disk-format qcow2 --container-format bare \
  >   --public

  HTTPInternalServerError (HTTP 500)
  root@controller:~#
  root@controller:~# cat /var/log/glance/glance-api.log
  2018-04-02 05:46:19.941 25230 INFO glance.common.wsgi [-] Starting 4 workers
  2018-04-02 05:46:19.944 25230 INFO glance.common.wsgi [-] Started child 25365
  2018-04-02 05:46:19.946 25365 INFO eventlet.wsgi.server [-] (25365) wsgi starting up on http://0.0.0.0:9292
  2018-04-02 05:46:19.948 25230 INFO glance.common.wsgi [-] Started child 25366
  2018-04-02 05:46:19.950 25366 INFO eventlet.wsgi.server [-] (25366) wsgi starting up on http://0.0.0.0:9292
  2018-04-02 05:46:19.952 25230 INFO glance.common.wsgi [-] Started child 25367
  2018-04-02 05:46:19.954 25367 INFO eventlet.wsgi.server [-] (25367) wsgi starting up on http://0.0.0.0:9292
  2018-04-02 05:46:19.955 25230 INFO glance.common.wsgi [-] Started child 25368
  2018-04-02 05:46:19.958 25368 INFO eventlet.wsgi.server [-] (25368) wsgi starting up on http://0.0.0.0:9292
  2018-04-02 05:52:16.759 25575 WARNING keystonemiddleware._common.config [-] The option "__file__" in conf is not known to auth_token
  2018-04-02 05:52:16.759 25575 WARNING keystonemiddleware._common.config [-] The option "here" in conf is not known to auth_token
  2018-04-02 05:52:16.763 25575 WARNING keystonemiddleware.auth_token [-] AuthToken middleware is set with keystone_authtoken.service_token_roles_required set to False. This is backwards compatible but deprecated behaviour. Please set this to True.
  2018-04-02 05:52:16.767 25575 WARNING oslo_config.cfg [-] Option "auth_uri" from group "keystone_authtoken" is deprecated. Use option "www_authenticate_uri" from group "keystone_authtoken".
  2018-04-02 05:52:16.825 25575 INFO glance.common.wsgi [-] Starting 4 workers
  2018-04-02 05:52:16.827 25575 INFO glance.common.wsgi [-] Started child 25587
  2018-04-02 05:52:16.829 25587 INFO eventlet.wsgi.server [-] (25587) wsgi starting up on http://0.0.0.0:9292
  2018-04-02 05:52:16.831 25575 INFO glance.common.wsgi [-] Started child 25588
  2018-04-02 05:52:16.832 25588 INFO eventlet.wsgi.server [-] (25588) wsgi starting up on http://0.0.0.0:9292
  2018-04-02 05:52:16.834 25575 INFO glance.common.wsgi [-] Started child 25589
  2018-04-02 05:52:16.836 25589 INFO eventlet.wsgi.server [-] (25589) wsgi starting up on http://0.0.0.0:9292
  2018-04-02 05:52:16.838 25575 INFO glance.common.wsgi [-] Started child 25590
  2018-04-02 05:52:16.839 25590 INFO eventlet.wsgi.server [-] (25590) wsgi starting up on http://0.0.0.0:9292
  2018-04-02 05:52:42.616 25590 WARNING keystoneauth.identity.generic.base [-] Failed to discover available identity versions when contacting http://controller:35357. Attempting to parse version from URL.: ConnectFailure: Unable to establish connection to http://controller:35357: HTTPConnectionPool(host='controller', port=35357): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f33da90bd10>: Failed to establish a new connection: [Errno 111] ECONNREFUSED',))
  2018-04-02 05:52:42.620 25590 INFO eventlet.wsgi.server [-] Traceback (most recent call last):
    File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 481, in handle_one_response
      result = self.application(self.environ, start_response)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/oslo_middleware/base.py", line 131, in __call__
      response = req.get_response(self.application)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
      application, catch_exc_info=False)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
      app_iter = application(self.environ, start_response)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/oslo_middleware/base.py", line 131, in __call__
      response = req.get_response(self.application)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
      application, catch_exc_info=False)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
      app_iter = application(self.environ, start_response)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/oslo_middleware/base.py", line 131, in __call__
      response = req.get_response(self.application)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
      application, catch_exc_info=False)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
      app_iter = application(self.environ, start_response)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/glance/common/wsgi.py", line 809, in __call__
      response = req.get_response(self.application)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
      application, catch_exc_info=False)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
      app_iter = application(self.environ, start_response)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/osprofiler/web.py", line 119, in __call__
      return request.get_response(self.application)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1316, in send
      application, catch_exc_info=False)
    File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1280, in call_application
      app_iter = application(self.environ, start_response)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 131, in __call__
      resp = self.call_func(req, *args, **self.kwargs)
    File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 196, in call_func
      return self.func(req, *args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 334, in __call__
      response = self.process_request(req)
    File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 633, in process_request
      resp = super(AuthProtocol, self).process_request(request)
    File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 407, in process_request
      allow_expired=allow_expired)
    File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 440, in _do_fetch_token
      data = self.fetch_token(token, **kwargs)
    File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/__init__.py", line 772, in fetch_token
      allow_expired=allow_expired)
    File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/_identity.py", line 219, in verify_token
      auth_ref = self._request_strategy.verify_token(
    File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/_identity.py", line 170, in _request_strategy
      strategy_class = self._get_strategy_class()
    File "/usr/lib/python2.7/dist-packages/keystonemiddleware/auth_token/_identity.py", line 192, in _get_strategy_class
      if self._adapter.get_endpoint(version=klass.AUTH_VERSION):
    File "/usr/lib/python2.7/dist-packages/keystoneauth1/adapter.py", line 223, in get_endpoint
      return self.session.get_endpoint(auth or self.auth, **kwargs)
    File "/usr/lib/python2.7/dist-packages/keystoneauth1/session.py", line 942, in get_endpoint
      return auth.get_endpoint(self, **kwargs)
    File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/base.py", line 379, in get_endpoint
      allow_version_hack=allow_version_hack, **kwargs)
    File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/base.py", line 270, in get_endpoint_data
      service_catalog = self.get_access(session).service_catalog
    File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/base.py", line 134, in get_access
      self.auth_ref = self.get_auth_ref(session)
    File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/generic/base.py", line 199, in get_auth_ref
      self._plugin = self._do_create_plugin(session)
    File "/usr/lib/python2.7/dist-packages/keystoneauth1/identity/generic/base.py", line 194, in _do_create_plugin
      raise exceptions.DiscoveryFailure('Could not determine a suitable URL '
  DiscoveryFailure: Could not determine a suitable URL for the plugin

  2018-04-02 05:52:42.620 25590 INFO eventlet.wsgi.server [-] 10.0.0.11 - - [02/Apr/2018 05:52:42] "GET /v2/schemas/image HTTP/1.1" 500 139 0.015953
  root@controller:~# openstack image list
  Internal Server Error (HTTP 500)
  root@controller:~# mysql
  Welcome to the MariaDB monitor.  Commands end with ; or \g.
  Your MariaDB connection id is 55
  Server version: 10.0.34-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04

  Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

  Type 'help;' or '\h' for help. Type '\c' to clear the current input
  statement.

  MariaDB [(none)]> use glance;
  Reading table information for completion of table and column names
  You can turn off this feature to get a quicker startup with -A

  Database changed
  MariaDB [glance]> show tables;
  +----------------------------------+
  | Tables_in_glance                 |
  +----------------------------------+
  | alembic_version                  |
  | image_locations                  |
  | image_members                    |
  | image_properties                 |
  | image_tags                       |
  | images                           |
  | metadef_namespace_resource_types |
  | metadef_namespaces               |
  | metadef_objects                  |
  | metadef_properties               |
  | metadef_resource_types           |
  | metadef_tags                     |
  | migrate_version                  |
  | task_info                        |
  | tasks                            |
  +----------------------------------+
  15 rows in set (0.00 sec)

  MariaDB [glance]> Bye
  root@controller:~# openstack endpoint list
  +----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
  | ID                               | Region    | Service Name | Service Type | Enabled | Interface | URL                        |
  +----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
  | 0a400ccdfa894f7d95174c8bd177ebf5 | RegionOne | glance       | image        | True    | public    | http://controller:9292     |
  | 18e5113158cc4d1182fd2accc0ee78c7 | RegionOne | glance       | image        | True    | internal  | http://controller:9292     |
  | 47a89422500d413e932e0b7d95f1908a | RegionOne | glance       | image        | True    | admin     | http://controller:9292     |
  | a35d6ece641a4a17badee919bf08ab9d | RegionOne | keystone     | identity     | True    | admin     | http://controller:5000/v3/ |
  | c68db219b69941b8bf8f6c5a6a8d0e81 | RegionOne | keystone     | identity     | True    | public    | http://controller:5000/v3/ |
  | f0d21b8e8c5548fb9ba3d2bff2ca1624 | RegionOne | keystone     | identity     | True    | internal  | http://controller:5000/v3/ |
  +----------------------------------+-----------+--------------+--------------+---------+-----------+----------------------------+
  root@controller:~# nano /etc/glance/glance-api.conf
  root@controller:~# nano /etc/glance/glance-registry.conf
  root@controller:~# service glance-api restart
  root@controller:~# service glance-registry restart
  root@controller:~# openstack image list

  root@controller:~# openstack image create "cirros"   --file cirros-0.3.5-x86_64-disk.img   --disk-format qcow2 --container-format bare   --public
  +------------------+------------------------------------------------------+
  | Field            | Value                                                |
  +------------------+------------------------------------------------------+
  | checksum         | f8ab98ff5e73ebab884d80c9dc9c7290                     |
  | container_format | bare                                                 |
  | created_at       | 2018-04-02T12:59:13Z                                 |
  | disk_format      | qcow2                                                |
  | file             | /v2/images/5f3eaded-8df5-4d5f-bddf-52972016de57/file |
  | id               | 5f3eaded-8df5-4d5f-bddf-52972016de57                 |
  | min_disk         | 0                                                    |
  | min_ram          | 0                                                    |
  | name             | cirros                                               |
  | owner            | bb959f4ce7d74ceaa4bb46fae7758ffd                     |
  | protected        | False                                                |
  | schema           | /v2/schemas/image                                    |
  | size             | 13267968                                             |
  | status           | active                                               |
  | tags             |                                                      |
  | updated_at       | 2018-04-02T12:59:13Z                                 |
  | virtual_size     | None                                                 |
  | visibility       | public                                               |
  +------------------+------------------------------------------------------+

  
  -----------------------------------
  Release: 16.0.1.dev3 on 'Fri Mar 9 13:06:47 2018, commit 2221868'
  SHA: 2221868690e004a74de313fb2cba41045fe99bc8
  Source: https://git.openstack.org/cgit/openstack/glance/tree/doc/source/install/install-ubuntu.rst
  URL: https://docs.openstack.org/glance/queens/install/install-ubuntu.html

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