2014-02-27 4 views
1

저는 현재 신속한 검토를하고 있으며, 실행중인 프록시가 붙어 있습니다. 다음은 '신속한 프록시 재시작'을 실행했을 때 내가 직면 한 오류입니다.LookupError : 진입 점 'XXX'이 (가) 'YYY'계란에 없습니다. 그러나 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 패키지에있는 egg 정보와 소스 파일을 살펴 봅니다.

위에서 볼 수 있듯이

[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 

/usr/local/lib/python2.7/dist-packages/swift-1.12.0.113.g076634e.egg-info/entry_points.txt 라인 'tempurl = swift.common.middleware.tempurl : filter_factory '실제로 존재합니다. (달걀 구조에 익숙하지 않아 실행하기에 충분하다고 확신하지 못합니다.) 그 라인을 확인한 후에 실제로 그 tempurl.py를 발견했습니다. /usr/local/lib/python2.7/dist-packages/swift/common/middleware/tempurl.py에 존재합니다. tempurl.py를로드하는 데는 충분합니다. 이 문제를 해결하려면 어디로 가야합니까? 도움을 주셔서 미리 감사드립니다.

ps. 내가 읽는 모든 문서는 proxy-server.conf에 '[filter : tempurl]'을 사용합니다. 하지만 아래에서 오류가 발생하여 '[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 

답변

0

나는 다음과 같은 라인을 가지고있다 :이 고정되기 전에

#[filter:authtoken] 
#use = egg:swift#proxy 
#allow_account_management = true 
#account_autocreate = true 

가 여기 내 오류 출력을 간다. 과학 !!!.

[[email protected] swift]# systemctl status openstack-swift-proxy.service -l 
    ● openstack-swift-proxy.service - OpenStack Object Storage (swift) - Proxy Server 
     Loaded: loaded (/usr/lib/systemd/system/openstack-swift-proxy.service; enabled; vendor preset: disabled) 
     Active: failed (Result: exit-code) since Fri 2016-02-26 19:27:07 WET; 3min 10s ago 
     Process: 20405 ExecStart=/usr/bin/swift-proxy-server /etc/swift/proxy-server.conf (code=exited, status=1/FAILURE) 
    Main PID: 20405 (code=exited, status=1/FAILURE) 

Feb 26 19:27:07 controller005.company.domain.xxx.domain.net swift-proxy-server[20405]: File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg 
Feb 26 19:27:07 controller005.company.domain.xxx.domain.net swift-proxy-server[20405]: return loader.get_context(object_type, name, global_conf) 
Feb 26 19:27:07 controller005.company.domain.xxx.domain.net swift-proxy-server[20405]: File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 620, in get_context 
Feb 26 19:27:07 controller005.company.domain.xxx.domain.net swift-proxy-server[20405]: object_type, name=name) 
Feb 26 19:27:07 controller005.company.domain.xxx.domain.net swift-proxy-server[20405]: File "/usr/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 659, in find_egg_entry_point 
Feb 26 19:27:07 controller005.company.domain.xxx.domain.net swift-proxy-server[20405]: for prot in protocol_options] or '(no entry points)')))) 
Feb 26 19:27:07 controller005.company.domain.xxx.domain.net swift-proxy-server[20405]: LookupError: Entry point 'proxy' not found in egg 'swift' (dir: /usr/lib/python2.7/site-packages; protocols: paste.filter_factory, paste.filter_app_factory; entry_points:) 
Feb 26 19:27:07 controller005.company.domain.xxx.domain.net systemd[1]: openstack-swift-proxy.service: main process exited, code=exited, status=1/FAILURE 
Feb 26 19:27:07 controller005.company.domain.xxx.domain.net systemd[1]: Unit openstack-swift-proxy.service entered failed state. 
Feb 26 19:27:07 controller005.company.domain.xxx.domain.net systemd[1]: openstack-swift-proxy.service failed. 
[[email protected] swift]# cat /usr/lib/python2.7/site-packages/swift-2.3.0-py2.7.egg-info/entry_points.txt 
[paste.app_factory] 
mem_object = swift.obj.mem_server:app_factory 
account = swift.account.server:app_factory 
object = swift.obj.server:app_factory 
container = swift.container.server:app_factory 
proxy = swift.proxy.server:app_factory 

[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 
xprofile = swift.common.middleware.xprofile: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 

[[email protected] swift]#