added config file, possible to clone from remote kvm instance
authorvarac <varacanero@zeromail.org>
Wed, 10 Oct 2012 13:23:30 +0000 (15:23 +0200)
committervarac <varacanero@zeromail.org>
Wed, 10 Oct 2012 13:23:30 +0000 (15:23 +0200)
create-guest-with-cloudinit

index cee53a8..5b543ac 100755 (executable)
@@ -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