-
- sudo virt-install --connect qemu:///system --name node1-control --ram 8192 --cpu host --vcpus 4 \
- --disk size=120,format=qcow2,bus=virtio,io=native,pool=default \
- --network bridge=virbr0,model=virtio $netw \
- --boot network,hd,menu=off --noautoconsole --vnc --print-xml | tee node1-control
-
- sudo virt-install --connect qemu:///system --name node2-compute --ram 8192 --cpu host --vcpus 4 \
- --disk size=120,format=qcow2,bus=virtio,io=native,pool=default \
- --network bridge=virbr0,model=virtio $netw \
- --boot network,hd,menu=off --noautoconsole --vnc --print-xml | tee node2-compute
-
- sudo virt-install --connect qemu:///system --name node5-compute --ram 8192 --cpu host --vcpus 4 \
- --disk size=120,format=qcow2,bus=virtio,io=native,pool=default \
- --network bridge=virbr0,model=virtio $netw \
- --boot network,hd,menu=off --noautoconsole --vnc --print-xml | tee node5-compute
-
-
- node1controlmac=`grep "mac address" node1-control | head -1 | cut -d '"' -f 2`
- node2computemac=`grep "mac address" node2-compute | head -1 | cut -d '"' -f 2`
- node5computemac=`grep "mac address" node5-compute | head -1 | cut -d '"' -f 2`
-
- sudo virsh -c qemu:///system define --file node1-control
- sudo virsh -c qemu:///system define --file node2-compute
- sudo virsh -c qemu:///system define --file node5-compute
-
-
- maas $PROFILE machines create autodetect_nodegroup='yes' name='node1-control' \
- tags='control' hostname='node1-control' power_type='virsh' mac_addresses=$node1controlmac \
- power_parameters_power_address='qemu+ssh://'$USER'@'$MAAS_IP'/system' \
- architecture='amd64/generic' power_parameters_power_id='node1-control'
- controlnodeid=$(maas $PROFILE machines read | jq -r 'select(.[].hostname == "node1-control")[0].system_id')
- maas $PROFILE machines create autodetect_nodegroup='yes' name='node2-compute' \
- tags='compute' hostname='node2-compute' power_type='virsh' mac_addresses=$node2computemac \
- power_parameters_power_address='qemu+ssh://'$USER'@'$MAAS_IP'/system' \
- architecture='amd64/generic' power_parameters_power_id='node2-compute'
- compute2nodeid=$(maas $PROFILE machines read | jq -r 'select(.[].hostname == "node2-compute")[0].system_id')
- maas $PROFILE machines create autodetect_nodegroup='yes' name='node5-compute' \
- tags='compute' hostname='node5-compute' power_type='virsh' mac_addresses=$node5computemac \
- power_parameters_power_address='qemu+ssh://'$USER'@'$MAAS_IP'/system' \
- architecture='amd64/generic' power_parameters_power_id='node5-compute'
- compute5nodeid=$(maas $PROFILE machines read | jq -r 'select(.[].hostname == "node5-compute")[0].system_id')
-
- maas $PROFILE tag update-nodes control add=$controlnodeid || true
- maas $PROFILE tag update-nodes compute add=$compute2nodeid || true
- maas $PROFILE tag update-nodes compute add=$compute5nodeid || true
+ units=`cat deployconfig.json | jq .opnfv.units`
+
+ until [ $(($units)) -lt 1 ]; do
+ units=$(($units - 1));
+ NODE_NAME=`cat labconfig.json | jq ".lab.racks[].nodes[$units].name" | cut -d \" -f 2 `
+
+ sudo virt-install --connect qemu:///system --name $NODE_NAME --ram 8192 --cpu host --vcpus 4 \
+ --disk size=120,format=qcow2,bus=virtio,cache=directsync,io=native,pool=default \
+ $netw $netw --boot network,hd,menu=off --noautoconsole --vnc --print-xml | tee $NODE_NAME
+
+ nodemac=`grep "mac address" $NODE_NAME | head -1 | cut -d '"' -f 2`
+ sudo virsh -c qemu:///system define --file $NODE_NAME
+ rm -f $NODE_NAME
+ maas $PROFILE machines create autodetect_nodegroup='yes' name=$NODE_NAME \
+ tags='control compute' hostname=$NODE_NAME power_type='virsh' mac_addresses=$nodemac \
+ power_parameters_power_address='qemu+ssh://'$USER'@'$MAAS_IP'/system' \
+ architecture='amd64/generic' power_parameters_power_id=$NODE_NAME
+ nodeid=$(maas $PROFILE machines read | jq -r '.[] | select(.hostname == '\"$NODE_NAME\"').system_id')
+ maas $PROFILE tag update-nodes control add=$nodeid || true
+ maas $PROFILE tag update-nodes compute add=$nodeid || true
+ done
+ else
+ units=`cat deployconfig.json | jq .opnfv.units`
+
+ until [ $(($units)) -lt 1 ]; do
+ units=$(($units - 1));
+ NODE_NAME=`cat labconfig.json | jq ".lab.racks[].nodes[$units].name" | cut -d \" -f 2 `
+ MAC_ADDRESS=`cat labconfig.json | jq ".lab.racks[].nodes[$units].nics[] | select(.spaces[]==\"admin\").mac"[0] | cut -d \" -f 2 `
+ POWER_TYPE=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.type" | cut -d \" -f 2 `
+ POWER_IP=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.address" | cut -d \" -f 2 `
+ POWER_USER=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.user" | cut -d \" -f 2 `
+ POWER_PASS=`cat labconfig.json | jq ".lab.racks[].nodes[$units].power.pass" | cut -d \" -f 2 `
+
+ maas $PROFILE machines create autodetect_nodegroup='yes' name=$NODE_NAME \
+ hostname=$NODE_NAME power_type=$POWER_TYPE power_parameters_power_address=$POWER_IP \
+ power_parameters_power_user=$POWER_USER power_parameters_power_pass=$POWER_PASS mac_addresses=$MAC_ADDRESS \
+ architecture='amd64/generic'
+ done