Dear List,
i got stuck with a setup of openstack grizzly. This setup consists of: - swift proxy 1.0.8.1 - swift storage nodes 1.0.8.1 - keystone - ceilometer I kept browsing the web and reading openstack docs for days now and can't just get it working right. Because of openstacks diversity a wasn't able to find something really similar to my situation. The thing is, i changed swift-proxy from using swauth to keystone. Keystone and swift-proxy do interact all right as fare as i can say. What i can't get working is that simple webpage which gave the ability to log in as superuser, adding new user and so on. It is that webpart that connects to the proxy on port 8080, respectively port 8888. Thx o lot for taking a look into this. Axel Theses are the browser urls i try: (delay_auth_decision = 1) http://the.swift.proxy:8888/auth/ bad url Apr 16 11:49:31 ns-proxy01 swift-proxy Calling Swift3 Middleware (txn: txcfde073b9ffe4f379da392056e2176de) Apr 16 11:49:31 ns-proxy01 swift-proxy {'headers': {'Accept-Language': 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate', 'Host': 'backend', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0', 'Connection': 'close', 'Content-Type': None}, 'environ': {'SCRIPT_NAME': '', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/auth/', 'SERVER_PROTOCOL': 'HTTP/1.0', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0', 'HTTP_CONNECTION': 'close', 'eventlet.posthooks': [], 'SERVER_NAME': '10.42.44.101', 'REMOTE_ADDR': '10.42.44.5', 'eventlet.input': <eventlet.wsgi.Input object at 0x1d93f10>, 'wsgi.url_scheme': 'http', 'SERVER_PORT': '8888', 'wsgi.input': <swift.common.utils.InputProxy object at 0x2691050>, 'HTTP_HOST': 'backend', 'swift.cache': <swift.common.memcached.MemcacheRing object at 0x268a750>, 'wsgi.multithread': True, 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'GATEWAY_INTERFACE': 'CGI/1.1', 'wsgi.run_once': False, 'wsgi.errors': <swift.common.utils.LoggerFileObject object at 0x1656190>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3', 'swift.trans_id': 'txcfde073b9ffe4f379da392056e2176de', 'CONTENT_TYPE': None, 'HTTP_ACCEPT_ENCODING': 'gzip, deflate'}} Apr 16 11:49:31 ns-proxy01 swift-proxy Authorizing as anonymous (txn: txcfde073b9ffe4f379da392056e2176de) Apr 16 11:49:31 ns-proxy01 swift-proxy 10.42.44.5 10.42.44.5 16/Apr/2013/09/49/31 GET /auth/ HTTP/1.0 412 - Mozilla/5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010.8%3B%20rv%3A20.0%29%20Gecko/20100101%20Firefox/20.0 - - 7 - txcfde073b9ffe4f379da392056e2176de - 0.0003 - (delay_auth_decision = 0) http://the.swift.proxy:8888/auth/ 401 Unauthorized Apr 16 11:56:35 ns-proxy01 swift-proxy Calling Swift3 Middleware (txn: tx508b08866bbc410399543d98cafa2856) Apr 16 11:56:35 ns-proxy01 swift-proxy {'headers': {'Accept-Language': 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate', 'Host': 'backend', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0', 'Connection': 'close', 'Cache-Control': 'max-age=0', 'Content-Type': None}, 'environ': {'SCRIPT_NAME': '', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/auth/', 'SERVER_PROTOCOL': 'HTTP/1.0', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0', 'HTTP_CONNECTION': 'close', 'eventlet.posthooks': [], 'SERVER_NAME': '10.42.44.101', 'REMOTE_ADDR': '10.42.44.5', 'eventlet.input': <eventlet.wsgi.Input object at 0x1fa41d0>, 'wsgi.url_scheme': 'http', 'SERVER_PORT': '8888', 'wsgi.input': <swift.common.utils.InputProxy object at 0x1fa40d0>, 'HTTP_HOST': 'backend', 'swift.cache': <swift.common.memcached.MemcacheRing object at 0x288e750>, 'wsgi.multithread': True, 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'wsgi.version': (1, 0), 'GATEWAY_INTERFACE': 'CGI/1.1', 'wsgi.run_once': False, 'wsgi.errors': <swift.common.utils.LoggerFileObject object at 0x185e190>, 'wsgi.multiprocess': False, 'HTTP_ACCEPT_LANGUAGE': 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3', 'swift.trans_id': 'tx508b08866bbc410399543d98cafa2856', 'CONTENT_TYPE': None, 'HTTP_ACCEPT_ENCODING': 'gzip, deflate'}} export OS_SERVICE_TOKEN=XXX export OS_SERVICE_ENDPOINT=http://10.42.44.101:35357/v2.0 root@ns-proxy01:/etc/swift# swift -V 2.0 -A http://10.42.44.101:5000/v2.0 -U admin -K XXX stat Account: AUTH_c2dc53651a73430db9e0551fca4200de Containers: 4354 Objects: 2622 Bytes: 114207 Accept-Ranges: bytes X-Timestamp: 1365601461.87732 X-Trans-Id: txa6273bb374d5468da6e4b6ad48929762 Content-Type: text/plain; charset=utf-8 root@ns-proxy01:/etc/swift# keystone --debug user-list REQ: curl -i http://10.42.44.101:35357/v2.0/users -X GET -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: 6IHBKKwfVnHZf5ifGiQaRQL5u3hdYtPe" RESP: [200] {'date': 'Tue, 16 Apr 2013 09:39:37 GMT', 'content-type': 'application/json', 'content-length': '860', 'vary': 'X-Auth-Token'} RESP BODY: {"users": [{"name": "glance", "id": "03c928bae5ad4a9f90be425c1ff554dd", "tenantId": "054ca85bca2e44c29cf4730e1450517f", "enabled": true, "email": null}, {"name": "nova", "id": "140239db8d0244fca7545b76b60ffacd", "tenantId": "054ca85bca2e44c29cf4730e1450517f", "enabled": true, "email": null}, {"name": "swift", "id": "3bad84eee3b4432b915b469e1cfef628", "tenantId": "054ca85bca2e44c29cf4730e1450517f", "enabled": true, "email": null}, {"name": "ec2", "id": "5f3a39c203b249d4ba003bba7fdca300", "tenantId": "054ca85bca2e44c29cf4730e1450517f", "enabled": true, "email": null}, {"name": "admin", "id": "9d7d6509ffee4a82ad52fe5555e8733c", "tenantId": "c2dc53651a73430db9e0551fca4200de", "enabled": true, "email": null}, {"name": "ceilometer", "id": "cde44fe9c6d446da99ea370b88ec7d63", "tenantId": "054ca85bca2e44c29cf4730e1450517f", "enabled": true, "email": null}]} +----------------------------------+------------+---------+-------+ | id | name | enabled | email | +----------------------------------+------------+---------+-------+ | 9d7d6509ffee4a82ad52fe5555e8733c | admin | True | | | cde44fe9c6d446da99ea370b88ec7d63 | ceilometer | True | | | 5f3a39c203b249d4ba003bba7fdca300 | ec2 | True | | | 03c928bae5ad4a9f90be425c1ff554dd | glance | True | | | 140239db8d0244fca7545b76b60ffacd | nova | True | | | 3bad84eee3b4432b915b469e1cfef628 | swift | True | | +----------------------------------+------------+---------+-------+ root@ns-proxy01:/etc/swift# curl -k -v -H 'X-Storage-User: admin' -H 'X-Storage-Pass: XXX' -X 'POST' http://10.42.44.101:35357/v2.0/auth * About to connect() to 10.42.44.101 port 35357 (#0) * Trying 10.42.44.101... connected > POST /v2.0/auth HTTP/1.1 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 > Host: 10.42.44.101:35357 > Accept: */* > X-Storage-User: admin > X-Storage-Pass: XXX > < HTTP/1.1 404 Not Found < Vary: X-Auth-Token < Content-Type: application/json < Content-Length: 93 < Date: Tue, 16 Apr 2013 09:41:36 GMT < * Connection #0 to host 10.42.44.101 left intact * Closing connection #0 {"error": {"message": "The resource could not be found.", "code": 404, "title": "Not Found"}} ############################################################# swift-proxy.conf [DEFAULT] bind_port = 8888 workers = 8 user = swift log_name = swift-proxy log_facility = LOG_LOCAL0 log_level = DEBUG [pipeline:main] pipeline = ceilometer catch_errors healthcheck cache tempurl swift3 authtoken keystoneauth proxy-logging proxy-server [app:proxy-server] use = egg:swift#proxy allow_account_management = true account_autocreate = true [filter:swift3] use = egg:swift3#swift3 [filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory delay_auth_decision = 1 service_port = 5000 service_host = 127.0.0.1 auth_protocol = http auth_host = 127.0.0.1 auth_port = 35357 auth_uri = http://127.0.0.1:5000/ #auth_token = xxxxxxxxxxxxxxxxxxxx #admin_tenant_name = service #admin_user = swift #admin_password = xxxxxxxxxxxxxxxxxxxx admin_token = xxxxxxxxxxxxxxxxxxxx cache = swift.cache signing_dir = /tmp/keystone-signing-swift [filter:keystoneauth] use = egg:swift#keystoneauth operator_roles = admin, swiftoperator #default_swift_cluster = netstorage#https://netstorage-ham1-de.internet4you.com:444/v1#http://127.0.0.1:8888/v1 allow_account_management = true allow_overrides = true [filter:healthcheck] use = egg:swift#healthcheck [filter:ceilometer] use = egg:ceilometer#swift [filter:cache] use = egg:swift#memcache memcache_servers = 10.42.44.101:11211,10.42.44.102:11211 [filter:tempurl] use = egg:swift#tempurl [filter:catch_errors] use = egg:swift#catch_errors [filter:proxy-logging] use = egg:swift#proxy_logging ############################################################# ############################################################# keystone.conf [DEFAULT] admin_token = 6IHBKKwfVnHZf5ifGiQaRQL5u3hdYtPe bind_host = 0.0.0.0 public_port = 5000 admin_port = 35357 compute_port = 8774 debug = True verbose = True log_file = keystone.log log_dir = /var/log/keystone use_syslog = False [sql] connection = mysql://keystone:xxxxxxxxxxxxxxxx@123.123.123.123/keystone idle_timeout = 200 min_pool_size = 5 max_pool_size = 10 pool_timeout = 200 [identity] driver = keystone.identity.backends.sql.Identity [trust] [catalog] driver = keystone.catalog.backends.sql.Catalog [token] driver = keystone.token.backends.sql.Token expiration = 86400 [policy] driver = keystone.policy.backends.sql.Policy [ec2] driver = keystone.contrib.ec2.backends.kvs.Ec2 [ssl] [signing] token_format = UUID [ldap] [auth] methods = password,token password = keystone.auth.plugins.password.Password token = keystone.auth.plugins.token.Token [filter:debug] paste.filter_factory = keystone.common.wsgi:Debug.factory [filter:token_auth] paste.filter_factory = keystone.middleware:TokenAuthMiddleware.factory [filter:admin_token_auth] paste.filter_factory = keystone.middleware:AdminTokenAuthMiddleware.factory [filter:xml_body] paste.filter_factory = keystone.middleware:XmlBodyMiddleware.factory [filter:json_body] paste.filter_factory = keystone.middleware:JsonBodyMiddleware.factory [filter:user_crud_extension] paste.filter_factory = keystone.contrib.user_crud:CrudExtension.factory [filter:crud_extension] paste.filter_factory = keystone.contrib.admin_crud:CrudExtension.factory [filter:ec2_extension] paste.filter_factory = keystone.contrib.ec2:Ec2Extension.factory [filter:s3_extension] paste.filter_factory = keystone.contrib.s3:S3Extension.factory [filter:url_normalize] paste.filter_factory = keystone.middleware:NormalizingFilter.factory [filter:sizelimit] paste.filter_factory = keystone.middleware:RequestBodySizeLimiter.factory [filter:stats_monitoring] paste.filter_factory = keystone.contrib.stats:StatsMiddleware.factory [filter:stats_reporting] paste.filter_factory = keystone.contrib.stats:StatsExtension.factory [filter:access_log] paste.filter_factory = keystone.contrib.access:AccessLogMiddleware.factory [app:public_service] paste.app_factory = keystone.service:public_app_factory [app:service_v3] paste.app_factory = keystone.service:v3_app_factory [app:admin_service] paste.app_factory = keystone.service:admin_app_factory [pipeline:public_api] pipeline = access_log sizelimit stats_monitoring url_normalize token_auth admin_token_auth xml_body json_body debug ec2_extension user_crud_extension public_service [pipeline:admin_api] pipeline = access_log sizelimit stats_monitoring url_normalize token_auth admin_token_auth xml_body json_body debug stats_reporting ec2_extension s3_extension crud_extension admin_service [pipeline:api_v3] pipeline = access_log sizelimit stats_monitoring url_normalize token_auth admin_token_auth xml_body json_body debug stats_reporting ec2_extension s3_extension service_v3 [app:public_version_service] paste.app_factory = keystone.service:public_version_app_factory [app:admin_version_service] paste.app_factory = keystone.service:admin_version_app_factory [pipeline:public_version_api] pipeline = access_log sizelimit stats_monitoring url_normalize xml_body public_version_service [pipeline:admin_version_api] pipeline = access_log sizelimit stats_monitoring url_normalize xml_body admin_version_service [composite:main] use = egg:Paste#urlmap /v2.0 = public_api / = public_version_api [composite:admin] use = egg:Paste#urlmap /v2.0 = admin_api / = admin_version_api ############################################################# _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp