diff options
Diffstat (limited to 'qa/945')
-rwxr-xr-x | qa/945 | 92 |
1 files changed, 92 insertions, 0 deletions
@@ -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 |