【问题标题】:Cloudfoundry grizzly keystone with devstack Install: configparser error in keystone.confCloudfoundry grizzly keystone 与 devstack 安装:keystone.conf 中的 configparser 错误
【发布时间】:2013-07-16 15:49:55
【问题描述】:

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

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/

解析指令:

https://github.com/openstack/keystone/blob/master/keystone/common/config.py

ConfigParser.InterpolationMissingOptionError :

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

我实际上不明白引用的哪个选项不存在..

提前感谢您的帮助。

达米安

【问题讨论】:

    标签: openstack configparser keystone devstack


    【解决方案1】:

    我在运行 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 分支之间是不同的。我认为'master'分支中的那个似乎现在可以在启用中子的情况下工作。

    【讨论】:

      【解决方案2】:

      这个错误是因为

      1. 你以 root 身份运行这个“stack.sh”

      或者你忘记在 /etc/keystone/keystone.conf 中修改你的配置

      1. chmod 777 /etc/keystone/keystone.conf

      unstack.sh 然后重新运行 stack.sh

      【讨论】:

        【解决方案3】:

        只是简单

        视觉

        将堆栈添加为与 root 相同但不需要密码的用户

        堆栈 ALL=(ALL:ALL) ALL

        su 栈

        cp -r /root/devstack /home/stack/

        cd /home/stack/devstack/

        ./stack.sh

        必要时先清理干净

        【讨论】:

          【解决方案4】:

          看起来像是一个已为 keystone https://bugs.launchpad.net/keystone/+bug/1201861 提交的错误,它仍然处于打开状态。

          【讨论】:

            【解决方案5】:

            修改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/"
            

            【讨论】:

              【解决方案6】:

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-05-19
                相关资源
                最近更新 更多