这是我的Ansible手册,用于创建新的虚拟机。
---
- name: Create a VM in OA resource pool
hosts: local
connection: local
gather_facts: False
tasks:
- name: create VM
vsphere_guest:
vcenter_hostname: https:\\virtualcenter
username: '{{ user }}'
password: '{{ password }}'
guest: '{{ guest }}'
state: powered_off
vm_extra_config:
vcpu.hotadd: yes
mem.hotadd: yes
notes: This is a test VM
vm_disk:
disk1:
size_gb: 10
type: thick
datastore: storage
vm_nic:
type: vmxnet3
network: network1
vm_hardware:
memory_mb: 1024
num_cpus: 1
osid: centos64Guest
scsi: paravirtual
resource_pool: "RP1"
从命令行传递变量。 但是,当我尝试运行任务时,我得到了这个:
No config file found; using defaults
[WARNING]: Host file not found: /etc/ansible/hosts
[WARNING]: provided hosts list is empty, only localhost is available
PLAYBOOK: createvm.yml *********************************************************
1 plays in playbooks/vmware/createvm.yml
PLAY [Create a VM in OA resource pool] *****************************************
skipping: no hosts matched
PLAY RECAP *********************************************************************
可能是什么原因?一个错字?使用列表任务进行语法检查也不会显示任何内容。
答案 0 :(得分:1)
可能是什么原因?
由于您未指定库存文件,因此Ansible会在默认local
中查找名为/etc/ansible/hosts
的主机/组,该主机/组不存在。
由于库存文件不存在,Ansible不知道在哪个目标上运行该剧本。
注意:local
与localhost
不同。 Ansible希望local
成为清单中定义的常规主机或组名。