OpenStack Designate: AuthTokenPlugin has no attribute register conf options

2024-03-29 05:33:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始使用OpenStack。问题是:我正在为OpenStack(DNSaaS)设置指定,并且我已经根据这里的指令设置了它--https://designate.readthedocs.org/en/latest/getting-started.html

使用“noauth”auth峎u策略,API和中心服务可以正常工作,但是我正在寻找与OpenStack Keystone的集成,因此我在指定.conf文件:

#-----------------------
# API Service
#-----------------------
[service:api]
# Address to bind the API server
api_host = 0.0.0.0

# Port the bind the API server to
api_port = 9001

# Authentication strategy to use - can be either "noauth" or "keystone"
auth_strategy = keystone

&

^{pr2}$

&

##############
## Network API
##############
[network_api:neutron]
endpoints = RegionOne|http://xxx.xxx.xxx.xxx:9696
endpoint_type = publicURL
timeout = 30
admin_username = redacted
admin_password = redacted
admin_tenant_name = service
auth_url = http://xxx.xxx.xxx.xxx:35357/v2.0
#insecure = False
auth_strategy = keystone
#ca_certificates_file = /etc/path/to/ca.pem

保存这些更改并启动指定API后,将出现以下错误,并且服务未启动:

2015-02-23 11:44:09.534 27878 TRACE designate   File "/usr/local/lib/python2.7/dist-packages/keystonemiddleware/auth_token.py", line 667, in <module>
2015-02-23 11:44:09.534 27878 TRACE designate     _AuthTokenPlugin.register_conf_options(CONF, _AUTHTOKEN_GROUP)
2015-02-23 11:44:09.534 27878 TRACE designate AttributeError: type object '_AuthTokenPlugin' has no attribute 'register_conf_options'
2015-02-23 11:44:09.534 27878 TRACE designate 

显然,AuthTokenPlugin没有“register”“conf”“options”属性。再仔细检查一下_令牌.py文件,它与指定(keystonemiddleware plugin)一起提供。 这里只提到了“register_conf_options”的两个实例;调用它的第667行。在

_AuthTokenPlugin.register_conf_options(CONF, _AUTHTOKEN_GROUP)

早些时候在335号线:

_AUTHTOKEN_GROUP = 'keystone_authtoken'
CONF = cfg.CONF
CONF.register_opts(_OPTS, group=_AUTHTOKEN_GROUP)
auth.register_conf_options(CONF, _AUTHTOKEN_GROUP) 

问题出在哪里?我该怎么做呢?提前感谢您的任何提示或解决方案。在


Tags: toauthregisterapiconfkeystonegrouptrace
2条回答

不幸的是那些文件已经过时了。:(不过,他们应该在很大程度上起作用。我只是在一个可信的虚拟机上浏览了一下,似乎对我有用。在

当前文档在这里-http://docs.openstack.org/developer/designate/

这可能是您当前安装的其他OpenStack项目的版本与您尝试安装的指定版本之间的不兼容。在

这看起来像是keystonemiddleware的问题。我们不把它作为指定的一部分,它是作为一个要求。在

最好的开始是获取您拥有的OpenStack版本,然后是virtualenv中pip freeze的输出。在

通常也有一些人在freenode上的openstack dns中,他们可以实时地执行任务

我也在尝试同样的事情,但我不会犯这样的错误。 最终指定服务正在启动find,但是当我使用keystone用户名和密码点击api url时,它给了我401错误。在

我不知道问题出在哪里。 这是/var/log/designate/designate.api.log的痕迹

keystonemiddleware.auth_token [-] Unable to find authentication token in headers
keystonemiddleware.auth_token [-] Invalid user token - rejecting request
eventlet.wsgi [-] 203.143.184.13,54.85.95.189 - - [23/Feb/2015 05:37:24] "GET /v1/servers HTTP/1.1" 401 282 0.001634

相关问题 更多 >