wip: newvm: configure vm for dynamic inventory

Dustin 2025-02-07 18:34:26 -06:00
parent 3a0ed3dbd5
commit 12edb1b152
1 changed files with 30 additions and 2 deletions

View File

@ -1,10 +1,12 @@
#!/bin/sh
# vim: set sw=4 ts=4 sts=4 et :
METADATA_XMLNS='http://du5t1n.me/xmlns/libvirt/metadata/'
memory=2048
vcpus=2
disk_size=16
kickstart=http://rosalina.pyrocufflink.blue/~dustin/kickstart/fedora.ks
kickstart=https://git.pyrocufflink.net/infra/kickstart/raw/branch/master/fedora.ks
fedora=$(rpm -E %fedora)
network=network=prod
dnsdomain=pyrocufflink.blue
@ -73,6 +75,20 @@ while [ $# -gt 0 ]; do
--domain=*)
dnsdomain=${1#=*}
;;
--cfg-branch)
shift
cfg_branch=$1
;;
--cfg-branch=*)
cfg_branch=${1#*=}
;;
--group)
shift
groups_xml="${groups_xml}<group name=\"${1}\"/>"
;;
--group=*)
groups_xml="${groups_xml}<group name=\"${1#*=}\"/>"
;;
--no-console|--noconsole)
console=false
;;
@ -139,6 +155,7 @@ extra_args="${extra_args} inst.notmux quiet systemd.show_status=1 console=ttyS0"
set -- \
--name ${name} \
--metadata title=${hostname} \
--memory ${memory} \
--cpu host \
--location ${location} \
@ -153,10 +170,21 @@ set -- \
--boot uefi \
"$@"
if [ -n "${cfg_branch}" ]; then
set -- "$@" --qemu-commandline="-fw_cfg opt/dch/cfg-branch,string=${cfg_branch}"
fi
if $console; then
set -- "$@" --autoconsole text
else
set -- "$@" --noautoconsole --wait -1
fi
exec virt-install "$@"
(
virsh event --event lifecycle --loop | awk '/Started/{exit}'
virsh metadata ${name} --live --config ${METADATA_XMLNS} dch \
"<metadata><groups>${groups_xml}</groups></metadata>"
) &
virt-install "$@"
wait