[Cyberduck-trac] [Cyberduck] #7470: Cyberduck not working with openstack swift keystone
Cyberduck
trac at trac.cyberduck.ch
Wed Oct 2 01:14:17 UTC 2013
#7470: Cyberduck not working with openstack swift keystone
------------------------+-------------------
Reporter: maticue | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: core | Version: 4.3.1
Severity: normal | Keywords:
Architecture: | Platform:
------------------------+-------------------
I saw #6330,
https://groups.google.com/forum/#!topic/cyberduck/Mx2fnu-9798,
http://www.zmanda.com/blogs/?p=916 and finally
https://trac.cyberduck.ch/wiki/help/en/howto/openstack
I applied the last preconfigured settings for keystone with out success,
but when I use python swift client I don't have problems.
I have a nginx ssl proxy between clients and keystone server. nginx listen
at 443 port, and it redirects connections to 5000 port, where keystone is
listening to.
So, this is keystone's log debug when I use Cyberduck:
{{{
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] ********************
REQUEST ENVIRON ********************
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] SCRIPT_NAME = /v2.0
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] webob.adhoc_attrs =
{'response': <Response at 0x48ec150 200 OK>}
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] HTTP_X_AUTH_KEY =
password
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] REQUEST_METHOD = GET
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] PATH_INFO = /tokens
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] SERVER_PROTOCOL =
HTTP/1.0
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] HTTP_X_REAL_IP =
192.168.1.103
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] HTTP_X_AUTH_USER =
demo:admin
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] HTTP_USER_AGENT =
Cyberduck/4.3.1 (11008) (Microsoft Windows NT 6.2.9200.0/6.2.9200.0) (x86)
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] HTTP_CONNECTION =
close
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] REMOTE_PORT = 49455
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] SERVER_NAME =
192.168.1.60
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] REMOTE_ADDR =
192.168.1.60
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] eventlet.input =
<eventlet.wsgi.Input object at 0x48e8610>
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] wsgi.url_scheme = http
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] SERVER_PORT = 5000
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] HTTP_X_FORWARDED_PROTO
= https
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] wsgi.input =
<eventlet.wsgi.Input object at 0x48e8610>
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] openstack.context =
{'token_id': None, 'is_admin': False}
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] HTTP_HOST =
192.168.1.60
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] wsgi.multithread =
True
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] eventlet.posthooks =
[]
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] wsgi.version = (1, 0)
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] RAW_PATH_INFO =
/v2.0/tokens
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] GATEWAY_INTERFACE =
CGI/1.1
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] wsgi.run_once = False
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] wsgi.errors = <open
file '<stderr>', mode 'w' at 0x7f500c683270>
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] wsgi.multiprocess =
False
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] HTTP_X_FORWARDED_FOR =
192.168.1.103
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] CONTENT_TYPE =
text/plain
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi]
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] ********************
REQUEST BODY ********************
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi]
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] ********************
RESPONSE HEADERS ********************
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] Vary = X-Auth-Token
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] Content-Type =
application/json
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] Content-Length = 93
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi]
2013-09-30 01:08:10 WARNING [keystone.contrib.stats.core] Unable to
resolve API as either public or admin: 192.168.1.60
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] ********************
RESPONSE BODY ********************
2013-09-30 01:08:10 DEBUG [keystone.common.wsgi] {"error": {"message":
"The resource could not be found.", "code": 404, "title": "Not Found"}}
2013-09-30 01:08:10 INFO [access] 192.168.1.60 - -
[30/Sep/2013:04:08:10 +0000] "GET http://192.168.1.60/v2.0/tokens
HTTP/1.0" 404 93
2013-09-30 01:08:10 DEBUG [eventlet.wsgi.server]
192.168.1.103,192.168.1.60 - - [30/Sep/2013 01:08:10] "GET /v2.0/tokens
HTTP/1.0" 404 247 0.044591
}}}
This is keystone's log debug when I use swift client:
{{{
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] ********************
REQUEST ENVIRON ********************
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] SCRIPT_NAME = /v2.0
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] webob.adhoc_attrs =
{'response': <Response at 0x48ecad0 200 OK>}
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] REQUEST_METHOD = POST
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] PATH_INFO = /tokens
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] SERVER_PROTOCOL =
HTTP/1.0
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] REMOTE_ADDR =
192.168.1.60
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] HTTP_X_REAL_IP =
192.168.1.101
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] CONTENT_LENGTH = 114
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] HTTP_USER_AGENT =
python-keystoneclient
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] HTTP_CONNECTION =
close
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] eventlet.posthooks =
[]
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] RAW_PATH_INFO =
/v2.0/tokens
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] REMOTE_PORT = 49456
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] eventlet.input =
<eventlet.wsgi.Input object at 0x48e8510>
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] wsgi.url_scheme = http
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] webob._body_file =
(<_io.BufferedReader>, <eventlet.wsgi.Input object at 0x48e8510>)
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] SERVER_PORT = 5000
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] HTTP_X_FORWARDED_PROTO
= https
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] wsgi.input =
<_io.BytesIO object at 0x43e40b0>
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] openstack.context =
{'token_id': None, 'is_admin': False}
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] HTTP_HOST =
192.168.1.60
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] wsgi.multithread =
True
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] openstack.params =
{u'auth': {u'tenantName': u'demo', u'passwordCredentials': {u'username':
u'admin', u'password': u'***'}}}
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] HTTP_ACCEPT = */*
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] wsgi.version = (1, 0)
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] SERVER_NAME =
192.168.1.60
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] GATEWAY_INTERFACE =
CGI/1.1
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] wsgi.run_once = False
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] wsgi.errors = <open
file '<stderr>', mode 'w' at 0x7f500c683270>
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] wsgi.multiprocess =
False
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] HTTP_X_FORWARDED_FOR =
192.168.1.101
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] webob.is_body_seekable
= True
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] CONTENT_TYPE =
application/json
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi]
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] ********************
REQUEST BODY ********************
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] {"auth":
{"tenantName": "demo", "passwordCredentials": {"username": "admin",
"password": "***"}}}
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi]
2013-09-30 01:11:24 DEBUG [keystone.common.wsgi] arg_dict: {}
2013-09-30 01:11:24 INFO [sqlalchemy.engine.base.Engine] SELECT
user.id AS user_id, user.name AS user_name, user.domain_id AS
user_domain_id, user.password AS user_password, user.enabled AS
user_enabled, user.extra AS user_extra
FROM user
WHERE user.name = %s AND user.domain_id = %s
...
}}}
I have openstack grizzly:
* keystone 1:2013.1.3-0ubuntu1~cloud0
* swift 1.8.0-0ubuntu1.2~cloud0
On the client side:
Tried with Cyberduck 4.3.1 for Windows (192.168.1.103) and MacOS
(192.168.1.101) -> Fail
* Ask password again
Tried with python swift client 1.6 (192.168.1.101) -> Succesfull
{{{
client:~ user$ swift --insecure stat
Account: AUTH_5087f19714ab46a7a08b494c6626bce1
Containers: 1
Objects: 1
Bytes: 4892
Accept-Ranges: bytes
X-Timestamp: 1380425843.13545
Content-Type: text/plain; charset=utf-8
}}}
Thanks!
--
Ticket URL: <https://trac.cyberduck.ch/ticket/7470>
Cyberduck <http://cyberduck.ch>
Open source FTP, SFTP, WebDAV, Cloud Files, Google Docs & Amazon S3 Browser for Mac & Windows.
More information about the Cyberduck-trac
mailing list