我目前正在查看swift,並且我停留在運行代理上。下面是我運行'swift-init proxy restart'時遇到的錯誤。LookupError:未在蛋'YYY'中找到入口點'XXX',但XXX存在於蛋'YYY'
Traceback (most recent call last):
File "/usr/local/bin/swift-proxy-server", line 23, in <module>
sys.exit(run_wsgi(conf_file, 'proxy-server', default_port=8080, **options))
File "/usr/local/lib/python2.7/dist-packages/swift/common/wsgi.py", line 386, in run_wsgi
loadapp(conf_path, global_conf=global_conf)
File "/usr/local/lib/python2.7/dist-packages/swift/common/wsgi.py", line 313, in loadapp
ctx = loadcontext(loadwsgi.APP, conf_file, global_conf=global_conf)
File "/usr/local/lib/python2.7/dist-packages/swift/common/wsgi.py", line 305, in loadcontext
global_conf=global_conf)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
global_conf=global_conf)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig
return loader.get_context(object_type, name, global_conf)
File "/usr/local/lib/python2.7/dist-packages/swift/common/wsgi.py", line 59, in get_context
object_type, name=name, global_conf=global_conf)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 450, in get_context
global_additions=global_additions)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 559, in _pipeline_app_context
APP, pipeline[-1], global_conf)
File "/usr/local/lib/python2.7/dist-packages/swift/common/wsgi.py", line 59, in get_context
object_type, name=name, global_conf=global_conf)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 454, in get_context
section)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 476, in _context_from_use
object_type, name=use, global_conf=global_conf)
File "/usr/local/lib/python2.7/dist-packages/swift/common/wsgi.py", line 59, in get_context
object_type, name=name, global_conf=global_conf)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 406, in get_context
global_conf=global_conf)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
global_conf=global_conf)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg
return loader.get_context(object_type, name, global_conf)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 620, in get_context
object_type, name=name)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 659, in find_egg_entry_point
for prot in protocol_options] or '(no entry points)'))))
LookupError: Entry point 'tempurl' not found in egg 'swift' (dir: /usr/local/lib/python2.7/dist-packages; protocols: paste.app_factory, paste.composite_factory, paste.composit_factory; entry_points:)
因此,我查看dist-packages中存在的egg-info和源文件。
/usr/local/lib/python2.7/dist-packages/swift-1.12.0.113.g076634e.egg-info/entry_points.txt
[paste.filter_factory]
formpost = swift.common.middleware.formpost:filter_factory
gatekeeper = swift.common.middleware.gatekeeper:filter_factory
container_quotas = swift.common.middleware.container_quotas:filter_factory
container_sync = swift.common.middleware.container_sync:filter_factory
catch_errors = swift.common.middleware.catch_errors:filter_factory
ratelimit = swift.common.middleware.ratelimit:filter_factory
keystoneauth = swift.common.middleware.keystoneauth:filter_factory
tempauth = swift.common.middleware.tempauth:filter_factory
list_endpoints = swift.common.middleware.list_endpoints:filter_factory
dlo = swift.common.middleware.dlo:filter_factory
name_check = swift.common.middleware.name_check:filter_factory
domain_remap = swift.common.middleware.domain_remap:filter_factory
proxy_logging = swift.common.middleware.proxy_logging:filter_factory
crossdomain = swift.common.middleware.crossdomain:filter_factory
healthcheck = swift.common.middleware.healthcheck:filter_factory
tempurl = swift.common.middleware.tempurl:filter_factory
bulk = swift.common.middleware.bulk:filter_factory
memcache = swift.common.middleware.memcache:filter_factory
account_quotas = swift.common.middleware.account_quotas:filter_factory
staticweb = swift.common.middleware.staticweb:filter_factory
cname_lookup = swift.common.middleware.cname_lookup:filter_factory
recon = swift.common.middleware.recon:filter_factory
slo = swift.common.middleware.slo:filter_factory
正如你可以在上面看到,行「tempurl = swift.common.middleware.tempurl:filter_factory'實際上存在(我不熟悉蛋結構,所以我不確定那些行是否足夠用於運行。)確認這些行後,我發現tempurl.py實際上存在於/usr/local/lib/python2.7/dist-packages/swift/common/middleware/tempurl.py。它看起來像加載tempurl.py的一切都足夠了。我應該去哪裏解決這個問題。 在此先感謝您的幫助。
PS。 我讀的每篇文檔都使用'[filter:tempurl]'代替proxy-server.conf。但是我在下面遇到了錯誤,所以我將它改爲'[app:tempurl]'。我面臨第二個問題。第一個問題也來自'loadwsgi'。所以我假設第一個問題也與這個加載蛋問題有關。
....
object_type, name=name)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 587, in find_config_section
self.filename))
LookupError: No section 'tempurl' (prefixed by 'app' or 'application' or 'composite' or 'composit' or 'pipeline' or 'filter-app') found in config /etc/swift/proxy-server.conf