我设法连接了Foreman和OpenStack,这样我就可以使用Foreman接口在OpenStack中创建VM。我正在使用云init,或者Foreman如何调用它,用户数据配置模板,以提供一个新创建的实例。
为了测试目的,我使用了这个云-配置脚本:
#cloud-config: users: - name: danil groups: sudo shell: /bin/bash sudo: ['ALL=(ALL) NOPASSWD:ALL'] chpasswd: list: | danil:<hidden> root:<hidden> expire: False runcmd: - apt-get install -y puppet - sed -i -e 's/\[main\]/\[main\]\nserver=foreman.domain.com/' /etc/puppet/puppet.conf - puppet agent --test - puppet agent --enable - puppet agent --test
我正在添加一个新主机,在VM被拆分之后,我可以看到它是一个名为newhost.domain.com的主机,它的模型名为OST2,是我在Foreman中为OpenStack计算资源使用的名称。在该主机中,我可以执行一些基本任务,例如关闭VM、删除它等等。
云配置脚本完成了它的工作,即它安装傀儡,并通过Foreman智能代理使这个VM可由傀儡来管理。一旦木偶完成主机初始化,我就会看到一个名为“新主机”的重复主机。如果出现重复的主机,它的模型名为"OpenStack Nova“。它是由傀儡管理的,但是new-host.domain.com中没有可用的OpenStack任务。
换句话说,对于同一台主机,我有两张记录。一个记录可以用来管理一个VM,另一个记录可以用傀儡的帮助来管理操作系统配置。
是否有任何方法合并这两个记录,以避免这些重复记录?
对应于新创建的VM -host.domain.com的YAML是:
classes: {} parameters: puppetmaster: puppet.domain.com hostgroup: Provision from puppet.domain.com root_pw: <hidden> puppet_ca: puppet.domain.com foreman_env: production owner_name: Admin User owner_email: root@domain.com foreman_subnets: [] foreman_interfaces: - mac: ip: 172.21.82.102 type: Interface name: new-host.vccap.de attrs: {} virtual: false link: true identifier: '' managed: true primary: true provision: true subnet: environment: production
谢谢你的回复!
诚挚的问候,
丹尼尔
发布于 2016-01-11 20:12:22
谢谢m0dlx为我的问题提供了一个操作性的答案。我还找到了有用的配置模板,这个模板在Foreman安装中也可以使用,它也解决了这个问题。模板被称为“启动用户数据”,是为Fedora和CentOS制作的,但是使用小的更改也适合ubuntu。
https://serverfault.com/questions/747641
复制相似问题