first adopt working
authorDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 25 Jun 2014 17:40:45 +0000 (19:40 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 25 Jun 2014 17:40:45 +0000 (19:40 +0200)
sbin/lvs
sbin/vgs
t/adopt.sh [new file with mode: 0755]
t/lvs
t/vgs [new file with mode: 0644]

index ed2fb8b..815e085 100755 (executable)
--- a/sbin/lvs
+++ b/sbin/lvs
@@ -1,13 +1,12 @@
-#!/bin/sh -x
+#!/bin/sh -e
 
 . /usr/share/ganeti/extstorage/zfs/defaults.sh
 
-if echo $* | grep -q $EXTP_VG ; then
-
 # lvs --noheadings --units=m --nosuffix '--separator=|' -ovg_name,lv_name,lv_size,lv_attr
 if echo $* | grep -q vg_name,lv_name,lv_size,lv_attr ; then
 
-       zfs get volsize -t volume -r $EXTP_ZFS -H -p -o name,value | sed "s:$EXTP_ZFS::" | awk '{ print "  '$EXTP_VG'|"$1"|" $2 / 1024 / 1024 "|-wi-ao--" }'
+       zfs get volsize -t volume -r $EXTP_ZFS -H -p -o name,value | sed "s:$EXTP_ZFS/*::" | awk '{ print "  '$EXTP_VG'|"$1"|" $2 / 1024 / 1024 "|-wi-a---" }' # FIXME handle -wi-ao-- for used volumes, via ganeti:originstname ?
+       /sbin/lvm lvs $* || exit 0 # local, might fail
 
 # gnt-instance modify -t drbd -n box02 zfs
 # lvs --noheadings '--separator=|' --units=k --nosuffix -olv_attr,lv_kernel_major,lv_kernel_minor,vg_extent_size,stripes,devices /dev/ffzgvg/c72d9ea7-f396-4104-b4ee-8b613da32051.disk1
@@ -29,9 +28,6 @@ elif echo $* | grep -q lv_attr,lv_kernel_major,lv_kernel_minor,vg_extent_size,st
        fi
        ls -al `readlink -f /dev/zvol/$EXTP_ZFS/$VOL_NAME` | sed 's/,//' | awk '{ print "  -wi-ao--|" $5 "|" $6 "|'$volblocksize'|1|" $10 "(" $6 * 1280 + $6 ")" }' # FIXME what is number after device?
 
-
-fi
-
 else
        /sbin/lvm lvs $*
 fi
index fc3b2d6..4c1b350 100755 (executable)
--- a/sbin/vgs
+++ b/sbin/vgs
@@ -2,9 +2,7 @@
 
 . /usr/share/ganeti/extstorage/zfs/defaults.sh
 
-set -x
-
-/sbin/lvm vgs $*
+#set -x
 
 # gnt-node list-storage
 # vgs --noheadings --units=m --nosuffix --separator '|' --options vg_name,vg_size,vg_free
@@ -16,4 +14,13 @@ if echo $* | grep -q vg_name,vg_size,vg_free ; then
 elif echo $* | grep -q vg_name,vg_free,vg_attr,vg_size ; then
        zfs list -H -p -o available,used $EXTP_ZFS | awk '{ print "  '$EXTP_VG'|" $1 / 1024 / 1024 "|wz--n-|" ( $1 + $2 ) / 1024 / 1024 }'
 
+# gnt-node add --disk 0:adopt=zfs-root
+# vgs --noheadings --units m --nosuffix -o name,size
+elif echo $* | grep -q name,size ; then
+       zfs list -H -p -o used,available $EXTP_ZFS | awk '{ print "  '$EXTP_VG' " ( $1 + $2 ) / 1024 / 1024 }'
+
+else
+
+/sbin/lvm vgs $*
+
 fi
diff --git a/t/adopt.sh b/t/adopt.sh
new file mode 100755 (executable)
index 0000000..862ae8c
--- /dev/null
@@ -0,0 +1,7 @@
+ssh `gnt-cluster getmaster` \
+  gnt-instance add -t plain --disk=0:adopt=zfs-root \
+       -o debootstrap+default \
+       --no-name-check --no-ip-check \
+       -B maxmem=512M -n arh-hw t-adopt
+
+
diff --git a/t/lvs b/t/lvs
index 35ff6db..67b51cf 100644 (file)
--- a/t/lvs
+++ b/t/lvs
@@ -1,3 +1,4 @@
 #lvs --noheadings '--separator=|' --units=k --nosuffix -olv_attr,lv_kernel_major,lv_kernel_minor,vg_extent_size,stripes,devices /dev/ffzgvg/c72d9ea7-f396-4104-b4ee-8b613da32051.disk1
-lvs --noheadings '--separator=|' --units=k --nosuffix -olv_attr,lv_kernel_major,lv_kernel_minor,vg_extent_size,stripes,devices /dev/ffzgvg/3e6746a9-cb99-4584-a219-af7e4b5cb5f5.disk0_data
-lvs --noheadings '--separator=|' --units=k --nosuffix -olv_attr,lv_kernel_major,lv_kernel_minor,vg_extent_size,stripes,devices /dev/ffzgvg/3e6746a9-cb99-4584-a219-af7e4b5cb5f5.disk0_meta
+#lvs --noheadings '--separator=|' --units=k --nosuffix -olv_attr,lv_kernel_major,lv_kernel_minor,vg_extent_size,stripes,devices /dev/ffzgvg/3e6746a9-cb99-4584-a219-af7e4b5cb5f5.disk0_data
+lvs --noheadings --units=m --nosuffix '--separator=|' -ovg_name,lv_name,lv_size,lv_attr
+lvs --noheadings --units=m --nosuffix '--separator=|' -ovg_name,lv_name,lv_size,lv_attr ffzgvg
diff --git a/t/vgs b/t/vgs
new file mode 100644 (file)
index 0000000..58d4f53
--- /dev/null
+++ b/t/vgs
@@ -0,0 +1,3 @@
+vgs --noheadings --units=m --nosuffix --separator '|' --options vg_name,vg_size,vg_free
+vgs --noheadings --nosuffix --units=m --unbuffered '--separator=|' -ovg_name,vg_free,vg_attr,vg_size
+vgs --noheadings --units m --nosuffix -o name,size