Add vmcreate1
This commit is contained in:
42
vmcreate1
Normal file
42
vmcreate1
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
show_help()
|
||||||
|
echo 'Usage:'
|
||||||
|
echo 'vmcreate [-h][-a][-f filename]'
|
||||||
|
echo 'Arguments:'
|
||||||
|
echo '-h - show this help'
|
||||||
|
echo '-a - add hosts to HA affinity rules'
|
||||||
|
echo "-f - get IP addresses and Hostnames from 'flilename' "
|
||||||
|
|
||||||
|
mkfile ()
|
||||||
|
|
||||||
|
while getopts "a:f:h" opt; do
|
||||||
|
case $opt in
|
||||||
|
a) haadd=true ;;
|
||||||
|
f) file="$OPTARG" ;;
|
||||||
|
h) show_help ; exit 0;;
|
||||||
|
*) noargs
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
cat ./hosts | while read line
|
||||||
|
do
|
||||||
|
ip=$(echo $line | cut -d ' ' -f 1)
|
||||||
|
hostname=$(echo $line | cut -d ' ' -f 2)
|
||||||
|
vmnum=$(echo $ip | cut -d '.' -f 3)(echo $ip | cut -d '.' -f 3)
|
||||||
|
qm clone 5000 $vmnum --name $hostname --full
|
||||||
|
if [ $? -eq 0 ]
|
||||||
|
then echo "clone OK"
|
||||||
|
else "clone ERROR"; exit 1
|
||||||
|
fi
|
||||||
|
qm set $vmnum --tags 3,gfx
|
||||||
|
## preparing custom CloudInit snippets
|
||||||
|
cp ./user.yaml /mnt/pve/syno-tigra/snippets/${vmnum}_user.yaml
|
||||||
|
sed -i "s/HOSTNAME/$hostname/g" /mnt/pve/syno-tigra/snippets/${vmnum}_user.yaml
|
||||||
|
qm resize $vmnum scsi0 +50G
|
||||||
|
qm set $vmnum --cicustom "user=syno-tigra:snippets/${vmnum}_user.yaml"
|
||||||
|
qm set $vmnum --ipconfig0 ip=$ip/24,gw=10.10.35.1
|
||||||
|
qm cloudinit update $vmnum
|
||||||
|
qm start $vmnum
|
||||||
|
|
||||||
|
done
|
||||||
|
echo "VMs from 'hosts' successfully created"
|
||||||
Reference in New Issue
Block a user