Update to latest community sources

This commit is contained in:
Nathan Scott 2023-09-06 10:38:19 +10:00
parent 8cda7294ef
commit e8670a7899
4 changed files with 15 additions and 172 deletions

View File

@ -1,14 +1,11 @@
Name: pcp Name: pcp
Version: 6.0.5 Version: 6.1.0
Release: 6%{?dist} Release: 1%{?dist}
Summary: System-level performance monitoring and performance management Summary: System-level performance monitoring and performance management
License: GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0 License: GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0
URL: https://pcp.io URL: https://pcp.io
%global artifactory https://performancecopilot.jfrog.io/artifactory Source0: https://github.com/performancecopilot/pcp/releases/pcp-%{version}.src.tar.gz
Source0: %{artifactory}/pcp-source-release/pcp-%{version}.src.tar.gz
Patch0: redhat-bugzilla-2175602.patch
Patch1: redhat-bugzilla-2185803.patch
# The additional linker flags break out-of-tree PMDAs. # The additional linker flags break out-of-tree PMDAs.
# https://bugzilla.redhat.com/show_bug.cgi?id=2043092 # https://bugzilla.redhat.com/show_bug.cgi?id=2043092
@ -1841,11 +1838,13 @@ Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
Requires: python3-pcp Requires: python3-pcp
%if 0%{?rhel} == 0 %if 0%{?rhel} == 0
Requires: python3-pyodbc Requires: python3-pyodbc
BuildRequires: python3-pyodbc
%endif %endif
%else %else
Requires: %{__python2}-pcp Requires: %{__python2}-pcp
%if 0%{?rhel} == 0 %if 0%{?rhel} == 0
Requires: %{__python2}-pyodbc Requires: %{__python2}-pyodbc
BuildRequires: %{__python2}-pyodbc
%endif %endif
%endif %endif
%description pmda-mssql %description pmda-mssql
@ -2224,7 +2223,7 @@ in the Python language.
# pcp-gui package for Qt tools # pcp-gui package for Qt tools
# #
%package gui %package gui
License: GPL-2.0-or-later AND LGPL-2.1-or-later and LGPL-2.1-or-later WITH Qwt-exception-1.0 License: GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH Qwt-exception-1.0
Summary: Visualization tools for the Performance Co-Pilot toolkit Summary: Visualization tools for the Performance Co-Pilot toolkit
URL: https://pcp.io URL: https://pcp.io
Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release} Requires: pcp = %{version}-%{release} pcp-libs = %{version}-%{release}
@ -2440,7 +2439,8 @@ basic_manifest | keep 'selinux' | cull 'tmp|testsuite' >pcp-selinux-files
basic_manifest | keep 'zeroconf|daily[-_]report|/sa$' >pcp-zeroconf-files basic_manifest | keep 'zeroconf|daily[-_]report|/sa$' >pcp-zeroconf-files
basic_manifest | grep -E -e 'pmiostat|pmrep|dstat|htop|pcp2csv' \ basic_manifest | grep -E -e 'pmiostat|pmrep|dstat|htop|pcp2csv' \
-e 'pcp-atop|pcp-dmcache|pcp-dstat|pcp-free|pcp-htop' \ -e 'pcp-atop|pcp-dmcache|pcp-dstat|pcp-free|pcp-htop' \
-e 'pcp-ipcs|pcp-iostat|pcp-lvmcache|pcp-mpstat' \ -e 'pcp-ipcs|pcp-iostat|pcp-lvmcache|pcp-mpstat|pcp-netstat' \
-e 'pcp-buddyinfo|pcp-meminfo|pcp-slabinfo|pcp-zoneinfo' \
-e 'pcp-numastat|pcp-pidstat|pcp-shping|pcp-tapestat' \ -e 'pcp-numastat|pcp-pidstat|pcp-shping|pcp-tapestat' \
-e 'pcp-uptime|pcp-verify|pcp-ss|pcp-ps' | \ -e 'pcp-uptime|pcp-verify|pcp-ss|pcp-ps' | \
cull 'selinux|pmlogconf|pmieconf|pmrepconf' >pcp-system-tools-files cull 'selinux|pmlogconf|pmieconf|pmrepconf' >pcp-system-tools-files
@ -3364,6 +3364,12 @@ fi
%files zeroconf -f pcp-zeroconf-files.rpm %files zeroconf -f pcp-zeroconf-files.rpm
%changelog %changelog
* Tue Sep 05 2023 Nathan Scott <nathans@redhat.com> - 6.1.0-1
- Remove unintended pmie logging to syslog (BZ 2223348)
- Update pcp selinux policy to match core (BZ 2223568)
- Resolve pmlogconf SIGABRT during fsync (BZ 2229441)
- Update to latest PCP sources.
* Mon Aug 07 2023 Sam Feifer <samfeifer@fedoraproject.org> - 6.0.5-6 * Mon Aug 07 2023 Sam Feifer <samfeifer@fedoraproject.org> - 6.0.5-6
- Improve on pmieconf integration with Event Driven Ansible - Improve on pmieconf integration with Event Driven Ansible

View File

@ -1,69 +0,0 @@
commit e97d64cfab956e3542a0f25442086ee2fd74d9a5
Author: Nathan Scott <nathans@redhat.com>
Date: Tue Jul 18 16:22:30 2023 +1000
pmieconf: move test_action from primary into a separate group
Problem with using primary is that it is automatically enabled
as part of the primary pmie startup and thats not whats needed
for this diagnostic rule.
Resolves Red Hat BZ #2223348
diff --git a/src/pmieconf/.gitignore b/src/pmieconf/.gitignore
index 3c0b7b51ef..0670d80057 100644
--- a/src/pmieconf/.gitignore
+++ b/src/pmieconf/.gitignore
@@ -9,6 +9,7 @@ perdisk/GNUmakefile
pernetif/GNUmakefile
power/GNUmakefile
primary/GNUmakefile
+testing/GNUmakefile
zeroconf/GNUmakefile
pmieconf
pmieconf.static
diff --git a/src/pmieconf/GNUmakefile b/src/pmieconf/GNUmakefile
index 567d94dce1..7a82e45a28 100644
--- a/src/pmieconf/GNUmakefile
+++ b/src/pmieconf/GNUmakefile
@@ -18,7 +18,7 @@ include $(TOPDIR)/src/include/builddefs
include $(TOPDIR)/src/libpcp/src/GNUlibrarydefs
MKFILE_SUBDIRS = cpu entropy filesys memory network percpu perdisk pernetif \
- power global primary zeroconf
+ power global primary testing zeroconf
SUBDIRS = $(MKFILE_SUBDIRS)
CMDTARGET = pmieconf$(EXECSUFFIX)
diff --git a/src/pmieconf/primary/localdefs b/src/pmieconf/primary/localdefs
index 3d51dd69d9..ca21fca8b5 100644
--- a/src/pmieconf/primary/localdefs
+++ b/src/pmieconf/primary/localdefs
@@ -1,2 +1,2 @@
-ALL_RULES = pmda_status test_actions
+ALL_RULES = pmda_status
LOCAL_RULES = $(ALL_RULES)
diff --git a/src/pmieconf/testing/localdefs b/src/pmieconf/testing/localdefs
new file mode 100644
index 0000000000..a2af94f1c0
--- /dev/null
+++ b/src/pmieconf/testing/localdefs
@@ -0,0 +1,2 @@
+ALL_RULES = test_actions
+LOCAL_RULES = $(ALL_RULES)
diff --git a/src/pmieconf/primary/test_actions b/src/pmieconf/testing/test_actions
similarity index 97%
rename from src/pmieconf/primary/test_actions
rename to src/pmieconf/testing/test_actions
index cc0ee1f7cb..56c89787a0 100644
--- a/src/pmieconf/primary/test_actions
+++ b/src/pmieconf/testing/test_actions
@@ -2,7 +2,7 @@
# --- DO NOT MODIFY THIS FILE --- see pmieconf(5)
#
-rule primary.test_actions
+rule testing.test_actions
default = "$rule$"
predicate = "hinv.ncpu > 0"
enabled = no

View File

@ -1,94 +0,0 @@
commit b4869520fd98f8b2ad09d39fb4466100d508b926
Author: Nathan Scott <nathans@redhat.com>
Date: Mon Aug 7 13:04:38 2023 +1000
pmieconf: update webhook action for better EDA integration
The pmieconf webhook action was initially created for Event
Driven Ansible (EDA); two issues have been resolved related
- using the JSON key "values" conflicts with something deep
down in EDA that also interprets this JSON. Use "message",
which is more descriptive of the content anyway.
- there is no easily accessible hostname JSON key - add one
via the usual %h pmie action string expansion.
Related to Red Hat BZ #2185803
diff --git a/qa/1567 b/qa/1567
index ba90aa9cc8..10c1756ca4 100755
--- a/qa/1567
+++ b/qa/1567
@@ -53,7 +53,7 @@ sleep 2 # let nc start up
( sleep 2; $signal $pid1 ) >>$seq.full 2>&1 &
echo "pmie webhook invocation" | tee -a $here/$seq.full
-pmie_webhook "http://localhost:$port/webhook|Busy CPU|100%hosta|100%@hostb" 2> $tmp.webhook.err
+pmie_webhook "http://localhost:$port/webhook|Busy CPU|www.abc.com|100%@www.abc.com" 2> $tmp.webhook.err
cat $tmp.webhook.err >> $here/$seq.full
echo
diff --git a/qa/1567.out b/qa/1567.out
index e3fce64bb3..153aec9581 100644
--- a/qa/1567.out
+++ b/qa/1567.out
@@ -9,5 +9,5 @@ Content-Type: application/json
Host: localhost:PORT
POST /webhook HTTP/1.1
User-Agent: curl VERSION
-{"pcp":{"pmie":{"rule":"Busy CPU","values":"100%hosta 100%@hostb"}}}
+{"pcp":{"pmie":{"rule":"Busy CPU","hostname":"www.abc.com","message":"100%@www.abc.com"}}}
diff --git a/src/pmieconf/global/pcp_actions b/src/pmieconf/global/pcp_actions
index 476bef0553..61e787f21e 100644
--- a/src/pmieconf/global/pcp_actions
+++ b/src/pmieconf/global/pcp_actions
@@ -95,7 +95,7 @@ the rule condition is true.";
shell global.webhook_action
enabled = no
- default = "pmie_webhook '$webhook_endpoint$|$rule$^|$action_expand$^'"
+ default = "pmie_webhook '$webhook_endpoint$|$rule$^|%h|$action_expand$^'"
help =
"HTTP POST message will be sent to \"webhook_endpoint\" when a
rule condition is true. The message will be in JSON format.";
diff --git a/src/pmieconf/pmie_webhook b/src/pmieconf/pmie_webhook
index 87193fca60..8d386f1ae6 100755
--- a/src/pmieconf/pmie_webhook
+++ b/src/pmieconf/pmie_webhook
@@ -19,7 +19,8 @@
#
# "line" 1 - HTTP/HTTPS endpoint, as passed to a http client
# "line" 2 - pmie rule name
-# "line" 3,4,.. - values from predicate evaluation [optional]
+# "line" 3 - rule evaluated for hostname
+# "line" 4,5,.. - values from predicate evaluation [optional]
# source the PCP configuration environment variables
. /etc/pcp.env
@@ -28,7 +29,7 @@ prog=`basename $0`
if [ $# -ne 1 ]
then
- echo "Usage: $prog url|rule|message"
+ echo "Usage: $prog url|rule|hostname|message"
exit 1
fi
@@ -46,14 +47,14 @@ if [ -z "$CURL" ] ; then
fi
cat <<End-of-File | ${PCP_AWK_PROG} -F\| '
-NF < 2 { print "echo '"'$prog"': needs \"endpoint|rule|values\" argument'"'"'"
+NF < 3 { print "echo '"'$prog"': needs \"endpoint|rule|hostname|message\" argument'"'"'"
exit 1
}
{ printf "%s ", "'$CURL'"
printf "-s -X POST -H \"Content-Type: application/json\" -d@- "
printf "%s <<End-of-File\n", $1
- printf "{\"pcp\":{\"pmie\":{\"rule\":\"%s\",\"values\":\"%s", $2, $3
- for (i = 4; i <= NF; i++)
+ printf "{\"pcp\":{\"pmie\":{\"rule\":\"%s\",\"hostname\":\"%s\",\"message\":\"%s", $2, $3, $4
+ for (i = 5; i <= NF; i++)
printf " %s", $i
printf "\"}}}\nEnd-of-File\n"
}' | /bin/sh

View File

@ -1 +1 @@
SHA512 (pcp-6.0.5.src.tar.gz) = 1e86d8f6ac7ffb340df7b509c0cfcf82b18db6ee79fb6e97a885a536799b7f6e620c9d9c627e75cb804d7c80f82003202e2cdd45272845ecfd9ad394386006a3 SHA512 (pcp-6.1.0.src.tar.gz) = 7c24353886c25145ddfc34cfc5f37d7f62e0fb014afe5f6fe28cd9d033c0f9e14e376993fd33339a4ff24d4a97dd02f652ffc618149f1a94595ea5a924b03fb1