3 # Exercise the PMCD privileged co-process (root) PMDA
4 # Install, Remove and handling of different container
5 # engines container.* metrics.
7 # Copyright (c) 2014-2015 Red Hat.
11 echo "QA output created by $seq"
13 # get standard environment, filters and checks
19 $unix_domain_sockets || _notrun
"No unix domain socket support available"
22 status
=1 # failure is the default!
23 $sudo rm -rf $tmp.
* $seq.full
28 echo "=== remove root agent ==="
29 cd $PCP_PMDAS_DIR/root
30 sudo .
/Remove
>$tmp.out
2>&1
31 _filter_pmda_remove
<$tmp.out
36 # start from known starting points
37 cd $PCP_PMDAS_DIR/root
38 $sudo .
/Remove
>/dev
/null
2>&1
41 echo "=== $iam agent installation ==="
42 $sudo .
/Install
</dev
/null
>$tmp.out
2>&1
43 # Check root metrics have appeared ... X metrics and Y values
44 _filter_pmda_install
<$tmp.out \
46 -e '/^Waiting for pmcd/s/\.\.\.[. ]*$/DOTS/' \
48 /Check root metrics have appeared/ { if ($7 >= 5) $7 = "X"
49 if ($10 >= 5) $10 = "Y"
57 [ -d $root ] && sudo
rm -fr $root
58 [ -f $tmp.conf.backup
] && sudo
cp $tmp.conf.backup
$PCP_DIR/etc
/pcp.conf
62 # do metrics one at a time, map all internal instance ids to N and sort
70 pminfo
-f $metric >$tmp.tmp
71 grep -v ' inst \[' $tmp.tmp
72 sed -n -e '/inst \[/s/\[[0-9][0-9]*/[N/p' $tmp.tmp \
73 | LC_COLLATE
=POSIX
sort
77 _prepare_pmda root containers
78 trap "root_cleanup; exit \$status" 0 1 2 3 15
80 # backup main PCP config
81 cp $PCP_DIR/etc
/pcp.conf
$tmp.conf
82 cp $PCP_DIR/etc
/pcp.conf
$tmp.conf.backup
84 # simple testing script for LXC containers
85 cat >$tmp.test-lxc-info.sh
<<EOF
88 test -d "\$PCP_LXC_DIR/\$name" || exit 0
92 echo "CPU use: 1.13 seconds"
94 chmod 755 $tmp.test-lxc-info.sh
95 export PCP_LXC_DIR
=$root/var
/lib
/lxc
97 # real QA test starts here
99 echo "# from QA $seq ..." >> $tmp.conf
100 echo PCP_LXC_DIR
=$root/var
/lib
/lxc
>> $tmp.conf
101 echo PCP_LXC_INFO
=$tmp.test-lxc-info.sh
>> $tmp.conf
102 echo PCP_DOCKER_DIR
=$root/var
/lib
/docker
>> $tmp.conf
103 echo PCP_SYSTEMD_CGROUP
=/tmp
>> $tmp.conf
104 $sudo cp $tmp.conf
$PCP_DIR/etc
/pcp.conf
107 echo "=== Checking empty containers configuration, no values"
108 pmprobe
-v containers
109 echo "== done" && echo
111 tarballs
=`echo $here/linux/containers-*.tgz | LC_COLLATE=POSIX sort`
115 mkdir
$root || _fail
"root in use when processing $tgz"
120 echo "== Checking values for active containers"
122 echo && echo "== done" && echo