Object Store container not accessible from the Web Gui
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