Needs account_autocreate = true in proxy-server.conf I'm assuming your keystone baseURL points the public url of swift to http://127.0.0.1:8888/v1/AUTH_%tennant_id%
I'm running trunk on swift and keystone w/o problems (though it was broken for a bit on trunk keystone). -todd[1] On Tue, Jun 21, 2011 at 8:22 PM, Jesse Andrews <anotherje...@gmail.com> wrote: > Todd was doing some work on keystone > https://github.com/rackspace/keystone/commit/722fcd8ebef3fe1268ace5c05e014f6a945abfab > It still needs some work and might not be at the right place. > Jesse > On Jun 21, 2011, at 4:31 PM, Tres Henry wrote: > > Trying to get a Swift+Keystone dev environment setup and having some issues. > I'm running Swift 1.4.2 and have it pointing at Keystone 0.9 (on the same > VM) according to the instructions at https://github.com/rackspace/keystone, > however, Swift is reporting 500s from Keystone (Auth GET > failed: http://127.0.0.1:8080/v1.0 500 Internal Server Error) and the > Keystone log says: > > eventlet.wsgi.server: DEBUG Traceback (most recent call last): > File "/usr/lib/python2.6/dist-packages/eventlet/wsgi.py", line 336, in > handle_one_response > result = self.application(self.environ, start_response) > File "/home/tres/nova/keystone/keystone/frontends/legacy_token_auth.py", > line 74, in __call__ > new_request.body = json.dumps(params) > File "/usr/lib/pymodules/python2.6/webob/request.py", line 1173, in > __setattr__ > object.__setattr__(self, attr, value) > File "/usr/lib/pymodules/python2.6/webob/request.py", line 498, in > _body__set > raise ValueError("%s requests cannot have body" % self.method) > ValueError: GET requests cannot have body > (this was specifically when trying "swift -A http://127.0.0.1:8080/v1.0 -U > joeuser -K secrete post container" > Here's some relevant configs if it helps: > -- keystone.conf -- > > [DEFAULT] > # Show more verbose log output (sets INFO log level output) > verbose = True > # Show debugging output in logs (sets DEBUG log level output) > debug = True > # Which backend store should Keystone use by default. > # Default: 'sqlite' > # Available choices are 'sqlite' [future will include LDAP, PAM, etc] > default_store = sqlite > # Log to this file. Make sure you do not set the same log > # file for both the API and registry servers! > #log_file = /var/log/keystone.log > log_file = keystone.log > # SQLAlchemy connection string for the reference implementation > # registry server. Any valid SQLAlchemy connection string is fine. > # > See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine > sql_connection = sqlite:///../keystone/keystone.db > # Period in seconds after which SQLAlchemy should reestablish its connection > # to the database. > sql_idle_timeout = 30 > #Dictionary Maps every service to a header.Missing services would get header > X_(SERVICE_NAME) Key => Service Name, Value => Header Name > service-header-mappings = {'nova' : 'X-Server-Management-Url' , 'swift' : > 'X-Storage-Url', 'cdn' : 'X-CDN-Management-Url'} > # Address to bind the API server > #TODO Properties defined within app not available via pipeline.Till then > server props stay outside. > server_bind_host = 0.0.0.0 > # Port the bind the API server to > server_bind_port = 8080 > [app:admin] > paste.app_factory = keystone.server:admin_app_factory > # Address to bind the Admin API server > bind_host = 0.0.0.0 > # Port the bind the Admin API server to > bind_port = 8081 > [app:server] > paste.app_factory = keystone.server:app_factory > [pipeline:keystone-legacy-auth] > pipeline = > legacy_auth > server > [filter:legacy_auth] > paste.filter_factory = keystone.frontends.legacy_token_auth:filter_factory > > -- proxy-server.conf -- > > [DEFAULT] > bind_port = 8888 > user = root > log_facility = LOG_LOCAL1 > [pipeline:main] > pipeline = catch_errors healthcheck cache keystone proxy-server > [app:proxy-server] > use = egg:swift#proxy > allow_account_management = true > [filter:keystone] > use = egg:keystone#tokenauth > auth_protocol = http > auth_host = 127.0.0.1 > auth_port = 8081 > admin_token = 999888777666 > delay_auth_decision = 0 > service_protocol = http > service_host = 127.0.0.1 > service_port = 8100 > service_pass = dTpw > [filter:healthcheck] > use = egg:swift#healthcheck > [filter:cache] > use = egg:swift#memcache > [filter:catch_errors] > use = egg:swift#catch_errors > > > _______________________________________________ > Mailing list: https://launchpad.net/~openstack > Post to : openstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp > > > _______________________________________________ > Mailing list: https://launchpad.net/~openstack > Post to : openstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp > > _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp