create-vmachine: General cleanup and remove Puppet stuff
parent
4b357bee36
commit
0f5a69d908
|
@ -6,27 +6,26 @@ STAGE_TBZ="$2"
|
|||
VMNAME=$(echo "${DOMNAME}" | tr '[:upper:]' '[:lower:]')
|
||||
VM_FQDN="${VMNAME}.$(hostname -d)"
|
||||
|
||||
VG=vmachines
|
||||
POOL=LVM
|
||||
DOMXML_TMPL=/etc/libvirt/qemu/_template.xml
|
||||
MOUNTPOINT=/mnt/new_vmachine
|
||||
PUPPETMASTER=$(hostname -f)
|
||||
PORTAGE_PROFILE="default/linux/amd64/13.0"
|
||||
if [[ -z $STAGE_TBZ || -z $VMNAME ]]; then
|
||||
echo "Usage: $(basename $0) <vmname> <stage3-tarball>" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
: ${VG:=vmachines}
|
||||
: ${POOL:=LVM}
|
||||
: ${DOMXML_TMPL:=/etc/libvirt/qemu/_template.xml}
|
||||
: ${MOUNTPOINT:=/mnt/new_vmachine}
|
||||
: ${PORTAGE_PROFILE:="default/linux/amd64/13.0"}
|
||||
|
||||
set -e
|
||||
|
||||
PORTDIR=$(portageq envvar PORTDIR)
|
||||
DISTDIR=$(portageq envvar DISTDIR)
|
||||
PKGDIR=$(portageq envvar PKGDIR)
|
||||
|
||||
if [[ -z $STAGE_TBZ || -z $VMNAME ]]; then
|
||||
echo "Usage: $(basename $0) <vmname> <stage3-tarball>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
if lvdisplay ${VG}/${VMNAME} >/dev/null 2>&1; then
|
||||
echo "ERROR: Logical volume ${VMNAME} already exists in group ${VG}" >&2
|
||||
exit 2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Creating storage volume..."
|
||||
|
@ -88,36 +87,6 @@ chmod u+x "${MOUNTPOINT}"/build-base.sh
|
|||
chroot "${MOUNTPOINT}" /build-base.sh
|
||||
rm "${MOUNTPOINT}"/build-base.sh
|
||||
|
||||
echo "Installing Puppet..."
|
||||
cat <<EOF > "${MOUNTPOINT}"/build-puppet.sh
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
export EMERGE_DEFAULT_OPTS="--binpkg-respect-use=y"
|
||||
export FEATURES="-news"
|
||||
|
||||
RUBY_TARGETS=ruby18 USE="-gdbm minimal old-output" emerge -jkv puppet
|
||||
rc-update add puppet default
|
||||
EOF
|
||||
chmod u+x "${MOUNTPOINT}"/build-puppet.sh
|
||||
chroot "${MOUNTPOINT}" /build-puppet.sh
|
||||
rm "${MOUNTPOINT}"/build-puppet.sh
|
||||
|
||||
echo "Configuring Puppet..."
|
||||
cfg_head=$(mktemp)
|
||||
cfg_foot=$(mktemp)
|
||||
awk '/\[agent\]/ {exit} {print}' "${MOUNTPOINT}"/etc/puppet/puppet.conf > ${cfg_head}
|
||||
awk '/\[agent\]/,0' "${MOUNTPOINT}"/etc/puppet/puppet.conf > ${cfg_foot}
|
||||
cat ${cfg_head} > "${MOUNTPOINT}"/etc/puppet/puppet.conf
|
||||
cat <<EOF >> "${MOUNTPOINT}"/etc/puppet/puppet.conf
|
||||
server = ${PUPPETMASTER}
|
||||
pluginsync = true
|
||||
|
||||
EOF
|
||||
cat ${cfg_foot} >> "${MOUNTPOINT}"/etc/puppet/puppet.conf
|
||||
rm ${cfg_head} ${cfg_foot}
|
||||
|
||||
echo "Setting hostname..."
|
||||
sed -i "s/localhost/${VMNAME}/" "${MOUNTPOINT}"/etc/conf.d/hostname
|
||||
|
||||
|
@ -157,6 +126,6 @@ umount "${MOUNTPOINT}"/{tmp,proc,sys,run,usr,var,home,}
|
|||
vgchange -an ${VMNAME}
|
||||
|
||||
echo "Creating libvirt domain..."
|
||||
m4 -P -DNAME="${DOMNAME}" "${DOMXML_TMPL}" | virsh -c qemu:///system define /dev/stdin
|
||||
virsh -c qemu:///system define <(m4 -P -DNAME="${DOMNAME}" "${DOMXML_TMPL}")
|
||||
echo "Starting virtual machine..."
|
||||
virsh -c qemu:///system start ${DOMNAME}
|
||||
|
|
Loading…
Reference in New Issue