summaryrefslogtreecommitdiff
path: root/createvm
blob: 4b71298e4dc263ce0510c7de250b8829eeb8f885 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash

# Premier numero de la série
index=3
# Nombre de machines
count=1

# Déploiment terraform
terraform init -reconfigure
terraform plan
terraform apply -var "nb=$count" -var "start=$index" -auto-approve 2>/dev/null

echo

# On copie notre clé publique, on met à jour le hostname des machines, et on fixe les adresses ip données par le dhcp
for ((i=$index;i<$((index+count));i++));do
	vm=ubuntu$i
	while vboxmanage guestproperty get $vm /VirtualBox/GuestInfo/Net/0/V4/IP |grep -q "No value"; do
		sleep 5
		echo "Wait VM until ready..."
	done
	echo -e "\n [$vm ip] $(vboxmanage guestproperty get $vm /VirtualBox/GuestInfo/Net/0/V4/IP)"
	ip_addr=$(vboxmanage guestproperty get $vm /VirtualBox/GuestInfo/Net/0/V4/IP|cut -d ':' -f2)
	vboxmanage guestcontrol $vm --username vagrant --password vagrant copyto id_rsa.pub /home/vagrant/.ssh/authorized_keys 
	vboxmanage guestcontrol $vm --username vagrant --password vagrant copyto network_config /home/vagrant/
	vboxmanage guestcontrol $vm --username vagrant --password vagrant run /usr/bin/bash /home/vagrant/network_config $vm $ip_addr
done
echo