- for node in "${vnodes[@]}"; do
- virt-install --name ${node} --ram ${vnodes_ram[$node]} --vcpus ${vnodes_vcpus[$node]} --cpu host --accelerate \
- --network network:pxe,model=virtio \
- --network network:mgmt,model=virtio \
- --network network:internal,model=virtio \
- --network network:public,model=virtio \
- --disk path=$(pwd)/images/mcp_${node}.qcow2,format=qcow2,bus=virtio,cache=none,io=native \
+ for serialized_vnode_data in "${vnodes[@]}"; do
+ IFS=',' read -r -a vnode_data <<< "${serialized_vnode_data}"
+
+ # prepare network args
+ net_args=" --network network=mcpcontrol,model=virtio"
+ if [ "${DEPLOY_TYPE:-}" = 'baremetal' ]; then
+ # 3rd interface gets connected to PXE/Admin Bridge (cfg01, mas01)
+ vnode_networks[2]="${vnode_networks[0]}"
+ fi
+ for net in "${vnode_networks[@]:1}"; do
+ net_args="${net_args} --network bridge=${net},model=virtio"
+ done
+
+ # shellcheck disable=SC2086
+ virt-install --name "${vnode_data[0]}" \
+ --ram "${vnode_data[1]}" --vcpus "${vnode_data[2]}" \
+ --cpu host-passthrough --accelerate ${net_args} \
+ --disk path="${image_dir}/mcp_${vnode_data[0]}.qcow2",format=qcow2,bus=virtio,cache=none,io=native \