Bug 1303005

Summary: Upstream test case 416 requires pcp-pmda-news installed, fails otherwise
Product: Red Hat Enterprise Linux 6 Reporter: Miloš Prchlík <mprchlik>
Component: pcpAssignee: Nathan Scott <nathans>
Status: CLOSED ERRATA QA Contact: Miloš Prchlík <mprchlik>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.8CC: brolley, fche, lberk, mbenitez, mgoodwin
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pcp-3.10.9-6.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-10 21:13:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Miloš Prchlík 2016-01-29 09:32:14 UTC
Description of problem:

With only the basic set of pcp packages installed, we ran "sanity" group of upstream tests. Some of them reported "not run" because of missing requirements (e.g. TC 369:  [not run] Perl PCP::LogImport module is not installed), and such behavior makes sense to me. pcp-pmda-news was *not* installed, and TC 416 produced hard fail:

[79%] 416 - output mismatch (see 416.out.bad)

:: [  BEGIN   ] :: Running 'diff -urN /var/lib/pcp/testsuite/416.out /var/lib/pcp/testsuite/416.out.bad'
--- /var/lib/pcp/testsuite/416.out	2016-01-15 11:15:32.000000000 -0500
+++ /var/lib/pcp/testsuite/416.out.bad	2016-01-26 13:03:07.881151012 -0500
@@ -1,66 +1,2 @@
 QA output created by 416
-dbpmda> open pipe PERL PCP_PMDAS_DIR/news/pmdanews.pl
-Start perl PMDA: PERL PCP_PMDAS_DIR/news/pmdanews.pl
-dbpmda> traverse news
-Metric: news
-   news.articles.count
-   news.articles.last
-   news.articles.total
-   news.readers.nnrpd
-   news.readers.rn
-   news.readers.trn
-   news.readers.vn
-   news.readers.xrn
-dbpmda> children news.articles
-Metric: news.articles
-       leaf count
-       leaf last
-       leaf total
-dbpmda> children news.articles.count
-Metric: news.articles.count
-dbpmda> pmid news.articles.total
-Metric: news.articles.total
-   28.0.201
-dbpmda> fetch news.articles.total
-PMID(s): 28.0.201
-pmResult dump from ADDR timestamp: 0.000000 TIMESTAMP numpmid: 1
-  28.0.201 (news.articles.total): numval: 1 valfmt: 0 vlist[]:
-   value 800 1.1210388e-42 0x320
-dbpmda> desc news.articles.count
-PMID: 28.0.301
-    Data Type: 32-bit unsigned int  InDom: 28.0 0x7000000
-    Semantics: instant  Units: count
-dbpmda> instance 28.0
-pmInDom: 28.0
-[  0] inst: 1 name: "comp.sys.sgi"
-[  1] inst: 2 name: "comp.sys.sgi.graphics"
-[  2] inst: 3 name: "comp.sys.sgi.hardware"
-[  3] inst: 4 name: "sgi.bad-attitude"
-[  4] inst: 5 name: "sgi.engr.all"
-dbpmda> fetch news.articles.count
-PMID(s): 28.0.301
-pmResult dump from ADDR timestamp: 0.000000 TIMESTAMP numpmid: 1
-  28.0.301 (news.articles.count): numval: 5 valfmt: 0 vlist[]:
-    inst [1 or ???] value 0 0 0x0
-    inst [2 or ???] value 0 0 0x0
-    inst [3 or ???] value 0 0 0x0
-    inst [4 or ???] value 700 9.8090893e-43 0x2bc
-    inst [5 or ???] value 100 1.4012985e-43 0x64
-dbpmda> profile 28.0 none
-dbpmda> profile 28.0 add 2
-dbpmda> profile 28.0 add 4
-dbpmda> getdesc on
-dbpmda> fetch news.articles.count
-PMID(s): 28.0.301
-pmResult dump from ADDR timestamp: 0.000000 TIMESTAMP numpmid: 1
-  28.0.301 (news.articles.count): numval: 2 valfmt: 0 vlist[]:
-    inst [2 or ???] value 0
-    inst [4 or ???] value 700
-dbpmda> close
-dbpmda> quit
-
-=== news.log ===
-Log for pmdanews on ...
-
-
-Log finished ...
+Where is /var/lib/pcp/pmdas/news?


Would it make sense to "fix" TC 416 that it won't run when news PMDA is not available? I suppose it does eventually find out ("Where is /var/lib/pcp/pmdas/news?"), would it be possible to realize such situation earlier, and gracefully quit as "not run"?


Version-Release number of selected component (if applicable):

Only this set of pcp packages was installed.

pcp-3.10.9-5.el6.ppc64
pcp-conf-3.10.9-5.el6.ppc64
pcp-libs-3.10.9-5.el6.ppc64
pcp-libs-devel-3.10.9-5.el6.ppc64
pcp-testsuite-3.10.9-5.el6.ppc64
python-pcp-3.10.9-5.el6.ppc64


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Lukas Berk 2016-01-29 15:32:14 UTC
Hey Miloš,

Thanks for catching this, and your suggestion is precisely correct, we need a 'notrun' test checking for the actual pmdanews.pl itself.

I've added this commit to my upstream branch (should be picked up in master eventually).  Should be easy to backport if required.

ec24477151b7e0737b8fea2d24d9e585d91c3831

qa/416 add notrun install test for the pmda itself

Previously we only checked that perl bindings were installed.  With the
pmda subrpms, we should also check that the pmda itself is installed

Comment 3 Miloš Prchlík 2016-02-24 15:14:22 UTC
Verified for build pcp-3.10.9-6.el6.

Comment 5 errata-xmlrpc 2016-05-10 21:13:36 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0825.html