From 0f5a69d908a83404db469123498456e9e438cdaa Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Sun, 22 Sep 2013 11:52:06 -0500 Subject: [PATCH] create-vmachine: General cleanup and remove Puppet stuff --- create-vmachine.sh | 59 +++++++++++----------------------------------- 1 file changed, 14 insertions(+), 45 deletions(-) diff --git a/create-vmachine.sh b/create-vmachine.sh index 755ab1f..765600c 100755 --- a/create-vmachine.sh +++ b/create-vmachine.sh @@ -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) " >&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) " >&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 < "${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 <> "${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}