summaryrefslogtreecommitdiff
path: root/qa/945
diff options
context:
space:
mode:
Diffstat (limited to 'qa/945')
-rwxr-xr-xqa/94592
1 files changed, 92 insertions, 0 deletions
diff --git a/qa/945 b/qa/945
new file mode 100755
index 0000000..24d567c
--- /dev/null
+++ b/qa/945
@@ -0,0 +1,92 @@
+#!/bin/sh
+# PCP QA Test No. 945
+# Exercise log migration for the XFS from Linux PMDA split.
+#
+# Copyright (c) 2013 Red Hat.
+#
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+# get standard environment, filters and checks
+. ./common.product
+. ./common.filter
+. ./common.check
+
+status=1 # failure is the default!
+$sudo rm -rf $tmp.* $seq.full
+trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15
+migrate=$PCP_VAR_DIR/config/pmlogrewrite/linux_xfs_migrate.conf
+
+_compare()
+{
+ echo "Label record diffs ..."
+ pmdumplog -z -L $1 >$tmp.1
+ pmdumplog -z -L $2 >$tmp.2
+ diff $tmp.1 $tmp.2
+
+ echo "Instance domain diffs ..."
+ pmdumplog -z -i $1 >$tmp.1
+ pmdumplog -z -i $2 >$tmp.2
+ diff $tmp.1 $tmp.2
+
+ echo "Metadata diffs ..."
+ pmdumplog -z -d $1 \
+ | sed -e '/^PMID/{
+N
+N
+s/\n */ /g
+}' \
+ | sort -k 3 >$tmp.1
+ pmdumplog -z -d $2 \
+ | sed -e '/^PMID/{
+N
+N
+s/\n */ /g
+}' \
+ | sort -k 3 >$tmp.2
+ # interested in these sorts of metrics
+ # PMID: 60.5.1 (filesys.capacity)
+ # Data Type: 64-bit unsigned int InDom: 60.5 0xf000005
+ # PMID: 11.30.0 (quota.state.project.accounting)
+ # Data Type: 32-bit unsigned int InDom: 11.5 0x2c00005
+ egrep 'filesys.free|quota.state.project.accounting' $tmp.1 >$tmp.1a
+ egrep 'filesys.free|quota.state.project.accounting' $tmp.2 >$tmp.2a
+ diff $tmp.1a $tmp.2a
+ sed -e 's/PMID: 60\./XX./g' -e 's/PMID: 11\./XX./g' \
+ -e '/InDom:/{
+s/m: 60\./m: XX./
+s/m: 11\./m: XX./
+s/ 0xf0/ 0xfXX/
+s/ 0x2c/ 0xfXX/
+}' $tmp.1 >$tmp.1a
+ sed -e 's/PMID: 60\./XX./g' -e 's/PMID: 11\./XX./g' \
+ -e '/InDom:/{
+s/m: 60\./m: XX./
+s/m: 11\./m: XX./
+s/ 0xf0/ 0xfXX/
+s/ 0x2c/ 0xfXX/
+}' $tmp.2 >$tmp.2a
+ diff $tmp.1a $tmp.2a
+
+ echo "Temporal index diffs ..."
+ pmdumplog -z -t $1 >$tmp.1
+ pmdumplog -z -t $2 >$tmp.2
+ diff $tmp.1 $tmp.2
+}
+
+# real QA test starts here
+original=src/old_xfs
+pmlogrewrite -c $migrate -w $original $tmp.new
+
+echo "=== old ===" >>$seq.full
+pmdumplog -z -a $original >>$seq.full
+echo "=== new ===" >>$seq.full
+pmdumplog -z -a $tmp.new >>$seq.full
+
+echo "old -> new changes"
+_compare $original $tmp.new
+
+# success, all done
+status=0
+exit