我正在使用Ansible在球上创建虚拟机。该虚拟机的要求之一是,它具有两个CD驱动器,每个CD驱动器中都有一个磁盘。同时查看vmware_guest和vsphere_guest模块,似乎您无法在一项任务中做到这一点,但是我遇到过blogs,它表明在一项任务中创建了两个CD驱动器。使用较旧的vsphere_guest模块。尝试此操作会给我一个错误。
任务:
-name: create vm
...
vm_hardware:
memory_mb: 2096
num_cpus: 2
osid: centos64Guest
scsi: paravirtual
vm_cdrom:
disk1:
type: "iso"
iso_path: "DATASTORE/ISO1.iso"
disk2:
type: "iso"
iso_path: "DATASTORE/ISO2.iso"
错误:
fatal: [hostname -> localhost]: FAILED! => {"changed": false, "msg": "Error on {'disk2': {'type:': 'iso', iso_path': 'DATASTORE/ISO2.iso'}, 'disk1': {'type:': 'iso', iso_path': 'DATASTORE/ISO1.iso'}} definition. cdrom type needs to be specified.
DATASTORE是ISO所在的我的数据存储的名称
这使我相信我无法定义两个磁盘,因为它似乎正在vm_cdrom下寻找cd信息:
我也尝试过:
-name: create vm
...
vm_hardware:
...
vm_cdrom:
type: "iso"
iso_path: "DATASTORE/ISO1.iso"
vm_cdrom:
type: "iso"
iso_path: "DATASTORE/ISO2.iso"
但这(预期)给我一个错误,指出已经定义了两个vm_cdroms,它将使用最后一个值。
还有另一种挂载两个CD的方法吗?还是我SOL?
答案 0 :(得分:0)
在2.9中添加。 当前仅支持IDE。 您需要创建一个列表,controller_type并映射controller_number和unit_number。
hardware:
num_cpus: 2
....
cdrom:
- controller_type: ide
controller_number: 0
unit_number: 0
iso_path: "DATASTORE/ISO1.iso"
type: iso
- controller_type: ide
controller_number: 0
unit_number: 1
iso_path: "DATASTORE/ISO2.iso"
type: iso