[Openstack] Swift+Keystone error

Tres Henry tres at treshenry.net
Wed Jun 22 17:18:45 UTC 2011


Adding "account_autocreate = true" did not help. It looks like the error is
due to Swift sending content in the body of the get request to Keystone
which Keystone is kicking back. Here's the relevant portion of my
sampledata.sh if it helps (maybe I screwed something up):

#BaseURLs
./keystone-manage $* endpointTemplates add RegionOne swift
http://swift.publicinternets.com/v1/AUTH_%tenant_id%
http://swift.admin-nets.local:8080/
http://127.0.0.1:8888/v1/AUTH_%tenant_id% 1
./keystone-manage $* endpointTemplates add RegionOne nova_compat
http://nova.publicinternets.com/v1.0/ http://127.0.0.1:8774/v1.0
http://localhost:8774/v1.0 1
./keystone-manage $* endpointTemplates add RegionOne nova
http://nova.publicinternets.com/v1.1/ http://127.0.0.1:8774/v1.1
http://localhost:8774/v1.1 1
./keystone-manage $* endpointTemplates add RegionOne glance
http://glance.publicinternets.com/v1.1/%tenant_id%
http://nova.admin-nets.local/v1.1/%tenant_id%
http://127.0.0.1:9292/v1.1/%tenant_id% 1
./keystone-manage $* endpointTemplates add RegionOne cdn
http://cdn.publicinternets.com/v1.1/%tenant_id%
http://cdn.admin-nets.local/v1.1/%tenant_id%
http://127.0.0.1:7777/v1.1/%tenant_id% 1
./keystone-manage $* endpointTemplates add RegionOne keystone
http://keystone.publicinternets.com/v2.0 http://127.0.0.1:8081/v2.0
http://127.0.0.1:8080/v2.0 1

On Tue, Jun 21, 2011 at 9:45 PM, Todd Willey <todd at ansolabs.com> wrote:

> 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 <anotherjesse at 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 at lists.launchpad.net
> > Unsubscribe : https://launchpad.net/~openstack
> > More help   : https://help.launchpad.net/ListHelp
> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~openstack
> > Post to     : openstack at lists.launchpad.net
> > Unsubscribe : https://launchpad.net/~openstack
> > More help   : https://help.launchpad.net/ListHelp
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20110622/e8cba7d8/attachment.html>


More information about the Openstack mailing list