关于openstack下发虚拟机定义主机名、网络配置等cloud-init取参

时间:2024-03-15 13:26:57

openstack 平台功能强大
此为遇到需要优化的地方,进行标记:

cloud-init v 0.7.9 版本
工具安装到虚拟机,为虚拟机系统发放配置传参。
https://cloudinit.readthedocs.io/en/latest/topics/modules.html#set-hostname
官方参考说明。

目前遇到 新下发的虚拟机centos7,cloud-init接收网络配置,强制覆盖DNS配置文件。ntp.conf 会追加Neutron组件所指定NTP地址。
需要把此俩项功能关闭,采用固化在虚拟机镜像中的配置。
vi /etc/cloud/cloud.cfg
关于openstack下发虚拟机定义主机名、网络配置等cloud-init取参追加
network:
config:disabled

关闭cloud-init对网络文件控制权。

关于openstack下发虚拟机定义主机名、网络配置等cloud-init取参追加
PEERDNS=no
PEERNTP=no
不对此俩项服务进行修改。

由于针对单一镜像,所以不对openstack Neutron组件配置文件修改,减少影响项。

另一问题,发放的虚机名会被添加.novalocal
hostname 设置是nova组件提供的服务,cloud-init 进行传参。
可在cloud-init 服务/var/lib/cloud/ 下载缓存目录查看接收的结果。
实现的文件
/usr/lib/python2.7/site-packages/cloudinit/configcc_set_hostname
源码。
如果要去掉尾缀可以编写正侧进行处理,需要有二次开发的编程能力。
由于接收的就有尾缀,而且需要进行全局修改。所以直接对nove提供的服务进行修改。

在nova组件/etc/nova/nova.conf
配置dhcp_domain 参数置空
参考链接
http://blog.sina.com.cn/s/blog_6f2d2e310102ws6k.html

cps template-ext-params-add --service nova nova-api --parameter DEFAULT.dhcp_domain=
对openstack实时生效。不同版本可能不通用命令。

相关参考:
https://bugs.launchpad.net/nova/+bug/1698010