Update vmcreate.sh

This commit is contained in:
2025-10-28 15:30:31 +00:00
parent 39114d8a51
commit 55f63e2bee

View File

@@ -94,14 +94,15 @@ mksnippet () {
cp ./user.yaml "$snippet"
sed -i "s/HOSTNAME/$hostname/g" "$snippet"
if [ $username ]; then
sed -i "s|user: root|user: ${username}\nsudo: ALL=(ALL) NOPASSWD:ALL|" "$snippet"
sed -i "s|user: root|user: ${username}\nsudo: ALL=(ALL) NOPASSWD:ALL|" "$snippet" || echo "sedDEBUG 1"
fi
if [ $password ]; then
phash=$(echo $password | mkpasswd -m sha-256 -s)
sed -i "s|.*password.*|passwd: ${phash}|" "$snippet"
echo "PHASH: $phash"
sed -i "s|.*password.*|passwd: ${phash}|" "$snippet" || echo "sedDEBUG 2"
fi
if [ $pubkey ]; then
sed -i "s|.*ssh-rsa.*| - $(cat ${pubkey})|" "$snippet"
sed -i "s|.*ssh-rsa.*| - $(cat ${pubkey})|" "$snippet" || echo "sedDEBUG 3"
fi
echo "Snippet $snippet created"
}
@@ -166,7 +167,6 @@ else
fi
# Если заданы аргументы
if [ $# -ne 0 ]; then
echo "DEBUG using arguments"
touch hosts.tmp
echo -n "" > hosts.tmp
for arg in "$@"; do
@@ -184,13 +184,9 @@ else
done
# А если нет, то файл.
else
echo "DEBUG using file: $file"
touch hosts.tmp
echo -n "" > hosts.tmp
echo "DEBUG cat file"
cat "$file"
for line in $(cat "$file"); do
echo "DEBUG line:$line"
ip=$(echo -n $line | cut -d ';' -f 1)
hostname=$(echo -n $line | cut -d ';' -f 2)
ipcheck "$ip"
@@ -276,7 +272,7 @@ do
qm resize $vmid scsi0 +"$size"G
qm set $vmid --cicustom "user=${storage}:snippets/${vmid}_user.yaml"
qm set $vmid --ipconfig0 ip="$ip"/"$mask",gw="$gw"
sed -i "s|tag=35|tag=$vlan|" /etc/pve/qemu-server/${vmid}.conf
sed -i "s|tag=35|tag=$vlan|" /etc/pve/qemu-server/${vmid}.conf || echo "sedDEBUG 4"
# sed -i "s|vmbr0|vmbr1|" /etc/pve/qemu-server/${vmid}.conf
qm cloudinit update $vmid
echo "Snippet:"