Object Store container not accessible from the Web Gui

Solution Unverified - Updated -

Environment

  • Red Hat Enterprise Linux OpenStack Platform 4.0

Issue

  • Swift has been installed on the cluster. Assuming that the installation was successful as a container and files were added from the CLI and accessible. However, when an attempt is made to access the container link under Object Store in the Web Gui, the message "Something went wrong" is displayed. I have not been able to find any documentation around what could be producing this issue.

  • Traceback from /var/log/horizon/horizon.log

  2014-04-11 15:51:12,059 3484 ERROR django.request Internal Server Error: /dashboard/project/containers/
  Traceback (most recent call last):
  ...
  ...
  ...
   File "/usr/lib64/python2.6/socket.py", line 567, in create_connection
      raise error, msg
  error: [Errno 113] No route to host

Resolution

  • The keystone endpoints for swift are malformed.
    # keystone endpoint-list
    +----------------------------------+-----------+------------------------------------------------+-------------------------------------------+-------------------------------------------+----------------------------------+
    |                id                |   region  |                   publicurl                    |                internalurl                |                  adminurl                 |            service_id            |
    +----------------------------------+-----------+------------------------------------------------+-------------------------------------------+-------------------------------------------+----------------------------------+
    | 9105bbbe943d41529de3bfeaef7c34fd | RegionOne | http://XX.XX.XX.10:8080/v1/AUTH_%(tenant_id)s |     http://XX.XX.XX.10:8080/v1/AUTH_s    |        http://XX.XX.XX.10:8080/v1        | 12f18a54c8824c5fb9877c1515ca220d |
    +----------------------------------+-----------+------------------------------------------------+-------------------------------------------+-------------------------------------------+----------------------------------+
  • The endpoint needs to be deleted and recreated properly.
    # keystone endpoint-delete 9105bbbe943d41529de3bfeaef7c34fd 
    # keystone endpoint-create --service-id 12f18a54c8824c5fb9877c1515ca220d --publicurl "http://XX.XX.XX.10:8080/v1/AUTH_%(tenant_id)s" --internalurl "http://XX.XX.XX.10:8080/v1/AUTH_%(tenant_id)s" --adminurl "http://XX.XX.XX.10:8080/v1/AUTH_%(tenant_id)s"

Diagnostic Steps

  • Trace backs from /var/log/horizon/horizon.log on controller
2014-04-07 19:51:22,279 3484 DEBUG openstack_dashboard.api.cinder cinderclient connection created using token "7e3e6add9bb3ffcc643cb5a4ff300c61" and url "http://xx.xx.xx.11:8776/v1/4bce75a0bba240f2ba59ab3986d5a3dc"
    2014-04-07 19:51:22,691 3484 ERROR swiftclient [Errno 113] No route to host
    Traceback (most recent call last):
      File "/usr/lib/python2.6/site-packages/swiftclient/client.py", line 1108, in _retry
        rv = func(self.url, self.token, *args, **kwargs)
      File "/usr/lib/python2.6/site-packages/swiftclient/client.py", line 353, in get_account
        end_marker, http_conn)
      File "/usr/lib/python2.6/site-packages/swiftclient/client.py", line 376, in get_account
        conn.request(method, full_path, '', headers)
      File "/usr/lib/python2.6/site-packages/swiftclient/client.py", line 165, in request_escaped
        func(method, url, body=body, headers=headers or {})
      File "/usr/lib64/python2.6/httplib.py", line 914, in request
        self._send_request(method, url, body, headers)
      File "/usr/lib64/python2.6/httplib.py", line 951, in _send_request
        self.endheaders()
      File "/usr/lib64/python2.6/httplib.py", line 908, in endheaders
        self._send_output()
      File "/usr/lib64/python2.6/httplib.py", line 780, in _send_output
        self.send(msg)
      File "/usr/lib64/python2.6/httplib.py", line 739, in send
        self.connect()
      File "/usr/lib64/python2.6/httplib.py", line 720, in connect
        self.timeout)
      File "/usr/lib64/python2.6/socket.py", line 567, in create_connection
        raise error, msg
    error: [Errno 113] No route to host
  • errors from swift node /var/log/messages
    Apr 11 12:11:37  proxy-server Starting keystone auth_token middleware
    Apr 11 12:11:37 proxy-server Configuring auth_uri to point to the public identity endpoint is required; clients may not be able to authenticate against an admin endpoint
    Apr 11 12:11:37  proxy-server Using /tmp/keystone-signing-swift as cache directory for signing certificate
    ....
    Apr  7 16:44:39 account-server XX.XX.XX.10 - - [07/Apr/2014:20:44:39 +0000] "GET /d5/1687/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc" 200 43 "txa9490f530abc4ff0b4f08-0053430e37" "GET http://XX.XX.XX.10:8080/v1/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc?format=json" "proxy-server 28468" 0.0039 ""
    Apr  7 16:44:39  proxy-server STDOUT: ERROR:root:Error talking to memcached: 127.0.0.1:11211#012Traceback (most recent call last):#012  File "/usr/lib/python2.6/site-packages/swift/common/memcached.py", line 262, in set#012    (key, flags, timeout, len(value), value))#012  File "/usr/lib/python2.6/site-packages/eventlet/greenio.py", line 309, in sendall#012    tail = self.send(data, flags)#012  File "/usr/lib/python2.6/site-packages/eventlet/greenio.py", line 295, in send#012    total_sent += fd.send(data[total_sent:], flags)#012error: [Errno 32] Broken pipe (txn: txa9490f530abc4ff0b4f08-0053430e37) (client_ip: XX.XX.XX.10)
    Apr  7 16:44:39  account-server XX.XX.XX.10 - - [07/Apr/2014:20:44:39 +0000] "GET /d5/1687/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc" 200 2 "txcee0e4614767404b81f97-0053430e37" "GET http://XX.XX.XX.10:8080/v1/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc?format=json&marker=c1" "proxy-server 28469" 0.0036 ""
    Apr  7 16:44:39  proxy-server STDOUT: ERROR:root:Error talking to memcached: 127.0.0.1:11211#012Traceback (most recent call last):#012  File "/usr/lib/python2.6/site-packages/swift/common/memcached.py", line 262, in set#012    (key, flags, timeout, len(value), value))#012  File "/usr/lib/python2.6/site-packages/eventlet/greenio.py", line 309, in sendall#012    tail = self.send(data, flags)#012  File "/usr/lib/python2.6/site-packages/eventlet/greenio.py", line 295, in send#012    total_sent += fd.send(data[total_sent:], flags)#012error: [Errno 32] Broken pipe (txn: txcee0e4614767404b81f97-0053430e37) (client_ip: XX.XX.XX.10)
    Apr  7 16:44:52  proxy-server STDOUT: ERROR:root:Error talking to memcached: 127.0.0.1:11211#012Traceback (most recent call last):#012  File "/usr/lib/python2.6/site-packages/swift/common/memcached.py", line 286, in get#012    while line[0].upper() != 'END':#012IndexError: list index out of range (txn: tx87efc11f48a448fca7f74-0053430e44) (client_ip: XX.XX.XX.10)
    Apr  7 16:44:52  account-server XX.XX.XX.10 - - [07/Apr/2014:20:44:52 +0000] "HEAD /d9/1687/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc" 204 - "tx87efc11f48a448fca7f74-0053430e44" "HEAD http://XX.XX.XX.10:8080/v1/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc" "proxy-server 28465" 0.0029 ""
    Apr  7 16:44:52  container-server XX.XX.XX.10 - - [07/Apr/2014:20:44:52 +0000] "GET /d9/1805/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc/c1" 200 522 "tx87efc11f48a448fca7f74-0053430e44" "GET http://XX.XX.XX.10:8080/v1/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc/c1?format=json" "proxy-server 28465" 0.0039
    Apr  7 16:44:52  proxy-server STDOUT: ERROR:root:Error talking to memcached: 127.0.0.1:11211#012Traceback (most recent call last):#012  File "/usr/lib/python2.6/site-packages/swift/common/memcached.py", line 286, in get#012    while line[0].upper() != 'END':#012IndexError: list index out of range (txn: tx4dea29ac15864a3da9351-0053430e44) (client_ip: XX.XX.XX.10)
    Apr  7 16:44:52  account-server XX.XX.XX.10 - - [07/Apr/2014:20:44:52 +0000] "HEAD /d5/1687/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc" 204 - "tx4dea29ac15864a3da9351-0053430e44" "HEAD http://XX.XX.XX.10:8080/v1/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc" "proxy-server 28462" 0.0028 ""
    Apr  7 16:44:52  container-server XX.XX.XX.10 - - [07/Apr/2014:20:44:52 +0000] "GET /d3/1805/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc/c1" 200 2 "tx4dea29ac15864a3da9351-0053430e44" "GET http://XX.XX.XX.10:8080/v1/AUTH_4bce75a0bba240f2ba59ab3986d5a3dc/c1?format=json&marker=data3.file" "proxy-server 28462" 0.0036

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments