diff options
author | heqnx <root@heqnx.com> | 2025-06-26 14:41:36 +0300 |
---|---|---|
committer | heqnx <root@heqnx.com> | 2025-06-26 14:41:36 +0300 |
commit | 6779037e39d01e2260133365397de135b1b66acd (patch) | |
tree | e7e2fa53838d29fcb6649de9422d3fb3b4ec63c2 /files | |
parent | fd54c6e09e3d3eb8f240762a7632234810768e1d (diff) | |
download | ansible-pve-host-6779037e39d01e2260133365397de135b1b66acd.tar.gz ansible-pve-host-6779037e39d01e2260133365397de135b1b66acd.zip |
added pve-create-template.sh script
Diffstat (limited to 'files')
-rw-r--r-- | files/pve-create-template.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/files/pve-create-template.sh b/files/pve-create-template.sh new file mode 100644 index 0000000..58fc26a --- /dev/null +++ b/files/pve-create-template.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +usage() { + printf "%s\n" "usage: $(basename $0) -n <template name> -q <qcow image> -i <vm id>" + exit 1 +} + +while getopts "n:q:i:h" opts; do + case $opts in + n) name="${OPTARG}";; + q) qcow="${OPTARG}";; + i) vmid="${OPTARG}";; + h) usage + esac +done + +if test "${name}" && test "${qcow}" && test "${vmid}"; then + if test -f "${qcow}"; then + qm create "${vmid}" \ + --name "${name}" \ + --memory 4096 \ + --net0 virtio,bridge=vmbr0 \ + --bootdisk scsi0 \ + --boot order=scsi0 + + qm importdisk "${vmid}" "${qcow}" local-lvm + + qm set "${vmid}" \ + -scsihw virtio-scsi-pci \ + -scsi0 "local-lvm:vm-"${vmid}"-disk-0" + + qm template "${vmid}" + printf "%s\n" "[inf] created ${name} (${vmid}) from ${qcow}" + else + printf "%s\n" "[err] ${qcow} does not exist" + exit 1 + fi +else + usage +fi |