[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