Devstack安装错误 - 初始化指定 - AttributeError:'module'对象没有属性'set_defaults'

时间:2016-11-10 13:59:43

标签: python python-2.7 installation attributeerror devstack

最近我成功地重新安装了Devstack几次。 今天我收到了以下错误:

==> default: 2016-11-10 13:26:02.723 | Initializing Designate
==> default: Traceback (most recent call last):
==> default:   File "/usr/local/bin/designate-manage", line 10, in <module>
==> default:     
==> default: sys.exit(main())
==> default:   File "/opt/stack/designate/designate/cmd/manage.py", line 110, in main
==> default:     utils.read_config('designate', sys.argv)
==> default:   File "/opt/stack/designate/designate/utils.py", line 109, in read_config
==> default:     config.set_defaults()
==> default:   File "/opt/stack/designate/designate/common/config.py", line 21, in set_defaults
==> default:     cors.set_defaults(
==> default: AttributeError: 'module' object has no attribute 'set_defaults'
==> default: Error on exit

安装在2个环境中完成:

  1. Vagrant + VirtualBox - “ubuntu / trusty64”image + branch stable / mitaka
  2. VMWare Fusion与Ubuntu 14.04.5 LTS服务器映像+分支 stable / mitaka
  3. 在每种情况下都会发生相同的错误。

    今天和之前的每个(成功)安装都是在local.conf中启用了Designate插件完成的:

    # Enable designate
    enable_plugin designate https://git.openstack.org/openstack/designate   
    
    # Designate Devstack Config
    # =========================
    # Enable core Designate services
    enable_service designate,designate-central,designate-api,designate-pool-manager,designate-zone-manager,designate-mdns
    

    看起来指定 oslo.middleware Python模块之间的版本不匹配,这些版本在最近几天(或几小时)发布。

    任何想法如何解决?

2 个答案:

答案 0 :(得分:1)

对于其他任何偶然发现的人:

我收到升级到ocata的错误,因为keystone-wsgi-public脚本试图调用cors.set_defaults(并抛出相同的错误)。这个cors depdency是作为python2-oslo-middleware RPM的一部分提供的,我需要手动yum upgrade d(软依赖)。

答案 1 :(得分:0)

由于以下提交,我遇到了错误: https://github.com/openstack/designate/commit/04374fcb53bc5c4d5cfb058907d5b351ed546a38

虽然这很糟糕,因为我应该为插件声明 stable / mitaka 分支(更一般地说 - 与Devstack克隆的分支相同),所以它应该如下所示:

# Enable designate
enable_plugin designate https://git.openstack.org/openstack/designate stable/mitaka

以上解决了我的问题。