diff --git a/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/defaults/main.yaml b/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/defaults/main.yaml
index 5c24281cc..bc5736c81 100644
--- a/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/defaults/main.yaml
+++ b/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/defaults/main.yaml
@@ -20,8 +20,8 @@ ephemeral_node:
   name: air-ephemeral
   cpu: 4
   ram: 6144
-  nat_mac_address: 52:54:00:9b:27:02
-  prov_mac_address: 52:54:00:b6:ed:02
+  nat_mac_address: [ "52:54:00:9b:27:02" ]
+  prov_mac_address: [ "52:54:00:b6:ed:02" ]
   block:
     - 30G
 
@@ -30,8 +30,8 @@ target_nodes:
   name: air-target
   cpu: 2
   ram: 7168
-  nat_mac_address: 52:54:00:9b:27:4c
-  prov_mac_address: 52:54:00:b6:ed:31
+  nat_mac_address: [ "52:54:00:9b:27:4c" ]
+  prov_mac_address: [ "52:54:00:b6:ed:31" ]
   block:
     - 30G
 
@@ -40,8 +40,8 @@ worker_nodes:
   name: air-worker
   cpu: 2
   ram: 7168
-  nat_mac_address: 52:54:00:9b:27:07
-  prov_mac_address: 52:54:00:b6:ed:23
+  nat_mac_address: [ "52:54:00:9b:27:07" ]
+  prov_mac_address: [ "52:54:00:b6:ed:23" ]
   block:
     - 30G
 
diff --git a/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/tasks/create-vm.yaml b/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/tasks/create-vm.yaml
index 85739493c..4621e3ade 100644
--- a/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/tasks/create-vm.yaml
+++ b/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/tasks/create-vm.yaml
@@ -37,8 +37,8 @@
         --machine pc \
         --name "{{ vm_name }}" \
         --memory "{{ vm_instance.ram }}" \
-        --network network="air_nat",address.type='pci',address.domain=0,address.bus=0,address.slot=3,address.function=0,mac="{{ vm_instance.nat_mac_address }}" \
-        --network network="air_prov",address.type='pci',address.domain=0,address.bus=0,address.slot=4,address.function=0,mac="{{ vm_instance.prov_mac_address }}" \
+        --network network="air_nat",address.type='pci',address.domain=0,address.bus=0,address.slot=3,address.function=0,mac="{{ vm_instance.nat_mac_address[vm_index | int]  }}" \
+        --network network="air_prov",address.type='pci',address.domain=0,address.bus=0,address.slot=4,address.function=0,mac="{{ vm_instance.prov_mac_address[vm_index | int] }}" \
         --cpu host-passthrough \
         --vcpus "{{ vm_instance.cpu | int }}" \
         --import \
diff --git a/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/tasks/main.yaml b/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/tasks/main.yaml
index 1a8fef274..184ab68db 100644
--- a/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/tasks/main.yaml
+++ b/tools/airship-in-a-pod/infra-builder/assets/opt/ansible/playbooks/roles/build-infra/tasks/main.yaml
@@ -71,15 +71,18 @@
   vars:
     vm_instance: "{{ ephemeral_node }}"
     vm_name: "{{ ephemeral_node.name }}"
+    vm_index: 0
 
 - name: "Create target nodes"
   include_tasks: create-vm.yaml
   vars:
     vm_instance: "{{ target_nodes }}"
     vm_name: "{{ target_nodes.name }}-{{ a_node }}"
+    vm_index: "{{ ansible_loop.index0 }}"
   with_sequence:
     start=1 end="{{ (vm_instance.count | int) }}"
   loop_control:
+    extended: yes
     loop_var: a_node
 
 - name: "Create worker nodes"
@@ -87,7 +90,9 @@
   vars:
     vm_instance: "{{ worker_nodes }}"
     vm_name: "{{ worker_nodes.name }}-{{ a_node }}"
+    vm_index: "{{ ansible_loop.index0 }}"
   with_sequence:
     start=1 end="{{ (vm_instance.count | int) }}"
   loop_control:
+    extended: yes
     loop_var: a_node