使用当前的Landscape的“ OpenStack Beta”选项在我的MAAS设置上部署OpenStack。我完成了98%,在“配置可用性区域”上出现1个故障。我的设置使用了KVM,Open vSwitch,目前我使用Ceph来存储对象和块。当我在景观机器上查看/var/log/landscape/job-handler-1.log时,看到有关以下内容的100多个错误:
2015-03-05 21:18:38 INFO root RetryingCall for'_get_nova_info'失败,尝试了103次以上的时间:2015-03-05 21:18:38 INFO root Traceback::缺少4个nova-compute单位
/ usr /lib/python2.7/threading.py:783:__bootstrap
/usr/lib/python2.7/threading.py:810:__bootstrap_inner
/usr/lib/python2.7/threading.py:763:run
--- <在这里捕获到异常>--/
usr/
lib/ python2.7/ dist-packages/ twisted/ python/ threadpool.py: 191: _worker /usr/lib/python2.7/dist-packages/twisted/python/context。 py:118:callWithContext
/usr/lib/python2.7/dist-packages/twisted/python/context.py:81:callWithContext
/usr/lib/python2.7/dist-packages/storm/twisted/transact.py: 76:_wrap
/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py:751:_get_nova_info
注意:Jobs.py中的行号已关闭,因为我添加了一些用于调试的打印语句。这是在#741行附近的_get_nova_info()函数中的断言(如果有内存可用的话),是的,我正在使用landscape ppa中截至今天的最新版本的landscape来进行信任。
所以我修改/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py的_get_nova_info()函数来打印出的长度nova_compute_hostnames,我得到了零。所以我把它追到/opt/canonical/landscape/canonical/landscape/model/openstack/region.py的get_nova_compute_hostnames()中,发现self.juju_environment.get_computer_ids()。count()也为零。所以我添加了对self.juju_environment.has_computers()的调用,并得到false。然后我运行了self.juju_environment.get_juju_home()并得到了/ var / lib / landscape / juju-homes / 20。(是的,这是我第二次重建景观盒的尝试,我已经有一段时间了。)因此,我利用上面提到的枣家跑到了枣的地位,看上去一切都很好。所有5台机器和服务均已启动,没有挂起或错误状态。(包括4个nova-compute节点)有什么想法吗?我对景观,MAAS,JUJU和python还是有些陌生,所以调试有点慢。
更新1:
根据请求,我有2条日志(尽管我的家现在是#23) juju status和broker.log。我想我现在知道下面的broker.log片段存在的问题。(感谢dpb将我指向那里。)我的MAAS机器正在向我的风景LXC提供DHCP地址,但是我的风景LXC不在MAAS控制的DNS中,因为它不是由MAAS设置的。因此,配置的计算机无法按名称连接到风景服务器。
因此,这引出了一个相关的问题,是否有一种很好的方法让MAAS使用未配置的计算机(或在MAAS控制下)自动更新DNS?如果没有,我将不得不给它一个超出DHCP范围的静态IP,并手动设置DNS。
2015-03-06 17:09:50,665 INFO [MainThread]代理从config /etc/landscape/client.conf启动
2015-03-06 17:09:52,382 INFO [MainThread]与https:// landscape开始紧急消息交换/ message-system。
2015-03-06 17:09:52,389错误[PoolThread-twisted.internet.reactor-1]在https:// landscape / message-system处联系服务器时出错。
追溯(最近一次通话最近):
文件“ /usr/lib/python2.7/dist-packages/landscape/broker/transport.py”,行71,在交换
message_api中)
文件“ /usr/lib/python2.7/ dist-packages / landscape / broker / transport.py“,第45行,位于_curl
标头=标头,cainfo = self._pubkey,curl = curl))
文件“ /usr/lib/python2.7/dist-packages/landscape/lib/fetch.py”,第109行,在抓取时
引发PyCurlError(e.args [0],e.args 1)
PyCurlError:错误6:可能无法解析主机:landscape
2015-03-06 17:09:52,390 INFO [MainThread]消息交换失败。
2015-03-06 17:09:52,391信息[MainThread]消息交换在0.01秒内完成。
更新2:
我的设置有点受限制,因为我仅获得了6台机器(5个节点和1个控制器)来展示OpenStack / Landscape的功能,所以我不能使用专用的机器来进行景观设计。我在MAAS控制器的LXC中使用了landscape-server-quickstart,因此我可以快速删除它并重新开始。
因此我取消了格局设置,并将LXC设置为静态IP,然后修改了DNS(由MAAS控制)以为我的格局服务器提供静态DNS条目。然后,我使用上述的landscape-server-quickstart方法在LXC上安装了Landscape专用服务器。
重新安装后(主要是为了清除所有调试混乱),我终于能够通过横向安装OpenStack。谢谢。