#! /bin/sh # PCP QA Test No. 162 # namespace only Install/Remove for pmdas # # this is less important for PCP 2.0 than it was for PCP 1.x, but we # need to make sure the functionality still works, e.g. upgrade a # collector to PCP 2.0, but want to monitor from a PCP 1.x system # # Note: expect some "Cannot create" errors from the installation # of the pmchart view(s) ... we do not run Install/Remove as root # in this test # # See also 600. This version is for the PMDAs in pcp_opensrc. # # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved. # seq=`basename $0` echo "QA output created by $seq" # get standard filters . ./common.product . ./common.filter . ./common.check perl -e "use PCP::PMDA" >/dev/null 2>&1 [ $? -eq 0 ] || _notrun "perl PCP::PMDA module not installed" trap "rm -rf $tmp; exit" 0 1 2 3 15 # # Get rid of some new sample metrics which # would make the test vary. # _filter() { sed \ -e '/sample\.dynamic\.meta/d' \ -e '/sample\.datasize/d' \ -e '/sample\.darkness/d' \ } _filter_ins() { sed \ -e 's/.* \(hash table entries\)/ NNN \1/' \ -e 's/.* \(non-leaf nodes\)/ NNN \1/' \ -e 's/.* \(leaf nodes\)/ NNN \1/' \ -e 's/.* \(bytes of symbol table\)/ NNN \1/' \ -e 's/ *- Permission denied/\ Permission denied/' } # all of the ones we ship as part of the PCP product # PMDALIST=' cisco mailq news sample sendmail simple summary trace trivial txmon' # real QA test starts here unset ROOT MAKEFLAGS mkdir $tmp cat >>$tmp/root.orig <&1 | _filter_ins pminfo -n $tmp/root $pmda | _filter | LC_COLLATE=POSIX sort else echo "Error: $instdir/Install does not exist" fi done echo echo 'Removals ... expect "Unknown metric name" errors at the end of each' echo 'operation as the PMNS should have been culled' for pmda in $PMDALIST do instdir=$PCP_PMDAS_DIR/$pmda echo echo "=== Remove -n for $pmda ===" if [ -f $instdir/Remove ] then cd $instdir $sudo ./Remove -n $tmp/root -N pminfo -n $tmp/root $pmda else echo "Error: $instdir/Install does not exist" fi done echo echo "=== Check final state of root ===" echo "(expect no diffs between the initial and final PMNS)" diff -c $tmp/root.orig $tmp/root exit 0