import OL pcp-6.2.0-3.0.1.el9_4
This commit is contained in:
parent
3240804836
commit
0f8cc2f172
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
SOURCES/pcp-6.2.0.src.tar.gz
|
SOURCES/pcp-6.2.0.src.tar.gz
|
||||||
|
SOURCES/redhat-issues-RHEL-50693-hacluster-metrics-update.patch
|
||||||
|
@ -1 +1,2 @@
|
|||||||
617d0e505af5f253080effb6701e089fc02e7379 SOURCES/pcp-6.2.0.src.tar.gz
|
617d0e505af5f253080effb6701e089fc02e7379 SOURCES/pcp-6.2.0.src.tar.gz
|
||||||
|
17b4396eb6593178f6c29db6f0eb01234eb6dba0 SOURCES/redhat-issues-RHEL-50693-hacluster-metrics-update.patch
|
||||||
|
108
SOURCES/1001-libpcp-small-derived-metrics-bug-fix.patch
Normal file
108
SOURCES/1001-libpcp-small-derived-metrics-bug-fix.patch
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
From f8dc87ed130a0cfe1077242a4da2d621c4016bfb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ken McDonell <kenj@kenj.id.au>
|
||||||
|
Date: Thu, 4 Apr 2024 11:34:41 +1100
|
||||||
|
Subject: [PATCH] libpcp: small derived metrics bug fix
|
||||||
|
|
||||||
|
This is a partial fix for
|
||||||
|
https://github.com/performancecopilot/pcp/issues/1921
|
||||||
|
|
||||||
|
If the operand has the semantics of PM_SEM_COUNTER and the
|
||||||
|
value goes backwards from one fetch to the next, then return
|
||||||
|
no values for rate().
|
||||||
|
|
||||||
|
There is QA to come, but this needs a final blessing from Oracle
|
||||||
|
before the reproducer archive can be included.
|
||||||
|
|
||||||
|
cherry-picked:- f8dc87ed130a0cfe1077242a4da2d621c4016bfb
|
||||||
|
[Orabug: 36538820]
|
||||||
|
Signed-off-by: sagar sagar <sagar.sagar@oracle.com>
|
||||||
|
---
|
||||||
|
man/man3/pmregisterderived.3 | 13 +++++++++----
|
||||||
|
src/libpcp/src/derive_fetch.c | 23 ++++++++++++++++++++++-
|
||||||
|
2 files changed, 31 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/man3/pmregisterderived.3 b/man/man3/pmregisterderived.3
|
||||||
|
index d8719f373..32963c3b3 100644
|
||||||
|
--- a/man/man3/pmregisterderived.3
|
||||||
|
+++ b/man/man3/pmregisterderived.3
|
||||||
|
@@ -485,15 +485,20 @@ metric x with the dimension in the
|
||||||
|
.B time
|
||||||
|
domain decreased by one and scaling if required in the time utilization case
|
||||||
|
where the operand is in units of time, and the derived metric is unitless.
|
||||||
|
-This mimics the rate conversion applied to counter metrics by tools
|
||||||
|
+There is one value in the result
|
||||||
|
+for each instance that appears in both the current and the previous
|
||||||
|
+sample, except in the case where the metric x has
|
||||||
|
+the semantics of a counter, i.e. PM_SEM_COUNTER, and
|
||||||
|
+current value of an instance is smaller than the previous value
|
||||||
|
+of the same instance then no value is
|
||||||
|
+returned for this instance (this corresponds to a ``counter wrap'' or a ``counter reset'').
|
||||||
|
+These rules
|
||||||
|
+mimic the rate conversion applied to counter metrics by tools
|
||||||
|
such as
|
||||||
|
.BR pmval (1),
|
||||||
|
.BR pmie (1)
|
||||||
|
and
|
||||||
|
.BR pmchart (1).
|
||||||
|
-There is one value in the result
|
||||||
|
-for each instance that appears in both the current and the previous
|
||||||
|
-sample.
|
||||||
|
T}
|
||||||
|
_
|
||||||
|
instant(x) T{
|
||||||
|
diff --git a/src/libpcp/src/derive_fetch.c b/src/libpcp/src/derive_fetch.c
|
||||||
|
index 62921ece4..ed5f6ebcf 100644
|
||||||
|
--- a/src/libpcp/src/derive_fetch.c
|
||||||
|
+++ b/src/libpcp/src/derive_fetch.c
|
||||||
|
@@ -847,7 +847,13 @@ eval_expr(__pmContext *ctxp, node_t *np, struct timespec *stamp, int numpmid,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
- /* rate() conversion, type will be DOUBLE */
|
||||||
|
+ /*
|
||||||
|
+ * rate() conversion, type will be DOUBLE
|
||||||
|
+ *
|
||||||
|
+ * For COUNTER metrics, return "no value" if the counter is
|
||||||
|
+ * NOT monotonic increasing ... this matches what pmval(1)
|
||||||
|
+ * and pmie(1) do in the same circumstances.
|
||||||
|
+ */
|
||||||
|
struct timespec stampdiff;
|
||||||
|
|
||||||
|
stampdiff = np->data.info->stamp;
|
||||||
|
@@ -857,18 +863,33 @@ eval_expr(__pmContext *ctxp, node_t *np, struct timespec *stamp, int numpmid,
|
||||||
|
np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.l - np->left->data.info->last_ivlist[j].value.l);
|
||||||
|
break;
|
||||||
|
case PM_TYPE_U32:
|
||||||
|
+ if (np->left->desc.sem == PM_SEM_COUNTER &&
|
||||||
|
+ np->left->data.info->ivlist[i].value.ul < np->left->data.info->last_ivlist[j].value.ul)
|
||||||
|
+ continue;
|
||||||
|
np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.ul - np->left->data.info->last_ivlist[j].value.ul);
|
||||||
|
break;
|
||||||
|
case PM_TYPE_64:
|
||||||
|
+ if (np->left->desc.sem == PM_SEM_COUNTER &&
|
||||||
|
+ np->left->data.info->ivlist[i].value.ll < np->left->data.info->last_ivlist[j].value.ll)
|
||||||
|
+ continue;
|
||||||
|
np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.ll - np->left->data.info->last_ivlist[j].value.ll);
|
||||||
|
break;
|
||||||
|
case PM_TYPE_U64:
|
||||||
|
+ if (np->left->desc.sem == PM_SEM_COUNTER &&
|
||||||
|
+ np->left->data.info->ivlist[i].value.ull < np->left->data.info->last_ivlist[j].value.ull)
|
||||||
|
+ continue;
|
||||||
|
np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.ull - np->left->data.info->last_ivlist[j].value.ull);
|
||||||
|
break;
|
||||||
|
case PM_TYPE_FLOAT:
|
||||||
|
+ if (np->left->desc.sem == PM_SEM_COUNTER &&
|
||||||
|
+ np->left->data.info->ivlist[i].value.f < np->left->data.info->last_ivlist[j].value.f)
|
||||||
|
+ continue;
|
||||||
|
np->data.info->ivlist[k].value.d = (double)(np->left->data.info->ivlist[i].value.f - np->left->data.info->last_ivlist[j].value.f);
|
||||||
|
break;
|
||||||
|
case PM_TYPE_DOUBLE:
|
||||||
|
+ if (np->left->desc.sem == PM_SEM_COUNTER &&
|
||||||
|
+ np->left->data.info->ivlist[i].value.d < np->left->data.info->last_ivlist[j].value.d)
|
||||||
|
+ continue;
|
||||||
|
np->data.info->ivlist[k].value.d = np->left->data.info->ivlist[i].value.d - np->left->data.info->last_ivlist[j].value.d;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
commit ce6112399ebf0ff39069a34bc9286242c875555e
|
|
||||||
Author: adam kaminski <adam@adamkaminski.com>
|
|
||||||
Date: Fri Feb 9 12:49:34 2024 -0500
|
|
||||||
|
|
||||||
pmapi.py : fix for struct_time() and day of year out of range on yyyy-01-01
|
|
||||||
|
|
||||||
Fix for `day of year out of range` on 2024-01-01, due to self.tm_yday - 1, which returns `[2024, 1, 1, 2, 3, 0, 0, -1, 0]`. The range for tm_yday should be [1, 366].
|
|
||||||
|
|
||||||
# timedatectl set-ntp false
|
|
||||||
# timedatectl set-time "2024-01-01 00:00:00"
|
|
||||||
# /usr/libexec/pcp/bin/pcp-mpstat -P ALL -t 1 -s 2
|
|
||||||
Traceback (most recent call last):
|
|
||||||
File "/usr/libexec/pcp/bin/pcp-mpstat", line 653, in <module>
|
|
||||||
sts = manager.run()
|
|
||||||
File "/usr/lib64/python3.6/site-packages/pcp/pmcc.py", line 687, in run
|
|
||||||
self._printer.report(self)
|
|
||||||
File "/usr/libexec/pcp/bin/pcp-mpstat", line 606, in report
|
|
||||||
self.print_machine_info(group, manager)
|
|
||||||
File "/usr/libexec/pcp/bin/pcp-mpstat", line 585, in print_machine_info
|
|
||||||
time_string = time.strftime("%x", timestamp.struct_time())
|
|
||||||
ValueError: day of year out of range
|
|
||||||
|
|
||||||
diff --git a/src/python/pcp/pmapi.py b/src/python/pcp/pmapi.py
|
|
||||||
index fd8d40e32c..05c8afb079 100644
|
|
||||||
--- a/src/python/pcp/pmapi.py
|
|
||||||
+++ b/src/python/pcp/pmapi.py
|
|
||||||
@@ -330,7 +330,7 @@ class tm(Structure):
|
|
||||||
pywday = 6
|
|
||||||
stlist = [self.tm_year + 1900, self.tm_mon + 1, self.tm_mday,
|
|
||||||
self.tm_hour, self.tm_min, self.tm_sec,
|
|
||||||
- pywday, self.tm_yday - 1, self.tm_isdst]
|
|
||||||
+ pywday, self.tm_yday + 1, self.tm_isdst]
|
|
||||||
return time.struct_time(stlist)
|
|
||||||
|
|
||||||
def __str__(self):
|
|
@ -0,0 +1,27 @@
|
|||||||
|
commit 3bde240a2acc85e63e2f7813330713dd9b59386e
|
||||||
|
Author: Nathan Scott <nathans@redhat.com>
|
||||||
|
Date: Wed Mar 27 14:51:28 2024 +1100
|
||||||
|
|
||||||
|
pmproxy: disable Redis protocol proxying by default
|
||||||
|
|
||||||
|
If a redis-server has been locked down in terms of connections,
|
||||||
|
we want to prevent pmproxy from being allowed to send arbitrary
|
||||||
|
RESP commands to it.
|
||||||
|
|
||||||
|
This protocol proxying doesn't affect PCP functionality at all,
|
||||||
|
its more of a developer/sysadmin convenience when Redis used in
|
||||||
|
cluster mode (relatively uncommon compared to localhost mode).
|
||||||
|
|
||||||
|
diff --git a/src/pmproxy/pmproxy.conf b/src/pmproxy/pmproxy.conf
|
||||||
|
index e54891792e..4cbc1c96af 100644
|
||||||
|
--- a/src/pmproxy/pmproxy.conf
|
||||||
|
+++ b/src/pmproxy/pmproxy.conf
|
||||||
|
@@ -29,7 +29,7 @@ pcp.enabled = true
|
||||||
|
http.enabled = true
|
||||||
|
|
||||||
|
# support Redis protocol proxying
|
||||||
|
-redis.enabled = true
|
||||||
|
+redis.enabled = false
|
||||||
|
|
||||||
|
# support SSL/TLS protocol wrapping
|
||||||
|
secure.enabled = true
|
@ -1,6 +1,6 @@
|
|||||||
Name: pcp
|
Name: pcp
|
||||||
Version: 6.2.0
|
Version: 6.2.0
|
||||||
Release: 2%{?dist}
|
Release: 3.0.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
|
||||||
@ -8,7 +8,12 @@ URL: https://pcp.io
|
|||||||
Source0: https://github.com/performancecopilot/pcp/releases/pcp-%{version}.src.tar.gz
|
Source0: https://github.com/performancecopilot/pcp/releases/pcp-%{version}.src.tar.gz
|
||||||
|
|
||||||
Patch1: redhat-issues-RHEL-2317-default-archive-version.patch
|
Patch1: redhat-issues-RHEL-2317-default-archive-version.patch
|
||||||
Patch2: redhat-issues-RHEL-25543-python-year-day-range.patch
|
Patch2: redhat-issues-RHEL-30719-pmproxy-resp-proxy-disabled.patch
|
||||||
|
Patch3: redhat-issues-RHEL-50693-hacluster-metrics-update.patch
|
||||||
|
|
||||||
|
#Oracle patches
|
||||||
|
Patch1001: 1001-libpcp-small-derived-metrics-bug-fix.patch
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10
|
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10
|
||||||
ExcludeArch: %{ix86}
|
ExcludeArch: %{ix86}
|
||||||
@ -3493,8 +3498,14 @@ fi
|
|||||||
%files zeroconf -f pcp-zeroconf-files.rpm
|
%files zeroconf -f pcp-zeroconf-files.rpm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Mar 20 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-2
|
* Tue Sep 03 2024 EL Errata <el-errata_ww@oracle.com> - 6.2.0-3.0.1
|
||||||
- Fix python sub-package year day range issue (RHEL-25543)
|
- Fixed libpcp derived metric issue for ol9 [Orabug: 36538820]
|
||||||
|
|
||||||
|
* Thu Aug 08 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-3
|
||||||
|
- Update hacluster PMDA for pacemaker 2.1.6 crm_mon (RHEL-50693)
|
||||||
|
|
||||||
|
* Wed Apr 17 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-2
|
||||||
|
- Disable RESP proxying by default in pmproxy (RHEL-30719)
|
||||||
|
|
||||||
* Mon Feb 12 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-1
|
* Mon Feb 12 2024 Nathan Scott <nathans@redhat.com> - 6.2.0-1
|
||||||
- Rebase to latest stable version of PCP (RHEL-2317)
|
- Rebase to latest stable version of PCP (RHEL-2317)
|
||||||
|
Loading…
Reference in New Issue
Block a user