pmrep: update TODO, man page
[pcp.git] / qa / common.pcpweb
blob97f3db64ca85d25ed332d9a12806d82d7adc7ffe
1 #!/bin/sh
3 # Common pre-test checking for weblog and webping PCP QA tests
5 # Copyright (c) 1997-2002 Silicon Graphics, Inc. All Rights Reserved.
8 # get standard environment, filters and checks
9 . ./common.product
10 . ./common.filter
11 . ./common.check
13 _installed()
15 versions $1 | fgrep $1 > /dev/null 2>&1
18 _remove_pmda()
20 ( cd $PCP_PMDAS_DIR/$1 ; $sudo ./Remove ) 2>&1
21 _pmda_installed $1 $PCP_PMCDCONF_PATH \
22 && _fail "couldn't install $1 pmda"
25 _install_pmda()
27 ( cd $PCP_PMDAS_DIR/$1 ; $sudo ./Install < /dev/null ) 2>&1
28 _pmda_installed $1 $PCP_PMCDCONF_PATH \
29 || _fail "couldn't install $1 pmda"
32 _save_state()
34 $sudo cp $PCP_PMCDCONF_PATH $PCP_PMCDCONF_PATH.$seq \
35 || _fail "couldn't save pmcd.conf"
37 if [ -f $PCP_VAR_DIR/config/web/webping.conf ]
38 then
39 $sudo cp $PCP_VAR_DIR/config/web/webping.conf $PCP_VAR_DIR/config/web/webping.conf.$seq \
40 || _fail "couldn't save webping.conf"
43 if [ -f $PCP_VAR_DIR/config/web/webdefaults ]
44 then
45 $sudo cp $PCP_VAR_DIR/config/web/webdefaults $PCP_VAR_DIR/config/web/webdefaults.$seq \
46 || _fail "couldn't save webdefaults"
50 _pmda_installed()
52 grep "^$1" "$2" >/dev/null
55 _restore_state()
57 if [ -f $PCP_PMCDCONF_PATH.$seq ]
58 then
60 # reset pmda installation state
61 for pmda in weblog webping
63 if _pmda_installed $pmda $PCP_PMCDCONF_PATH.$seq
64 then
65 _pmda_installed $pmda $PCP_PMCDCONF_PATH \
66 || _install_pmda $pmda > /dev/null
67 else
68 _pmda_installed $pmda $PCP_PMCDCONF_PATH \
69 && _remove_pmda $pmda > /dev/null
71 done
73 # copy back saved configuration files
74 if [ -f $PCP_PMCDCONF_PATH.$seq ]
75 then
76 $sudo cp $PCP_PMCDCONF_PATH.$seq $PCP_PMCDCONF_PATH
77 $sudo rm $PCP_PMCDCONF_PATH.$seq
80 [ -f $PCP_VAR_DIR/config/web/webping.conf.$seq ] \
81 && $sudo mv $PCP_VAR_DIR/config/web/webping.conf.$seq $PCP_VAR_DIR/config/web/webping.conf
83 [ -f $PCP_VAR_DIR/config/web/webdefaults.$seq ] \
84 && $sudo mv $PCP_VAR_DIR/config/web/webdefaults.$seq $PCP_VAR_DIR/config/web/webdefaults
86 # restart pmcd to pick up new configuration
87 $sudo $PCP_BINADM_DIR/pmsignal -a -s HUP pmcd
88 _wait_for_pmcd
93 _pmget()
95 pminfo -f $1 | $PCP_AWK_PROG '/^ *value/ { print $2 }' \
96 || _fail "Couldn't get value for $1"
99 _pmcount()
101 pminfo $1 | grep -c .
104 _require_pmda()
106 _pmda_installed $1 $PCP_PMCDCONF_PATH \
107 || _install_pmda $1 > /dev/null
110 ##############################################################################
112 unset ROOT