Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

swift stat fails - 401 Unauthorized - Openstack Kilo - CentOS 7

I have setup Openstack Swift Kilo on CentOS 7.1 and when I execute swift --debug -V 3 stat I get the following error:

Source environment variables

  [root@pc ~]# cat demo-openrc.sh 
    export OS_PROJECT_DOMAIN_ID=default
    export OS_USER_DOMAIN_ID=default
    export OS_PROJECT_NAME=demo
    export OS_TENANT_NAME=demo
    export OS_USERNAME=demo
    export OS_PASSWORD=demo
    export OS_AUTH_URL=http://haproxy:5000/v3

Execute swift stat with debug option

[root@pc ~]# swift --debug -V 3 stat
DEBUG:keystoneclient.auth.identity.v3.base:Making authentication request to http://haproxy:5000/v3/auth/tokens
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"POST /v3/auth/tokens HTTP/1.1" 201 1830
DEBUG:iso8601.iso8601:Parsed 2015-10-29T15:06:05.282615Z into {'tz_sign': None, 'second_fraction': u'282615', 'hour': u'15', 'daydash': u'29', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'05', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'10', 'day': None, 'minute': u'06'} with default timezone <iso8601.iso8601.Utc object at 0x7f8648020f50>
DEBUG:iso8601.iso8601:Got u'2015' for 'year' with default None
DEBUG:iso8601.iso8601:Got u'10' for 'monthdash' with default 1
DEBUG:iso8601.iso8601:Got 10 for 'month' with default 10
DEBUG:iso8601.iso8601:Got u'29' for 'daydash' with default 1
DEBUG:iso8601.iso8601:Got 29 for 'day' with default 29
DEBUG:iso8601.iso8601:Got u'15' for 'hour' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'minute' with default None
DEBUG:iso8601.iso8601:Got u'05' for 'second' with default None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.1" 401 0
INFO:swiftclient:REQ: curl -i http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c -I -H "X-Auth-Token: 1d3af4bb07944406b0b570e075f1b3bb"
INFO:swiftclient:RESP STATUS: 401 Unauthorized
INFO:swiftclient:RESP HEADERS: [('date', 'Thu, 29 Oct 2015 14:06:05 GMT'), ('content-length', '0'), ('content-type', 'text/html; charset=UTF-8'), ('www-authenticate', 'Swift realm="AUTH_1a176bed7c1e4168b3391a4ea502b47c", Keystone uri=\'http://haproxy:5000\''), ('x-trans-id', 'tx99dec9935335423b9c60f-00563227cd')]
DEBUG:keystoneclient.auth.identity.v3.base:Making authentication request to http://haproxy:5000/v3/auth/tokens
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"POST /v3/auth/tokens HTTP/1.1" 201 1830
DEBUG:iso8601.iso8601:Parsed 2015-10-29T15:06:06.318943Z into {'tz_sign': None, 'second_fraction': u'318943', 'hour': u'15', 'daydash': u'29', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'06', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'10', 'day': None, 'minute': u'06'} with default timezone <iso8601.iso8601.Utc object at 0x7f8648020f50>
DEBUG:iso8601.iso8601:Got u'2015' for 'year' with default None
DEBUG:iso8601.iso8601:Got u'10' for 'monthdash' with default 1
DEBUG:iso8601.iso8601:Got 10 for 'month' with default 10
DEBUG:iso8601.iso8601:Got u'29' for 'daydash' with default 1
DEBUG:iso8601.iso8601:Got 29 for 'day' with default 29
DEBUG:iso8601.iso8601:Got u'15' for 'hour' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'minute' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'second' with default None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.1" 401 0
INFO:swiftclient:REQ: curl -i http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c -I -H "X-Auth-Token: 429f0cd63e1b43678bc91cc497293544"
INFO:swiftclient:RESP STATUS: 401 Unauthorized
INFO:swiftclient:RESP HEADERS: [('date', 'Thu, 29 Oct 2015 14:06:06 GMT'), ('content-length', '0'), ('content-type', 'text/html; charset=UTF-8'), ('www-authenticate', 'Swift realm="AUTH_1a176bed7c1e4168b3391a4ea502b47c", Keystone uri=\'http://haproxy:5000\''), ('x-trans-id', 'txa8ce31acb85c433c8f79f-00563227ce')]
ERROR:swiftclient:Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 1261, in _retry
    rv = func(self.url, self.token, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 541, in head_account
    http_response_content=body)
ClientException: Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized
Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized

The /var/log/swift/swift.log throws the following error:

Oct 29 16:06:06 swiftsrv01 proxy-server: Removing headers from request environment: X-Service-Catalog,X-Identity-Status,X-Service-Identity-Status,X-Roles,X-Service-Roles,X-Domain-Name,X-Service-Domain-Name,X-Project-Id,X-Service-Project-Id,X-Project-Domain-Name,X-Service-Project-Domain-Name,X-User-Id,X-Service-User-Id,X-User-Name,X-Service-User-Name,X-Project-Name,X-Service-Project-Name,X-User-Domain-Id,X-Service-User-Domain-Id,X-Domain-Id,X-Service-Domain-Id,X-User-Domain-Name,X-Service-User-Domain-Name,X-Project-Domain-Id,X-Service-Project-Domain-Id,X-Role,X-User,X-Tenant-Name,X-Tenant-Id,X-Tenant
Oct 29 16:06:06 swiftsrv01 proxy-server: Authenticating user token
Oct 29 16:06:06 swiftsrv01 proxy-server: Token validation failure.#012Traceback (most recent call last):#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 771, in _validate_token#012    data = self._identity_server.verify_token(token, retry)#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 169, in verify_token#012    response, data = self._request_strategy.verify_token(user_token)#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 119, in _request_strategy#012    strategy_class = self._get_strategy_class()#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 142, in _get_strategy_class#012    if self._adapter.get_endpoint(version=klass.AUTH_VERSION):#012  File "/usr/lib/python2.7/site-packages/keystoneclient/adapter.py", line 129, in get_endpoint#012    return self.session.get_endpoint(auth or self.auth, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 635, in get_endpoint#012    return auth.get_endpoint(self, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 215, in get_endpoint#012    service_catalog = self.get_access(session).service_catalog#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 144, in get_access#012    self.auth_ref = self.get_auth_ref(session)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/generic/base.py", line 174, in get_auth_ref#012    self._plugin = self._do_create_plugin(session)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/generic/base.py", line 129, in _do_create_plugin#012    authenticated=False)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 299, in get_discovery#012    authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", liBlockquotene 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/_discover.py", line 142, in __init__#012    authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/_discover.py", line 40, in get_version_data#012    resp = session.get(url, headers=headers, authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 489, in get#012    return self.request(url, 'GET', **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 328, in request#012    if not urllib.parse.urlparse(url).netloc:#012  File "/usr/lib64/python2.7/urlparse.py", line 142, in urlparse#012    tuple = urlsplit(url, scheme, allow_fragments)#012  File "/usr/lib64/python2.7/urlparse.py", line 181, in urlsplit#012    i = url.find(':')#012AttributeError: 'NoneType' object has no attribute 'find'
Oct 29 16:06:06 swiftsrv01 proxy-server: Marking token as unauthorized in cache
Oct 29 16:06:06 swiftsrv01 proxy-server: Authorization failed for token
Oct 29 16:06:06 swiftsrv01 proxy-server: Invalid user token - deferring reject downstream
Oct 29 16:06:06 swiftsrv01 proxy-server: Authenticating service token
Oct 29 16:06:06 swiftsrv01 proxy-server: Received request from user: user_id None, project_id None, roles None service: user_id None, project_id None, roles None
Oct 29 16:06:06 swiftsrv01 proxy-server: Authorizing as anonymous (txn: txa8ce31acb85c433c8f79f-00563227ce)
Oct 29 16:06:06 swiftsrv01 proxy-server: 192.168.1.9 192.168.1.9 29/Oct/2015/14/06/06 HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.0 401 - python-swiftclient-2.4.0 429f0cd63e1b4367... - - - txa8ce31acb85c433c8f79f-00563227ce - 0.0044 - - 1446127566.532917023 1446127566.537308931 -

Environment Setup:

2 Swift Nodes with Proxy/Keystone/memcache/RabbitMQ/MySQL/httpd installed in Active/Active Mode (except MySQL which is active/backup) 2 Nodes running HAproxy/Keepalived as a Load Balancer 2 Storage Nodes.

All nodes are running CentOS 7.1 fully updated.

The Environment has been setup by following the official guide for Openstack Kilo step by step (http://docs.openstack.org/kilo/install-guide/install/yum/content/).

Can you please help me on this? If you need any other information regarding the configuration please let me know.

Thank you,

Zois

swift stat fails - 401 Unauthorized - Openstack Kilo - CentOS 7

I have setup Openstack Swift Kilo on CentOS 7.1 and when I execute swift --debug -V 3 stat I get the following error:

Source environment variables

  [root@pc ~]# cat demo-openrc.sh 
    export OS_PROJECT_DOMAIN_ID=default
    export OS_USER_DOMAIN_ID=default
    export OS_PROJECT_NAME=demo
    export OS_TENANT_NAME=demo
    export OS_USERNAME=demo
    export OS_PASSWORD=demo
    export OS_AUTH_URL=http://haproxy:5000/v3

Execute swift stat with debug option

[root@pc ~]# swift --debug -V 3 stat
DEBUG:keystoneclient.auth.identity.v3.base:Making authentication request to http://haproxy:5000/v3/auth/tokens
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"POST /v3/auth/tokens HTTP/1.1" 201 1830
DEBUG:iso8601.iso8601:Parsed 2015-10-29T15:06:05.282615Z into {'tz_sign': None, 'second_fraction': u'282615', 'hour': u'15', 'daydash': u'29', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'05', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'10', 'day': None, 'minute': u'06'} with default timezone <iso8601.iso8601.Utc object at 0x7f8648020f50>
DEBUG:iso8601.iso8601:Got u'2015' for 'year' with default None
DEBUG:iso8601.iso8601:Got u'10' for 'monthdash' with default 1
DEBUG:iso8601.iso8601:Got 10 for 'month' with default 10
DEBUG:iso8601.iso8601:Got u'29' for 'daydash' with default 1
DEBUG:iso8601.iso8601:Got 29 for 'day' with default 29
DEBUG:iso8601.iso8601:Got u'15' for 'hour' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'minute' with default None
DEBUG:iso8601.iso8601:Got u'05' for 'second' with default None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.1" 401 0
INFO:swiftclient:REQ: curl -i http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c -I -H "X-Auth-Token: 1d3af4bb07944406b0b570e075f1b3bb"
INFO:swiftclient:RESP STATUS: 401 Unauthorized
INFO:swiftclient:RESP HEADERS: [('date', 'Thu, 29 Oct 2015 14:06:05 GMT'), ('content-length', '0'), ('content-type', 'text/html; charset=UTF-8'), ('www-authenticate', 'Swift realm="AUTH_1a176bed7c1e4168b3391a4ea502b47c", Keystone uri=\'http://haproxy:5000\''), ('x-trans-id', 'tx99dec9935335423b9c60f-00563227cd')]
DEBUG:keystoneclient.auth.identity.v3.base:Making authentication request to http://haproxy:5000/v3/auth/tokens
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"POST /v3/auth/tokens HTTP/1.1" 201 1830
DEBUG:iso8601.iso8601:Parsed 2015-10-29T15:06:06.318943Z into {'tz_sign': None, 'second_fraction': u'318943', 'hour': u'15', 'daydash': u'29', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'06', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'10', 'day': None, 'minute': u'06'} with default timezone <iso8601.iso8601.Utc object at 0x7f8648020f50>
DEBUG:iso8601.iso8601:Got u'2015' for 'year' with default None
DEBUG:iso8601.iso8601:Got u'10' for 'monthdash' with default 1
DEBUG:iso8601.iso8601:Got 10 for 'month' with default 10
DEBUG:iso8601.iso8601:Got u'29' for 'daydash' with default 1
DEBUG:iso8601.iso8601:Got 29 for 'day' with default 29
DEBUG:iso8601.iso8601:Got u'15' for 'hour' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'minute' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'second' with default None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.1" 401 0
INFO:swiftclient:REQ: curl -i http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c -I -H "X-Auth-Token: 429f0cd63e1b43678bc91cc497293544"
INFO:swiftclient:RESP STATUS: 401 Unauthorized
INFO:swiftclient:RESP HEADERS: [('date', 'Thu, 29 Oct 2015 14:06:06 GMT'), ('content-length', '0'), ('content-type', 'text/html; charset=UTF-8'), ('www-authenticate', 'Swift realm="AUTH_1a176bed7c1e4168b3391a4ea502b47c", Keystone uri=\'http://haproxy:5000\''), ('x-trans-id', 'txa8ce31acb85c433c8f79f-00563227ce')]
ERROR:swiftclient:Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 1261, in _retry
    rv = func(self.url, self.token, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 541, in head_account
    http_response_content=body)
ClientException: Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized
Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized

The /var/log/swift/swift.log throws the following error:

Oct 29 16:06:06 swiftsrv01 proxy-server: Removing headers from request environment: X-Service-Catalog,X-Identity-Status,X-Service-Identity-Status,X-Roles,X-Service-Roles,X-Domain-Name,X-Service-Domain-Name,X-Project-Id,X-Service-Project-Id,X-Project-Domain-Name,X-Service-Project-Domain-Name,X-User-Id,X-Service-User-Id,X-User-Name,X-Service-User-Name,X-Project-Name,X-Service-Project-Name,X-User-Domain-Id,X-Service-User-Domain-Id,X-Domain-Id,X-Service-Domain-Id,X-User-Domain-Name,X-Service-User-Domain-Name,X-Project-Domain-Id,X-Service-Project-Domain-Id,X-Role,X-User,X-Tenant-Name,X-Tenant-Id,X-Tenant
Oct 29 16:06:06 swiftsrv01 proxy-server: Authenticating user token
Oct 29 16:06:06 swiftsrv01 proxy-server: Token validation failure.#012Traceback (most recent call last):#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 771, in _validate_token#012    data = self._identity_server.verify_token(token, retry)#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 169, in verify_token#012    response, data = self._request_strategy.verify_token(user_token)#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 119, in _request_strategy#012    strategy_class = self._get_strategy_class()#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 142, in _get_strategy_class#012    if self._adapter.get_endpoint(version=klass.AUTH_VERSION):#012  File "/usr/lib/python2.7/site-packages/keystoneclient/adapter.py", line 129, in get_endpoint#012    return self.session.get_endpoint(auth or self.auth, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 635, in get_endpoint#012    return auth.get_endpoint(self, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 215, in get_endpoint#012    service_catalog = self.get_access(session).service_catalog#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 144, in get_access#012    self.auth_ref = self.get_auth_ref(session)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/generic/base.py", line 174, in get_auth_ref#012    self._plugin = self._do_create_plugin(session)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/generic/base.py", line 129, in _do_create_plugin#012    authenticated=False)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 299, in get_discovery#012    authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", liBlockquotene 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/_discover.py", line 142, in __init__#012    authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/_discover.py", line 40, in get_version_data#012    resp = session.get(url, headers=headers, authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 489, in get#012    return self.request(url, 'GET', **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 328, in request#012    if not urllib.parse.urlparse(url).netloc:#012  File "/usr/lib64/python2.7/urlparse.py", line 142, in urlparse#012    tuple = urlsplit(url, scheme, allow_fragments)#012  File "/usr/lib64/python2.7/urlparse.py", line 181, in urlsplit#012    i = url.find(':')#012AttributeError: 'NoneType' object has no attribute 'find'
Oct 29 16:06:06 swiftsrv01 proxy-server: Marking token as unauthorized in cache
Oct 29 16:06:06 swiftsrv01 proxy-server: Authorization failed for token
Oct 29 16:06:06 swiftsrv01 proxy-server: Invalid user token - deferring reject downstream
Oct 29 16:06:06 swiftsrv01 proxy-server: Authenticating service token
Oct 29 16:06:06 swiftsrv01 proxy-server: Received request from user: user_id None, project_id None, roles None service: user_id None, project_id None, roles None
Oct 29 16:06:06 swiftsrv01 proxy-server: Authorizing as anonymous (txn: txa8ce31acb85c433c8f79f-00563227ce)
Oct 29 16:06:06 swiftsrv01 proxy-server: 192.168.1.9 192.168.1.9 29/Oct/2015/14/06/06 HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.0 401 - python-swiftclient-2.4.0 429f0cd63e1b4367... - - - txa8ce31acb85c433c8f79f-00563227ce - 0.0044 - - 1446127566.532917023 1446127566.537308931 -

Environment Setup:

2 Swift Nodes with Proxy/Keystone/memcache/RabbitMQ/MySQL/httpd installed in Active/Active Mode  (except MySQL which is active/backup) 
2 Nodes running HAproxy/Keepalived as a Load Balancer 
2 Storage Nodes. 

Nodes.

All nodes are running CentOS 7.1 fully updated.

The Environment has been setup by following the official guide for Openstack Kilo step by step (http://docs.openstack.org/kilo/install-guide/install/yum/content/).

Can you please help me on this? If you need any other information regarding the configuration please let me know.

Thank you,

Zois

swift stat fails - 401 Unauthorized - Openstack Kilo - CentOS 7

EDIT: I really cannot understand why i can't get any stats, i hit a wall and it's strange because:

When i execute

curl -s -d '{"auth": {"tenantName": "tenant", "passwordCredentials": {"username": "admin", "password": "password"}}}' -H 'Content-type: application/json' http://node:5000/v2.0/tokens | python -m json.tool

I get the token id and url's but when i use them

curl -i -H "X-Auth-Token: $TOKEN" ${STORAGE_URL}

I'm getting strange errors in my log, for example

Oct 30 10:55:59 proxy-server: Marking token as unauthorized in cache
Oct 30 10:55:59 proxy-server: Authorization failed for token
Oct 30 10:55:59 proxy-server: Invalid user token - deferring reject downstream
Oct 30 10:55:59 proxy-server: Authenticating service token
Oct 30 10:55:59 proxy-server: Received request from user: user_id None, project_id None, roles None service: user_id None, project_id None, roles None
Oct 30 10:55:59 proxy-server: Authorizing as anonymous (txn: <someidhere>)

Why anonymous and user: user_id None, project_id None, roles None service: user_id None, project_id None, rolesNone if a give the token id of my user?

Thanks in adance

I have setup Openstack Swift Kilo on CentOS 7.1 and when I execute swift --debug -V 3 stat I get the following error:

Source environment variables

  [root@pc ~]# cat demo-openrc.sh 
    export OS_PROJECT_DOMAIN_ID=default
    export OS_USER_DOMAIN_ID=default
    export OS_PROJECT_NAME=demo
    export OS_TENANT_NAME=demo
    export OS_USERNAME=demo
    export OS_PASSWORD=demo
    export OS_AUTH_URL=http://haproxy:5000/v3

Execute swift stat with debug option

[root@pc ~]# swift --debug -V 3 stat
DEBUG:keystoneclient.auth.identity.v3.base:Making authentication request to http://haproxy:5000/v3/auth/tokens
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"POST /v3/auth/tokens HTTP/1.1" 201 1830
DEBUG:iso8601.iso8601:Parsed 2015-10-29T15:06:05.282615Z into {'tz_sign': None, 'second_fraction': u'282615', 'hour': u'15', 'daydash': u'29', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'05', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'10', 'day': None, 'minute': u'06'} with default timezone <iso8601.iso8601.Utc object at 0x7f8648020f50>
DEBUG:iso8601.iso8601:Got u'2015' for 'year' with default None
DEBUG:iso8601.iso8601:Got u'10' for 'monthdash' with default 1
DEBUG:iso8601.iso8601:Got 10 for 'month' with default 10
DEBUG:iso8601.iso8601:Got u'29' for 'daydash' with default 1
DEBUG:iso8601.iso8601:Got 29 for 'day' with default 29
DEBUG:iso8601.iso8601:Got u'15' for 'hour' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'minute' with default None
DEBUG:iso8601.iso8601:Got u'05' for 'second' with default None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.1" 401 0
INFO:swiftclient:REQ: curl -i http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c -I -H "X-Auth-Token: 1d3af4bb07944406b0b570e075f1b3bb"
INFO:swiftclient:RESP STATUS: 401 Unauthorized
INFO:swiftclient:RESP HEADERS: [('date', 'Thu, 29 Oct 2015 14:06:05 GMT'), ('content-length', '0'), ('content-type', 'text/html; charset=UTF-8'), ('www-authenticate', 'Swift realm="AUTH_1a176bed7c1e4168b3391a4ea502b47c", Keystone uri=\'http://haproxy:5000\''), ('x-trans-id', 'tx99dec9935335423b9c60f-00563227cd')]
DEBUG:keystoneclient.auth.identity.v3.base:Making authentication request to http://haproxy:5000/v3/auth/tokens
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"POST /v3/auth/tokens HTTP/1.1" 201 1830
DEBUG:iso8601.iso8601:Parsed 2015-10-29T15:06:06.318943Z into {'tz_sign': None, 'second_fraction': u'318943', 'hour': u'15', 'daydash': u'29', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'06', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'10', 'day': None, 'minute': u'06'} with default timezone <iso8601.iso8601.Utc object at 0x7f8648020f50>
DEBUG:iso8601.iso8601:Got u'2015' for 'year' with default None
DEBUG:iso8601.iso8601:Got u'10' for 'monthdash' with default 1
DEBUG:iso8601.iso8601:Got 10 for 'month' with default 10
DEBUG:iso8601.iso8601:Got u'29' for 'daydash' with default 1
DEBUG:iso8601.iso8601:Got 29 for 'day' with default 29
DEBUG:iso8601.iso8601:Got u'15' for 'hour' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'minute' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'second' with default None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.1" 401 0
INFO:swiftclient:REQ: curl -i http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c -I -H "X-Auth-Token: 429f0cd63e1b43678bc91cc497293544"
INFO:swiftclient:RESP STATUS: 401 Unauthorized
INFO:swiftclient:RESP HEADERS: [('date', 'Thu, 29 Oct 2015 14:06:06 GMT'), ('content-length', '0'), ('content-type', 'text/html; charset=UTF-8'), ('www-authenticate', 'Swift realm="AUTH_1a176bed7c1e4168b3391a4ea502b47c", Keystone uri=\'http://haproxy:5000\''), ('x-trans-id', 'txa8ce31acb85c433c8f79f-00563227ce')]
ERROR:swiftclient:Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 1261, in _retry
    rv = func(self.url, self.token, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 541, in head_account
    http_response_content=body)
ClientException: Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized
Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized

The /var/log/swift/swift.log throws the following error:

Oct 29 16:06:06 swiftsrv01 proxy-server: Removing headers from request environment: X-Service-Catalog,X-Identity-Status,X-Service-Identity-Status,X-Roles,X-Service-Roles,X-Domain-Name,X-Service-Domain-Name,X-Project-Id,X-Service-Project-Id,X-Project-Domain-Name,X-Service-Project-Domain-Name,X-User-Id,X-Service-User-Id,X-User-Name,X-Service-User-Name,X-Project-Name,X-Service-Project-Name,X-User-Domain-Id,X-Service-User-Domain-Id,X-Domain-Id,X-Service-Domain-Id,X-User-Domain-Name,X-Service-User-Domain-Name,X-Project-Domain-Id,X-Service-Project-Domain-Id,X-Role,X-User,X-Tenant-Name,X-Tenant-Id,X-Tenant
Oct 29 16:06:06 swiftsrv01 proxy-server: Authenticating user token
Oct 29 16:06:06 swiftsrv01 proxy-server: Token validation failure.#012Traceback (most recent call last):#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 771, in _validate_token#012    data = self._identity_server.verify_token(token, retry)#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 169, in verify_token#012    response, data = self._request_strategy.verify_token(user_token)#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 119, in _request_strategy#012    strategy_class = self._get_strategy_class()#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 142, in _get_strategy_class#012    if self._adapter.get_endpoint(version=klass.AUTH_VERSION):#012  File "/usr/lib/python2.7/site-packages/keystoneclient/adapter.py", line 129, in get_endpoint#012    return self.session.get_endpoint(auth or self.auth, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 635, in get_endpoint#012    return auth.get_endpoint(self, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 215, in get_endpoint#012    service_catalog = self.get_access(session).service_catalog#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 144, in get_access#012    self.auth_ref = self.get_auth_ref(session)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/generic/base.py", line 174, in get_auth_ref#012    self._plugin = self._do_create_plugin(session)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/generic/base.py", line 129, in _do_create_plugin#012    authenticated=False)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 299, in get_discovery#012    authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", liBlockquotene 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/_discover.py", line 142, in __init__#012    authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/_discover.py", line 40, in get_version_data#012    resp = session.get(url, headers=headers, authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 489, in get#012    return self.request(url, 'GET', **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 328, in request#012    if not urllib.parse.urlparse(url).netloc:#012  File "/usr/lib64/python2.7/urlparse.py", line 142, in urlparse#012    tuple = urlsplit(url, scheme, allow_fragments)#012  File "/usr/lib64/python2.7/urlparse.py", line 181, in urlsplit#012    i = url.find(':')#012AttributeError: 'NoneType' object has no attribute 'find'
Oct 29 16:06:06 swiftsrv01 proxy-server: Marking token as unauthorized in cache
Oct 29 16:06:06 swiftsrv01 proxy-server: Authorization failed for token
Oct 29 16:06:06 swiftsrv01 proxy-server: Invalid user token - deferring reject downstream
Oct 29 16:06:06 swiftsrv01 proxy-server: Authenticating service token
Oct 29 16:06:06 swiftsrv01 proxy-server: Received request from user: user_id None, project_id None, roles None service: user_id None, project_id None, roles None
Oct 29 16:06:06 swiftsrv01 proxy-server: Authorizing as anonymous (txn: txa8ce31acb85c433c8f79f-00563227ce)
Oct 29 16:06:06 swiftsrv01 proxy-server: 192.168.1.9 192.168.1.9 29/Oct/2015/14/06/06 HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.0 401 - python-swiftclient-2.4.0 429f0cd63e1b4367... - - - txa8ce31acb85c433c8f79f-00563227ce - 0.0044 - - 1446127566.532917023 1446127566.537308931 -

Environment Setup:

2 Swift Nodes with Proxy/Keystone/memcache/RabbitMQ/MySQL/httpd installed in Active/Active Mode  (except MySQL which is active/backup) 
2 Nodes running HAproxy/Keepalived as a Load Balancer 
2 Storage Nodes.

All nodes are running CentOS 7.1 fully updated.

The Environment has been setup by following the official guide for Openstack Kilo step by step (http://docs.openstack.org/kilo/install-guide/install/yum/content/).

Can you please help me on this? If you need any other information regarding the configuration please let me know.

Thank you,

Zois

swift stat fails - 401 Unauthorized - Openstack Kilo - CentOS 7

EDIT: I really cannot understand why i can't get any stats, i hit a wall and it's strange because:

When i execute

curl -s -d '{"auth": {"tenantName": "tenant", "passwordCredentials": {"username": "admin", "password": "password"}}}' -H 'Content-type: application/json' http://node:5000/v2.0/tokens | python -m json.tool

I get the token id and url's but when i use them

curl -i -H "X-Auth-Token: $TOKEN" ${STORAGE_URL}

I'm getting strange errors I get this error

HTTP/1.1 401 Unauthorized
Content-Length: 131
Content-Type: text/html; charset=UTF-8
Www-Authenticate: Swift realm="AUTH_<token_id>"
WWW-Authenticate: Keystone uri='http://node:5000'
X-Trans-Id: <someidhere>
Date: Fri, 30 Oct 2015 09:07:26 GMT

and in my log, for examplelogs

Oct 30 10:55:59 proxy-server: Marking token as unauthorized in cache
Oct 30 10:55:59 proxy-server: Authorization failed for token
Oct 30 10:55:59 proxy-server: Invalid user token - deferring reject downstream
Oct 30 10:55:59 proxy-server: Authenticating service token
Oct 30 10:55:59 proxy-server: Received request from user: user_id None, project_id None, roles None service: user_id None, project_id None, roles None
Oct 30 10:55:59 proxy-server: Authorizing as anonymous (txn: <someidhere>)

Why anonymous and user: user_id None, project_id None, roles None service: user_id None, project_id None, rolesNone if a give the token id of my user?

Thanks in adance

I have setup Openstack Swift Kilo on CentOS 7.1 and when I execute swift --debug -V 3 stat I get the following error:

Source environment variables

  [root@pc ~]# cat demo-openrc.sh 
    export OS_PROJECT_DOMAIN_ID=default
    export OS_USER_DOMAIN_ID=default
    export OS_PROJECT_NAME=demo
    export OS_TENANT_NAME=demo
    export OS_USERNAME=demo
    export OS_PASSWORD=demo
    export OS_AUTH_URL=http://haproxy:5000/v3

Execute swift stat with debug option

[root@pc ~]# swift --debug -V 3 stat
DEBUG:keystoneclient.auth.identity.v3.base:Making authentication request to http://haproxy:5000/v3/auth/tokens
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"POST /v3/auth/tokens HTTP/1.1" 201 1830
DEBUG:iso8601.iso8601:Parsed 2015-10-29T15:06:05.282615Z into {'tz_sign': None, 'second_fraction': u'282615', 'hour': u'15', 'daydash': u'29', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'05', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'10', 'day': None, 'minute': u'06'} with default timezone <iso8601.iso8601.Utc object at 0x7f8648020f50>
DEBUG:iso8601.iso8601:Got u'2015' for 'year' with default None
DEBUG:iso8601.iso8601:Got u'10' for 'monthdash' with default 1
DEBUG:iso8601.iso8601:Got 10 for 'month' with default 10
DEBUG:iso8601.iso8601:Got u'29' for 'daydash' with default 1
DEBUG:iso8601.iso8601:Got 29 for 'day' with default 29
DEBUG:iso8601.iso8601:Got u'15' for 'hour' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'minute' with default None
DEBUG:iso8601.iso8601:Got u'05' for 'second' with default None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.1" 401 0
INFO:swiftclient:REQ: curl -i http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c -I -H "X-Auth-Token: 1d3af4bb07944406b0b570e075f1b3bb"
INFO:swiftclient:RESP STATUS: 401 Unauthorized
INFO:swiftclient:RESP HEADERS: [('date', 'Thu, 29 Oct 2015 14:06:05 GMT'), ('content-length', '0'), ('content-type', 'text/html; charset=UTF-8'), ('www-authenticate', 'Swift realm="AUTH_1a176bed7c1e4168b3391a4ea502b47c", Keystone uri=\'http://haproxy:5000\''), ('x-trans-id', 'tx99dec9935335423b9c60f-00563227cd')]
DEBUG:keystoneclient.auth.identity.v3.base:Making authentication request to http://haproxy:5000/v3/auth/tokens
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"POST /v3/auth/tokens HTTP/1.1" 201 1830
DEBUG:iso8601.iso8601:Parsed 2015-10-29T15:06:06.318943Z into {'tz_sign': None, 'second_fraction': u'318943', 'hour': u'15', 'daydash': u'29', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'06', 'tz_minute': None, 'year': u'2015', 'separator': u'T', 'monthdash': u'10', 'day': None, 'minute': u'06'} with default timezone <iso8601.iso8601.Utc object at 0x7f8648020f50>
DEBUG:iso8601.iso8601:Got u'2015' for 'year' with default None
DEBUG:iso8601.iso8601:Got u'10' for 'monthdash' with default 1
DEBUG:iso8601.iso8601:Got 10 for 'month' with default 10
DEBUG:iso8601.iso8601:Got u'29' for 'daydash' with default 1
DEBUG:iso8601.iso8601:Got 29 for 'day' with default 29
DEBUG:iso8601.iso8601:Got u'15' for 'hour' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'minute' with default None
DEBUG:iso8601.iso8601:Got u'06' for 'second' with default None
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): haproxy
DEBUG:requests.packages.urllib3.connectionpool:"HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.1" 401 0
INFO:swiftclient:REQ: curl -i http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c -I -H "X-Auth-Token: 429f0cd63e1b43678bc91cc497293544"
INFO:swiftclient:RESP STATUS: 401 Unauthorized
INFO:swiftclient:RESP HEADERS: [('date', 'Thu, 29 Oct 2015 14:06:06 GMT'), ('content-length', '0'), ('content-type', 'text/html; charset=UTF-8'), ('www-authenticate', 'Swift realm="AUTH_1a176bed7c1e4168b3391a4ea502b47c", Keystone uri=\'http://haproxy:5000\''), ('x-trans-id', 'txa8ce31acb85c433c8f79f-00563227ce')]
ERROR:swiftclient:Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 1261, in _retry
    rv = func(self.url, self.token, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/swiftclient/client.py", line 541, in head_account
    http_response_content=body)
ClientException: Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized
Account HEAD failed: http://haproxy:8080/v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c 401 Unauthorized

The /var/log/swift/swift.log throws the following error:

Oct 29 16:06:06 swiftsrv01 proxy-server: Removing headers from request environment: X-Service-Catalog,X-Identity-Status,X-Service-Identity-Status,X-Roles,X-Service-Roles,X-Domain-Name,X-Service-Domain-Name,X-Project-Id,X-Service-Project-Id,X-Project-Domain-Name,X-Service-Project-Domain-Name,X-User-Id,X-Service-User-Id,X-User-Name,X-Service-User-Name,X-Project-Name,X-Service-Project-Name,X-User-Domain-Id,X-Service-User-Domain-Id,X-Domain-Id,X-Service-Domain-Id,X-User-Domain-Name,X-Service-User-Domain-Name,X-Project-Domain-Id,X-Service-Project-Domain-Id,X-Role,X-User,X-Tenant-Name,X-Tenant-Id,X-Tenant
Oct 29 16:06:06 swiftsrv01 proxy-server: Authenticating user token
Oct 29 16:06:06 swiftsrv01 proxy-server: Token validation failure.#012Traceback (most recent call last):#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 771, in _validate_token#012    data = self._identity_server.verify_token(token, retry)#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 169, in verify_token#012    response, data = self._request_strategy.verify_token(user_token)#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 119, in _request_strategy#012    strategy_class = self._get_strategy_class()#012  File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/_identity.py", line 142, in _get_strategy_class#012    if self._adapter.get_endpoint(version=klass.AUTH_VERSION):#012  File "/usr/lib/python2.7/site-packages/keystoneclient/adapter.py", line 129, in get_endpoint#012    return self.session.get_endpoint(auth or self.auth, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 635, in get_endpoint#012    return auth.get_endpoint(self, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 215, in get_endpoint#012    service_catalog = self.get_access(session).service_catalog#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 144, in get_access#012    self.auth_ref = self.get_auth_ref(session)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/generic/base.py", line 174, in get_auth_ref#012    self._plugin = self._do_create_plugin(session)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/generic/base.py", line 129, in _do_create_plugin#012    authenticated=False)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/auth/identity/base.py", line 299, in get_discovery#012    authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", liBlockquotene 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/_discover.py", line 142, in __init__#012    authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/_discover.py", line 40, in get_version_data#012    resp = session.get(url, headers=headers, authenticated=authenticated)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 489, in get#012    return self.request(url, 'GET', **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/utils.py", line 318, in inner#012    return func(*args, **kwargs)#012  File "/usr/lib/python2.7/site-packages/keystoneclient/session.py", line 328, in request#012    if not urllib.parse.urlparse(url).netloc:#012  File "/usr/lib64/python2.7/urlparse.py", line 142, in urlparse#012    tuple = urlsplit(url, scheme, allow_fragments)#012  File "/usr/lib64/python2.7/urlparse.py", line 181, in urlsplit#012    i = url.find(':')#012AttributeError: 'NoneType' object has no attribute 'find'
Oct 29 16:06:06 swiftsrv01 proxy-server: Marking token as unauthorized in cache
Oct 29 16:06:06 swiftsrv01 proxy-server: Authorization failed for token
Oct 29 16:06:06 swiftsrv01 proxy-server: Invalid user token - deferring reject downstream
Oct 29 16:06:06 swiftsrv01 proxy-server: Authenticating service token
Oct 29 16:06:06 swiftsrv01 proxy-server: Received request from user: user_id None, project_id None, roles None service: user_id None, project_id None, roles None
Oct 29 16:06:06 swiftsrv01 proxy-server: Authorizing as anonymous (txn: txa8ce31acb85c433c8f79f-00563227ce)
Oct 29 16:06:06 swiftsrv01 proxy-server: 192.168.1.9 192.168.1.9 29/Oct/2015/14/06/06 HEAD /v1/AUTH_1a176bed7c1e4168b3391a4ea502b47c HTTP/1.0 401 - python-swiftclient-2.4.0 429f0cd63e1b4367... - - - txa8ce31acb85c433c8f79f-00563227ce - 0.0044 - - 1446127566.532917023 1446127566.537308931 -

Environment Setup:

2 Swift Nodes with Proxy/Keystone/memcache/RabbitMQ/MySQL/httpd installed in Active/Active Mode  (except MySQL which is active/backup) 
2 Nodes running HAproxy/Keepalived as a Load Balancer 
2 Storage Nodes.

All nodes are running CentOS 7.1 fully updated.

The Environment has been setup by following the official guide for Openstack Kilo step by step (http://docs.openstack.org/kilo/install-guide/install/yum/content/).

Can you please help me on this? If you need any other information regarding the configuration please let me know.

Thank you,

Zois