我正在尝试使用kickstart文件安装几个带有ansible和virt-install的kvm。
tasks:
- name: Create VMs
command: /usr/bin/virt-install --connect=qemu:///system --network network=default
--initrd-inject=/tmp/anaconda-ks.cfg
--extra-args="console=tty0 console=ttyS0,115200 serial rd_NO_PLYMOUTH ks=file:/anaconda-ks.cfg"
--name={{ item }}
--disk path=/var/lib/libvirt/images/{{ item }}.qcow2,format=qcow2,size=10,cache=none
--ram 1024 --vcpus=1 --check-cpu --accelerate
--os-type linux --os-variant fedora19 --hvm
--location=/tmp/Fedora-20-x86_64-DVD.iso --nographics
with_items:
- vm1
- vm2
- vm3
问题是如何制作" - hostname = {{item}}"在kickstart文件(/tmp/anaconda-ks.cfg)中为每个vm动态替换。因此,安装完成后,每个vm都将使用自己的主机名。
答案 0 :(得分:0)
好吧,正如@nikobelia所建议我使用了一个模板
- name: Create template
template: src=templates/anaconda-ks-jenkins.j2 dest=/tmp/anaconda-ks-{{ item }}.cfg
with_items: "{{ groups.all }}"
其中groups.all是库存(主机)文件中的所有主机。 因此,对于每个主机,它在模板本身内用主机名
替换了{{item}}