Thank you, Zilla. I got a simpler solution for this question which I posted
at Stack Overflow <http://stackoverflow.com/a/39657819/553023> wherein I
didn't have to split vars files. I have had success following it.
On Saturday, 24 September 2016 00:10:52 UTC+5:30, ZillaYT wrote:
>
> Sorry, the include_vars should be:
>
> - include_vars: "vars/vmname{{ windows_ver }}.yml"
>
>
>
> On Friday, September 23, 2016 at 2:36:58 PM UTC-4, ZillaYT wrote:
>>
>> I think I know what you're after. Try this.
>>
>> Have two files in ../roles/vms/vars, namely,
>>
>> *../roles/vms/vars/vmname81.yml*
>> ---
>> windows_vms:
>> - Client1
>> - Client2
>> - Client3
>>
>>
>> ...and ...
>>
>> *../roles/vms/vars/vmnames10.yml*
>> ---
>> windows_vms:
>> - Client4
>> - Client5
>>
>> Then your role will be this. Note include_vars line, and the "with_items"
>> change
>>
>> *../roles/vms/tasks/main.yml*
>> ---
>> # To Create VMs on the VMware vCenter Server
>> - include_vars: "vars/windows{{ windows_ver }}.yml"
>>
>> - name: Creation of Windows 8.1 VMs
>> vsphere_guest:
>> vcenter_hostname: "name"
>> guest: "{{ item }}"
>> from_template: yes
>> template_src: "templatename"
>> validate_certs: no
>> esxi:
>> datacenter: dc
>> hostname: hname
>> with_items: "{{ windows_vms }}"
>>
>>
>>
>> Then
>>
>> *playbook.yml*
>> ---
>> # To Create VMs on the VMware vCenter Server
>> - hosts: localhost
>> name: Creation of Windows 8.1 VMs
>> roles:
>> - { role: vms, windows_ver: 81 } # to create the windows in
>> vars/windows81.yml
>> - { role: vms, windows_ver: 10 } # to create the windows in
>> vars/windows10.yml
>>
>>
>>
>>
>> Make sense?
>>
>>
>> On Friday, September 23, 2016 at 5:25:29 AM UTC-4, Chethan S wrote:
>>>
>>> I am in the process of migrating to Ansible roles model and I have the
>>> following structure -
>>>
>>> *../roles/vms/tasks/main.yml*
>>> ---
>>> # To Create VMs on the VMware vCenter Server
>>> - name: Creation of Windows 8.1 VMs
>>> vsphere_guest:
>>> vcenter_hostname: "name"
>>> guest: "{{ item }}"
>>> from_template: yes
>>> template_src: "templatename"
>>> validate_certs: no
>>> esxi:
>>> datacenter: dc
>>> hostname: hname
>>> with_items: "{{ vmname81 }}"
>>>
>>> *../roles/vms/vars/main.yml*
>>> ---
>>> vmname81:
>>> - Client1
>>> - Client2
>>> - Client3
>>>
>>>
>>> vmname10:
>>> - Client4
>>> - Client5
>>>
>>>
>>> *playbook.yml*
>>> ---
>>> # To Create VMs on the VMware vCenter Server
>>> - hosts: localhost
>>> name: Creation of Windows 8.1 VMs
>>> roles:
>>> - { role: vmcreation }
>>>
>>> As you can see in the playbook, I am trying to create Windows 8.1 VMs
>>> and I am unable to figure out how to pass the *vmname81* in the roles
>>> for the creation of 8.1 VMs. I am also interested to know if this can be
>>> done in a better way.
>>>
>>
--
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/7ca797b6-8c39-44f0-b952-0075dc4bf056%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.