Update vmcreate1.sh
This commit is contained in:
31
vmcreate1.sh
31
vmcreate1.sh
@@ -52,15 +52,23 @@ fi
|
||||
# Если заданы аргументы И файл
|
||||
if [[ $# -ne 0 && -v file ]]; then echo "Please enter file OR arguments. Use '-f' flag for help"; exit 0; fi
|
||||
|
||||
#Проверка файла на соответствие шаблону IPv4 адреса и hostname
|
||||
#Проверка файла на соответствие шаблону IPv4 адреса и hostname, создаём временный файл из валидных строк
|
||||
if [ -e $file ]; then
|
||||
touch hosts.tmp
|
||||
echo -n "" > hosts.tmp
|
||||
for line in $(<$file); do
|
||||
ipcheck (echo $line | cut -d '.' -f 1)
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "$ip is not a valid IPv4 address (10.10.*.*). Skipping this line."
|
||||
|
||||
hostcheck (echo $line | cut -d '.' -f 2)
|
||||
done
|
||||
fi
|
||||
|
||||
# Если заданы аргументы, то создаем временный файл
|
||||
if [ $# -ne 0 ] then
|
||||
touch hosts.tmp
|
||||
echo -n "" > hosts.tmp
|
||||
for arg in "$@"; do
|
||||
ipcheck "$arg"
|
||||
if [ $? -eq 0 ]
|
||||
@@ -71,12 +79,12 @@ if [ $# -ne 0 ] then
|
||||
printf "%03d\n" "$(echo -n $arg | cut -d '.' -f 4)" >> ./hosts.tmp
|
||||
echo >> ./hosts.tmp
|
||||
else
|
||||
echo "Argument $arg is not valid IP address (10.10.*.*). Using next argument."
|
||||
echo "Argument $arg is not a valid IPv4 address (10.10.*.*). Using next argument."
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
ip_check() {
|
||||
ipcheck() {
|
||||
# Функция для проверки IP адреса по шаблону 10.10.*.*, написана гуглом
|
||||
local ip=$1
|
||||
local stat=1
|
||||
@@ -94,6 +102,10 @@ ip_check() {
|
||||
IFS=$oldIFS
|
||||
}
|
||||
|
||||
hostcheck (){
|
||||
$1
|
||||
}
|
||||
|
||||
#Проверяем ключ
|
||||
if [ -v pubkey ]; then
|
||||
if [[ ! -f pubkey ]]; then
|
||||
@@ -125,7 +137,7 @@ embed_key(){
|
||||
|
||||
|
||||
|
||||
for line in $(<$file)
|
||||
for line in $(<.hosts.tmp)
|
||||
do
|
||||
ip=$(echo $line | cut -d ' ' -f 1)
|
||||
vlan=$(echo $ip | cut -d '.' -f 3)
|
||||
@@ -148,22 +160,19 @@ do
|
||||
qm cloudinit update $vmnum
|
||||
qm start $vmnum
|
||||
echo "VMs from $1 successfully created"
|
||||
if [ haadd ]
|
||||
if [ -v harule ]
|
||||
then
|
||||
ha-manager add vm:$vmnum --state started --max_relocate 2
|
||||
ha-manager rules add node-affinity $ha_rule --resources vm:$vmnum --nodes pve1,pve2,pve3 --strict 1
|
||||
ha-manager rules add node-affinity $harule --resources vm:$vmnum --nodes pve1,pve2,pve3 --strict 1
|
||||
# ОБЯЗАТЕЛЬНО ПРОВЕРИТЬ КОМАНДУ!!!
|
||||
fi
|
||||
echo "HA rules added"
|
||||
done
|
||||
|
||||
# Финальная часть
|
||||
if [ -e hosts.tmp]
|
||||
then
|
||||
rm hosts.tmp
|
||||
fi
|
||||
rm hosts.tmp
|
||||
if [ -v $privkey ]
|
||||
then
|
||||
echo "Generated private key $privkey"
|
||||
echo "\nGenerated private key $privkey"
|
||||
echo "SAVE IT IMMEDIATELY!!!"
|
||||
fi
|
||||
Reference in New Issue
Block a user