File: 945

package info (click to toggle)
pcp 7.1.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 252,748 kB
  • sloc: ansic: 1,483,656; sh: 182,366; xml: 160,462; cpp: 83,813; python: 24,980; perl: 18,327; yacc: 6,877; lex: 2,864; makefile: 2,738; awk: 165; fortran: 60; java: 52
file content (93 lines) | stat: -rwxr-xr-x 2,218 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/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!
trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15

migrate=$PCP_VAR_DIR/config/pmlogrewrite/linux_xfs_migrate.conf
[ -f "$migrate" ] || _notrun "$migrate not installed"

_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
    grep -E 'filesys.free|quota.state.project.accounting' $tmp.1 >$tmp.1a
    grep -E '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=archives/old_xfs
pmlogrewrite -c $migrate -w $original $tmp.new

echo "=== old ===" >>$seq_full
pmdumplog -z -dilmst $original >>$seq_full
echo "=== new ===" >>$seq_full
pmdumplog -z -dilmst $tmp.new >>$seq_full

echo "old -> new changes"
_compare $original $tmp.new

# success, all done
status=0
exit