Openstack Cloudfoundry grizzly keystone with devstack安装:keystone.conf中的configparser错误

Openstack Cloudfoundry grizzly keystone with devstack安装:keystone.conf中的configparser错误,openstack,configparser,keystone,devstack,Openstack,Configparser,Keystone,Devstack,我正在尝试在新的ubuntu 12.04服务器上安装opnstack grizzly。 sript运行fin,直到达到该点: screen -S stack -p key -X stuff 'cd /opt/stack/keystone && /opt/stack/keystone/bin/keystone-all --config-file /etc/keystone/keystone.con' --log- config /etc/keystone/logging

我正在尝试在新的ubuntu 12.04服务器上安装opnstack grizzly。 sript运行fin,直到达到该点:

screen -S stack -p key -X stuff 'cd /opt/stack/keystone &&  
/opt/stack/keystone/bin/keystone-all --config-file /etc/keystone/keystone.con' --log-  
config  
/etc/keystone/logging.conf -d --debug || touch "/opt/stack/status/stack/key.failure"
2013-07-16 17:33:03 + echo 'Waiting for keystone to start...'
2013-07-16 17:33:03 Waiting for keystone to start...
2013-07-16 17:33:03 + timeout 60 sh -c 'while ! http_proxy= curl -s   
http://192.168.20.69:5000/v2.0/ >/dev/null; do sleep 1; done'
2013-07-16 17:34:03 + die 311 'keystone did not start'
2013-07-16 17:34:03 + local exitcode=0
2013-07-16 17:34:03 + set +o xtrace
2013-07-16 17:34:03 [ERROR] ./stack.sh:311 keystone did not start
日志文件:

File "/opt/stack/keystone/bin/keystone-all", line 112, in <module>
options = deploy.appconfig('config:%s' % paste_config)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 261, in appconfig
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/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 413, in get_context
defaults = self.parser.defaults()
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 68, in defaults
defaults[key] = self.get('DEFAULT', key) or val
File "/usr/lib/python2.7/ConfigParser.py", line 623, in get
return self._interpolate(section, option, value, d)
File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 75, in _interpolate
self, section, option, rawval, vars)
File "/usr/lib/python2.7/ConfigParser.py", line 669, in _interpolate
option, section, rawval, e.args[0])
ConfigParser.InterpolationMissingOptionError: Error in file /etc/keystone/keystone.conf:   
Bad value substitution:
    section: [DEFAULT]
    option : admin_endpoint
    key    : admin_port
    rawval : http://192.168.20.69:%(admin_port)s/
文件“/opt/stack/keystone/bin/keystone all”,第112行,在
options=deploy.appconfig('config:%s'%paste\u config)
appconfig中的第261行文件“/usr/lib/python2.7/dist packages/paste/deploy/loadwsgi.py”
全局配置=全局配置)
loadcontext中的文件“/usr/lib/python2.7/dist packages/paste/deploy/loadwsgi.py”,第296行
全局配置=全局配置)
文件“/usr/lib/python2.7/dist packages/paste/deploy/loadwsgi.py”,第320行,在_loadconfig中
return loader.get_context(对象类型、名称、全局配置)
get_上下文中的文件“/usr/lib/python2.7/dist packages/paste/deploy/loadwsgi.py”,第413行
defaults=self.parser.defaults()
默认情况下,文件“/usr/lib/python2.7/dist packages/paste/deploy/loadwsgi.py”,第68行
默认值[key]=self.get('DEFAULT',key)或val
get中的文件“/usr/lib/python2.7/ConfigParser.py”,第623行
返回自插值(截面、选项、值、d)
文件“/usr/lib/python2.7/dist packages/paste/deploy/loadwsgi.py”,第75行,插入
self、section、option、rawval、vars)
文件“/usr/lib/python2.7/ConfigParser.py”,第669行,插入
选项,节,rawval,e.args[0])
ConfigParser.InterpolationMissingOptionError:文件/etc/keystone/keystone.conf中的错误:
错误值替换:
章节:[默认]
选项:admin_端点
密钥:管理端口
罗瓦尔:http://192.168.20.69:%(管理端口)s/
解析指令:

ConfigParser.InterpolationMissingOptionError:

当从值引用的选项不存在时引发异常。插值错误的子类

实际上,我不知道引用的哪个选项不存在

提前感谢您的帮助


达米恩

我自己也遇到了这个。问题在于DevStack正在/etc/Keystone/Keystone.conf中构建一个Keystone配置文件,其中在设置选项“admin_port”之前使用了该选项。您不能只编辑keystone.conf并重新运行stack.sh,因为您编辑的版本将被覆盖。我仍在查找导致配置文件损坏的代码….

此错误是因为

  • 您以root用户身份运行此“stack.sh”
  • 或者忘记在/etc/keystone/keystone.conf中chmod您的配置

  • chmod 777/etc/keystone/keystone.conf
  • 取消stack.sh,然后重新运行stack.sh

    维苏多 以用户身份添加堆栈,该用户将与root用户执行相同的操作,但不需要密码

    堆栈全部=(全部:全部)全部

    su堆栈 cp-r/root/devstack/home/stack/ cd/home/stack/devstack/ /stack.sh
    如有必要,请先清除所有漏洞。

    看起来像是为keystone归档的bug,但它仍然处于打开状态。

    修改devstack/lib/keystone如下:

    iniset $KEYSTONE_CONF DEFAULT public_endpoint "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:35357/"
    iniset $KEYSTONE_CONF DEFAULT admin_endpoint "$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:5000/"
    

    我在运行stack.sh时遇到了同样的问题。运行stack.sh时的localrc文件为:

    disable_service n-net
    enable_service q-svc
    enable_service q-agt
    enable_service q-dhcp
    enable_service q-l3
    enable_service q-meta
    enable_service neutron
    # enable_service q-lbass
    disable_service mysql
    enable_service postgresql
    # enable_service swift
    # SWIFT_HASH=devstack
    #
    LOGFILE=$DEST/logs/stack.log
    SCREEN_LOGDIR=$DEST/logs/screens
    #
    SERVICE_TOKEN=devstack
    SCHEDULER=nova.scheduler.chance.ChanceScheduler
    
    # Repositories
    GLANCE_BRANCK=stable/grizzly
    HORIZON_BRANCH=stable/grizzly
    KEYSTONE_BRANCH=stable/grizzly
    NOVA_BRANCH=stable/grizzly
    NEUTRON_BRANCH=stable/grizzly
    CINDER_BRANCH=stable/grizzly
    SWIFT_BRANCH=stable/grizzly
    PBR_BRANCH=master
    REQUIREMENTS_BRANCH=stable/grizzly
    CEILOMETER_BRANCH=stable/grizzly
    ...
    
    然而,在我删除了存储库定义,并让stackrc中的默认值接管之后,即所有分支都指向“master”,问题就消失了

    此外,/opt/stack/keystone/bin/keystone all脚本的内容在stable/grizzly和master分支之间是不同的。我认为“主”分支中的一个现在似乎在启用E中子的情况下工作