声明:
本博客欢迎转载,但请保留原作者信息!
作者:张洋
团队:华为杭州OpenStack团队
devtest的脚本可以用来启动一些虚拟机并在虚拟机中部署seed节点以及undercloud和overcloud节点,进行CI的验证,它的实现使用了大量的shell脚本,下面分享下最近使用这个脚本搭建TripleO环境的一些简单理解。
脚本参数:
--trash-my-machine 表明这个脚本可能会对系统做出比较大的改动,若不下发这个参数,脚本不会执行任何操作
-c 使用之前已经存在的镜像,若已经有了这些镜像开启此选项能节省大量时间
--existing-environment
--bm-networks NETFILE 可以定义给baremetal虚拟机使用的网络的部署方案。
--nodes NODEFILE
--no-undercloud
--build-only 开启该选项使脚本
--no-mergepy
--debug-logging
--heat-env-undercloud ENVFILE
--heat-env-overcloud ENVFILE
--download-images URL
devtest.sh的脚本包含了devtest_variables, devtest_setup,devtest_testenv, devtest_ramdisk, devtest_seed, devtest_undercloud,devtest_overcloud, devtest_end等一系列的脚本,这其中的每个脚本都是可以独立作用的,可以根据需要从中间的某一步开始执行。
devtest_variables.sh 脚本包含devtest需要的环境变量,可以对其中的环境变量根据实际部署的需求进行修改,具体参数含义在官方文档中 http://docs.openstack.org/developer/tripleo-incubator/devtest_variables.html
devtest_setup.sh 首先将之前从git上下载的tripleo-incubator的代码进行更新,然后调用install-dependencies脚本来安装依赖组件。
devtest_testenv.sh 这个脚本根据传入参数来创建seed、undercloud以及overcloud的虚拟机。
devtest_ramdisk.sh 创建部署需要的ramdisk和kernel,seed以及undercloud用它们来部署baremetal。
devtest_seed.sh 拉起seed虚拟机,虚拟机中运行all in one的openstack环境,其中ironic服务将管理undercloud的baremetal虚拟机。
devtest_undercloud.sh 制作undercloud的镜像并通过seed中创建heat模板拉起虚拟机,虚拟机中的openstack的ironic服务将管理剩余的baremetal虚拟机。
devtest_overcloud.sh 制作overcloud的镜像并在undercloud的openstack环境中根据设定的控制节点、计算节点以及存储节点拉起baremetal虚拟机,并在其中把openstack配置好。
devtest_end.sh 完成部署,并把overcloud所以用的环境变量写入到文件中去。
(未完待续)