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
|
#! /bin/sh
# PCP QA Test No. 662
# Exercises REST API functionality using python requests module
#
# Copyright (c) 2013-2015,2019 Red Hat.
#
seq=`basename $0`
echo "QA output created by $seq"
. ./common.python
_check_series
signal=$PCP_BINADM_DIR/pmsignal
status=1 # failure is the default!
hostname=`hostname`
machineid=`_machine_id`
domainname=`_domain_name`
need_restore=true
# only stop pmproxy if it was not running before the QA test starts
if [ -n "`_get_pids_by_name pmproxy`" ]
then
pmproxy_was_running=true
else
pmproxy_was_running=false
fi
echo "pmproxy_was_running=$pmproxy_was_running" >>$seq_full
_cleanup()
{
cd $here
if $need_restore
then
need_restore=false
$sudo rm -rf $PCP_ETC_DIR/pcp/labels/*
_restore_config $PCP_ETC_DIR/pcp/labels
_sighup_pmcd
fi
_restore_auto_restart pmproxy
$pmproxy_was_running && _service pmproxy restart >$seq_full 2>&1
$sudo rm -f $tmp.*
}
trap "_cleanup; exit \$status" 0 1 2 3 15
_filter_labels()
{
sed \
-e "s/domainname=.${domainname}./domainname=\"DOMAIN\"/g" \
-e "s/machineid=.${machineid}./machineid=\"MACHINE\"/g" \
-e "s/hostname=.${hostname}./hostname=\"HOSTNAME\"/g" \
#end
}
# real test starts here
_save_config $PCP_ETC_DIR/pcp/labels
$sudo rm -rf $PCP_ETC_DIR/pcp/labels/*
_sighup_pmcd || _exit 1
# make the same derived metrics available between the processes
# being compared (pminfo is run within test_webapi.py, which is
# affected by this (qa/common unsets this).
#
PCP_DERIVED_CONFIG="$PCP_VAR_DIR/config/derived"; export PCP_DERIVED_CONFIG
if ! _service pmproxy restart >/dev/null 2>&1; then _exit 1; fi
$python $here/src/test_webapi.py | _webapi_response_filter | _filter_labels
echo >>$seq_full
echo "=== pmproxy log ===" >>$seq_full
cat $PCP_LOG_DIR/pmproxy/pmproxy.log >>$seq_full
status=0
exit
|