由于在使用openstack自动化部署工具mirantis fuel的过程中,老是出现一些无缘无故的失败,比如我使用fuel 9 安装mitaka版本openstack的时候,正常安装3节点(1个controller、1个compute、1个cinder)、5节点HA(3个controller、1个compute、1个cinder),都没有问题。但是灵活部署硬件复用的时候就都失败了,比如controller和cinder同时使用一台硬件,另外,单独启用baremetal组件ironic的时候也部署失败。由于fuel是通过puppet来自动化部署软件的,因此,为了彻底弄清楚为什么失败,还是需要将puppet研究一下。

    按照以前的学习经验,首先找师傅,在51cto网站上找到puppet专家的博客,http://dreamfire.blog.51cto.com/418026/1366996 ,这个名字叫 kisspuppet的高手对puppet很有研究,并且整理了从入门到实战的所有资料在博客里面。通过里面的资料和实验逐个学习相关的知识点。

    实验阶段,前面搭建环境以及最初的安装配置测试都比较顺利,到了使用mcollective的时候,需要安装rabbitmq,碰到一些问题,文档里面是直接通过yum install安装,但是没有说明yum源的获取方法,后面我是直接找官网的rpm包进行的安装,其中 erlang的下载地址是:http://www.erlang.org/downloads  我下载最新版本19.2  ,rabbixmq-server 的下载地址:https://www.rabbitmq.com/releases/rabbitmq-server/  ,刚开始我下载了3.6.6-er7 版本,安装成功后老是提示rabbitmq-server起不来,后面将原来版本卸载:  rpm -e rabbitmq-server ,再重新下载和安装了这个版本:rabbitmq-server-3.5.6-1.noarch.rpm  就成功了。安装的时候碰到两个注意事项,记录一下:

    1、使用源码安装erlang成功后,设置 /etc/profile 关于erlang的PATH,同时还需要建一个链接,ln -s /opt/erlang/bin/erl /usr/bin/erl  ,否则在安装rabbitmq-server 的时候还是找不到erl。

    2、用rpm命令安装rabbitmq-server 在检查软件依赖关系的时候报错erl的版本不配套,需要用 rpm --nodeps 参数忽略。