[Openstack] Swift issues with Swift3

John Dickinson me at not.mn
Tue Jan 8 15:07:30 UTC 2013


The "use" line in the swift3 section is wrong. Your config tells the proxy to load that module from the swift project (ie from swift import swift3). However, that won't work because swift3 isn't shipped with swift. Instead you need to have something like "use = egg:swift3#middleware".

For more info on how the paste deploy config works, see http://pythonpaste.org/deploy/#config-format


--John



On Jan 8, 2013, at 6:59 AM, Sandopolus <sandopolus at gmail.com> wrote:

> Hi all
> 
> I have managed to get the Swift installation working correctly with the Swift API's using tempauth.
> But i am currently having issues when starting the Proxy after adding the Swift3 setup into the Proxy config and i was hoping someone could point me in the right direction.
> 
> My current setup is as follows:
> 
> Swift 1.7.4 installation on CentOS 6 using the EPEL6 packages on AWS.
> The Swift Proxy and Memcache are running on node 1
> The Swift Account, Container and Object servers are running on node 2
> 
> During startup of the Proxy Server i am getting an error which i have put below. Searching online revealed similar issues when swift3 wasn't installed, but i have checked the following things below and it looks like swift3 is installed. Python isn't my main language so still a bit lost and finding my way around the language.
> Any pointers would be appreciated.
> 
> Items checked on the Proxy Node
> Package manager says openstack-swift-plugin-swift3.noarch 1.0.0-0.20120711git.el6 is installed
> Python terminal help('modules') command lists both swift and swift3
> Python terminal help('modules swift3') command returns the following 2 lines
>  - swift3 - Static Web Middleware for OpenStack Swift
>  - swift3.middleware - The swift3 middleware will emulate the S3 REST api on top of swift.
> 
> Proxy Server Startup Error
> sudo swift-init proxy start
> Starting proxy-server...(/etc/swift/proxy-server.conf)
> Traceback (most recent call last):
>   File "/usr/bin/swift-proxy-server", line 22, in <module>
>     run_wsgi(conf_file, 'proxy-server', default_port=8080, **options)
>   File "/usr/lib/python2.6/site-packages/swift/common/wsgi.py", line 138, in run_wsgi
>     loadapp('config:%s' % conf_file, global_conf={'log_name': log_name})
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 247, in loadapp
>     return loadobj(APP, uri, name=name, **kw)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 271, in loadobj
>     global_conf=global_conf)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 296, in loadcontext
>     global_conf=global_conf)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 320, in _loadconfig
>     return loader.get_context(object_type, name, global_conf)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 450, in get_context
>     global_additions=global_additions)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 562, in _pipeline_app_context
>     for name in pipeline[:-1]]
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 454, in get_context
>     section)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 476, in _context_from_use
>     object_type, name=use, global_conf=global_conf)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 406, in get_context
>     global_conf=global_conf)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 296, in loadcontext
>     global_conf=global_conf)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 328, in _loadegg
>     return loader.get_context(object_type, name, global_conf)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 620, in get_context
>     object_type, name=name)
>   File "/usr/lib/python2.6/site-packages/PasteDeploy-1.5.0-py2.6.egg/paste/deploy/loadwsgi.py", line 659, in find_egg_entry_point
>     for prot in protocol_options] or '(no entry points)'))))
> LookupError: Entry point 'swift3' not found in egg 'swift' (dir: /usr/lib/python2.6/site-packages; protocols: paste.filter_factory, paste.filter_app_factory; entry_points: )
> 
> proxy-server.conf is as follows
> 
> [DEFAULT]
> bind_port = 8080
> workers = 8
> user = swift
> 
> [pipeline:main]
> pipeline = healthcheck cache swift3 tempauth proxy-logging proxy-server
> 
> [app:proxy-server]
> use = egg:swift#proxy
> allow_account_management = true
> account_autocreate = true
> 
> [filter:swift3]
> use = egg:swift#swift3
> 
> [filter:tempauth]
> use = egg:swift#tempauth
> user_system_root = testpass .admin http://X.X.X.X:8080/v1/AUTH_system
> 
> [filter:healthcheck]
> use = egg:swift#healthcheck
> 
> [filter:cache]
> use = egg:swift#memcache
> memcache_servers = 127.0.0.1:11211
> 
> [filter:catch_errors]
> use = egg:swift#catch_errors
> 
> [filter:proxy-logging]
> use = egg:swift#proxy_logging
> 
> 
> 
> Ta
> 
> Sandy
> _______________________________________________
> 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 --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4082 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20130108/fd9ad55c/attachment.bin>


More information about the Openstack mailing list