summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2012-10-10 15:23:30 +0200
committervarac <varacanero@zeromail.org>2012-10-10 15:23:30 +0200
commit4a1f8c78fbbdd74107380bdd8fffc1dede41e2f7 (patch)
tree4b0361b4963ae2442bdd43d7c36f75a25fca2a1a
parent4fd1fb662a69413004a17bc1b2b0acfd430f38a8 (diff)
added config file, possible to clone from remote kvm instance
-rwxr-xr-xcreate-guest-with-cloudinit16
1 files changed, 14 insertions, 2 deletions
diff --git a/create-guest-with-cloudinit b/create-guest-with-cloudinit
index cee53a8..5b543ac 100755
--- a/create-guest-with-cloudinit
+++ b/create-guest-with-cloudinit
@@ -1,12 +1,19 @@
#!/bin/sh
+# depends on following packages:
+# apt-get install virtinst libvirt-bin dosfstools mtools kvm kvm-qemu
+# apt-get install -t wheezy util-linux
-
+# defaults
VG='vg01'
ETC='/etc/cloudinit'
+CONFIG="$ETC/cloudinit.cfg"
VARDIR='/var/lib/libvirt/cloudinit'
SCRIPTDIR='/usr/local/bin/leap_cloudadmin'
+. $CONFIG
+
+
fail() { [ $# -eq 0 ] || echo "$@"; exit 1; }
bad_usage() { usage 1>&2; [ $# -eq 0 ] || fail "$@"; exit 1; }
@@ -46,6 +53,11 @@ done
[ $# -lt 1 ] && bad_usage "must provide guest name"
[ $# -gt 1 ] && bad_usage "too many arguments"
+# requirements
+echo "mtools_skip_check=1">~/.mtoolsrc
+[ -e /var/lib/libvirt/cloudinit ] || ( mkdir /var/lib/libvirt/cloudinit ; chown libvirt-qemu /var/lib/libvirt/cloudinit )
+
+
vmname=$1
userdata="$ETC/$vmname-user-data"
@@ -64,7 +76,7 @@ if [ $? -eq 0 ]; then fail "Domain $vmname is defined in libvirt. Please undefin
lvcreate -L ${size}g -n $vmname $VG
-virt-clone -o leap-baseimage-wheezy -n $vmname -f /dev/$VG/$vmname --force
+virt-clone --connect $KVM_URI -o leap-baseimage-wheezy -n $vmname -f /dev/$VG/$vmname --force
# resize second (root) partition
echo ",+," | sfdisk -N2 /dev/$VG/$vmname > /dev/null