Hi,
You can make use of the 'with_items' option for all the vmtasks. In the
example below I only placed 2 of the tasks:
- name: Depoly from Template
vsphere_guest:
vcenter_hostname: domain.com
username: myuser
password: mypassword
guest: {{ item.hostname }}
from_template: yes
template_src: Template6.5-updated
cluster: my_cluster
validate_certs: no
esxi:
datacenter: CONNECT-Lab
hostname: my_esxi_name
with_items:
- hostname: host1
ip: 192.168.1.11
- hostname: host2
ip: 192.168.1.12
- name: Power off the VM server
vsphere_guest:
vcenter_hostname: domain.com
username: myuser
password: mypassword
guest: {{ item.hostname }}
cluster: my_cluster
validate_certs: no
state: powered_off
esxi:
datacenter: CONNECT-Lab
hostname: my_esxi_name
with_items:
- hostname: host1
ip: 192.168.1.11
- hostname: host2
ip: 192.168.1.12
- name: "Set correct ip"
local_action:
module: vmware_vm_shell
hostname: domain.com
username: myuser
password: mypassword
datacenter: CONNECT-Lab
vm_id: {{ item.hostname }}
vm_username: root
vm_password: password
vm_shell: ifconfig
vm_shell_args: " eth0 {{ item.ip }}"
vm_shell_env:
- "PATH=/bin"
vm_shell_cwd: "/tmp"
with_items:
- hostname: host1
ip: 192.168.1.11
- hostname: host2
ip: 192.168.1.12
You'll have to update the other tasks to.
The last task in above example is to set the ip to the vm. I haven't tested
it yet (As I have an other issue right now) but this is how I would do it.
Have fun! Or drop an reply if you encounter issues.
Kind regards,
Werner
Op maandag 11 april 2016 18:44:42 UTC+2 schreef Ben:
>
> I am new in ansible...
>
> After create a guest with vsphere_guest i want to be able :
>
> 1. how I can create 5 VM and not just 1
> 2. how can I give all of them IPs and Hostnames
>
> Thanks Ben
>
>
>
>
>
>
> my playbook:
>
> ---
> - name: Depoly from Template
> vsphere_guest:
> vcenter_hostname: domain.com
> username: myuser
> password: mypassword
> guest: newvm001
> from_template: yes
> template_src: Template6.5-updated
> cluster: my_cluster
> validate_certs: no
> esxi:
> datacenter: CONNECT-Lab
> hostname: my_esxi_name
> - name: Power off the VM server
> vsphere_guest:
> vcenter_hostname: domain.com
> username: myuser
> password: mypassword
> guest: newvm001
> cluster: my_cluster
> validate_certs: no
> state: powered_off
> esxi:
> datacenter: CONNECT-Lab
> hostname: my_esxi_name
> - name: configure the VLAN , CPU and Memory
> vsphere_guest:
> vcenter_hostname: domain.com
> username: myuser
> password: mypassword
> guest: newvm001
> validate_certs: no
> state: reconfigured
> force: yes
> vm_extra_config:
> vcpu.hotadd: yes
> mem.hotadd: yes
> notes: This is a test VM
> vm_disk:
> disk1:
> size_gb: 60
> type: thin
> datastore: my_datastorename
> vm_nic:
> nic1:
> type: VMXNET3
> network: my_vlan
> network_type: standard
> vm_hardware:
> memory_mb: 4096
> num_cpus: 2
> esxi:
> datacenter: CONNECT-Lab
> hostname: my_esxi_name
> - name: PowerOn the VM Server
> vsphere_guest:
> vcenter_hostname: domain.com
> username: myuser
> password: mypassword
> guest: newvm001
> cluster: my_cluster
> validate_certs: no
> state: powered_on
> esxi:
> datacenter: CONNECT-Lab
> hostname: my_esxi_name
>
> - name: Getting some Facts
> vsphere_guest:
> vcenter_hostname: domain.com
> username: myuser
> password: mypassword
> guest: newvm001
> vmware_guest_facts: true
> validate_certs: no
> register: vmguest_facts
> tags: vmfacts
>
> - name: debug facts
> debug: msg="vmguest facts are {{ vmguest_facts }}"
> tags: vmfacts
>
> - add_host: name={{ hw_eth0.ipaddresses[0] }} groups=virtual
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/7a8b96ce-be01-46b2-a437-9418cfc52376%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.