# create multiple vlan port groups on 5 esxi servers

**URL:** <https://forum.ansible.com/t/create-multiple-vlan-port-groups-on-5-esxi-servers/36130>\
**Category:** Ansible Project\
**Created:** [December 19, 2021, 9:12pm UTC](https://forum.ansible.com/t/create-multiple-vlan-port-groups-on-5-esxi-servers/36130 "2021-12-19T21:12:36Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tony\_Wong](https://avatars.discourse-cdn.com/v4/letter/t/3ab097/32.png) [@Tony\_Wong](https://forum.ansible.com/u/Tony_Wong)\
**Post date:** [December 19, 2021, 9:12pm UTC](https://forum.ansible.com/t/create-multiple-vlan-port-groups-on-5-esxi-servers/36130/1 "2021-12-19T21:12:36Z")

</div>

i got following task to create mul;tiple vlan ports groups on a vswitch on 5 esxi hosts

task playbok is

---

<div class="post-metadata">

**Author:** ![Tony\_Wong](https://avatars.discourse-cdn.com/v4/letter/t/3ab097/32.png) [@Tony\_Wong](https://forum.ansible.com/u/Tony_Wong)\
**Post date:** [December 20, 2021, 3:39pm UTC](https://forum.ansible.com/t/create-multiple-vlan-port-groups-on-5-esxi-servers/36130/2 "2021-12-20T15:39:07Z")

</div>

any idea?

---

<div class="post-metadata">

**Author:** ![Rodrigues](https://avatars.discourse-cdn.com/v4/letter/r/8797f3/32.png) [@Rodrigues](https://forum.ansible.com/u/Rodrigues)\
**Post date:** [December 22, 2021, 9:11pm UTC](https://forum.ansible.com/t/create-multiple-vlan-port-groups-on-5-esxi-servers/36130/3 "2021-12-22T21:11:10Z")

</div>

The simplest way would be add the vlans and portgroup names as a list in vars  
Then loop through them using with\_items

Like this

vlans:

- portgroup\_name: vlan 1  
vlan\_id: 1

- portgroup\_name: vlan 2  
vlan\_id: 2

- portgroup\_name: vlan 3  
vlan\_id: 3

- name: create\_vss\_vlan\_PGs  
vmware\_portgroup:  
hostname: ‘{{ vcenter\_hostname }}’  
username: ‘{{ vcenter\_username }}’  
password: ‘{{ vcenter\_password }}’  
cluster\_name: ‘{{ cluster\_name }}’  
switch\_name: ‘{{ vswitch\_name }}’  
portgroup\_name: ‘{{ item.portgroup\_name }}’  
vlan\_id: ‘{{ item.vlan\_id }}’  
delegate\_to: localhost  
with\_items: ‘{{ vlans }}’

---

<div class="post-metadata">

**Author:** ![Tony\_Wong](https://avatars.discourse-cdn.com/v4/letter/t/3ab097/32.png) [@Tony\_Wong](https://forum.ansible.com/u/Tony_Wong)\
**Post date:** [December 23, 2021, 11:21pm UTC](https://forum.ansible.com/t/create-multiple-vlan-port-groups-on-5-esxi-servers/36130/4 "2021-12-23T23:21:23Z")

</div>

does the vlan Ids need to be in separate vars file? which file should they be in?

---

<div class="post-metadata">

**Author:** ![Rodrigues](https://avatars.discourse-cdn.com/v4/letter/r/8797f3/32.png) [@Rodrigues](https://forum.ansible.com/u/Rodrigues)\
**Post date:** [December 25, 2021, 12:01pm UTC](https://forum.ansible.com/t/create-multiple-vlan-port-groups-on-5-esxi-servers/36130/5 "2021-12-25T12:01:57Z")

</div>

Nope, you can put them directly in the playbook in the vars section. Similar to this: [https://docs.ansible.com/ansible/latest/user\_guide/playbooks\_variables.html](https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html)

---

<div class="post-metadata">

**Author:** ![Tony\_Wong](https://avatars.discourse-cdn.com/v4/letter/t/3ab097/32.png) [@Tony\_Wong](https://forum.ansible.com/u/Tony_Wong)\
**Post date:** [December 29, 2021, 5:29pm UTC](https://forum.ansible.com/t/create-multiple-vlan-port-groups-on-5-esxi-servers/36130/6 "2021-12-29T17:29:07Z")

</div>

hi

Is it possible to override default failover NIC policy?

I need to have 2 active nics on each portgroup

---

<div class="post-metadata">

**Author:** ![Rodrigues](https://avatars.discourse-cdn.com/v4/letter/r/8797f3/32.png) [@Rodrigues](https://forum.ansible.com/u/Rodrigues)\
**Post date:** [December 30, 2021, 10:17am UTC](https://forum.ansible.com/t/create-multiple-vlan-port-groups-on-5-esxi-servers/36130/7 "2021-12-30T10:17:17Z")

</div>

Yeah sure can.  
Check this out, the last example has what you’re looking for

[https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware\_portgroup\_module.html](https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_portgroup_module.html)
