- podman-etcd: new resource agent
- podman-etcd: add oom parameter to be able to tune the Out-Of-Memory (OOM) score for etcd containers Resolves: RHEL-88431, RHEL-113104
This commit is contained in:
parent
b44b82f9a9
commit
c8ead1c160
85
RHEL-113104-podman-etcd-add-oom-parameter.patch
Normal file
85
RHEL-113104-podman-etcd-add-oom-parameter.patch
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
From d08a7f74427ea2cf7d355a0f7f6d8f583e2d0cba Mon Sep 17 00:00:00 2001
|
||||||
|
From: Carlo Lobrano <c.lobrano@gmail.com>
|
||||||
|
Date: Thu, 3 Jul 2025 12:22:12 +0200
|
||||||
|
Subject: [PATCH] OCPBUGS-58324: podman-etcd Add OOM score adjustment for etcd
|
||||||
|
containers
|
||||||
|
|
||||||
|
This change introduces a new `oom` parameter to the `podman-etcd` OCF
|
||||||
|
agent. This allows tuning the Out-Of-Memory (OOM) score adjustment for
|
||||||
|
the etcd container.
|
||||||
|
|
||||||
|
The `oom` parameter accepts integer values from -1000 to 1000,
|
||||||
|
defaulting to -997 (system-node-critical equivalent).
|
||||||
|
|
||||||
|
see https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#node-out-of-memory-behavior
|
||||||
|
|
||||||
|
Key changes:
|
||||||
|
- Added `OCF_RESKEY_oom` parameter to agent definition (`content type="integer"`).
|
||||||
|
- Integrated `--oom-score-adj` option into `podman_start()`.
|
||||||
|
- Implemented input validation for `oom` in `podman_validate()`,
|
||||||
|
ensuring values are within the [-1000:1000] range.
|
||||||
|
---
|
||||||
|
heartbeat/podman-etcd | 22 +++++++++++++++++++++-
|
||||||
|
1 file changed, 21 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/podman-etcd b/heartbeat/podman-etcd
|
||||||
|
index 6762112ec..884b7c579 100755
|
||||||
|
--- a/heartbeat/podman-etcd
|
||||||
|
+++ b/heartbeat/podman-etcd
|
||||||
|
@@ -45,6 +45,7 @@ OCF_RESKEY_nic_default="br-ex"
|
||||||
|
OCF_RESKEY_authfile_default="/var/lib/kubelet/config.json"
|
||||||
|
OCF_RESKEY_allow_pull_default="1"
|
||||||
|
OCF_RESKEY_reuse_default="0"
|
||||||
|
+OCF_RESKEY_oom_default="-997"
|
||||||
|
|
||||||
|
: ${OCF_RESKEY_image=${OCF_RESKEY_image_default}}
|
||||||
|
: ${OCF_RESKEY_pod_manifest=${OCF_RESKEY_pod_manifest_default}}
|
||||||
|
@@ -53,6 +54,7 @@ OCF_RESKEY_reuse_default="0"
|
||||||
|
: ${OCF_RESKEY_authfile=${OCF_RESKEY_authfile_default}}
|
||||||
|
: ${OCF_RESKEY_allow_pull=${OCF_RESKEY_allow_pull_default}}
|
||||||
|
: ${OCF_RESKEY_reuse=${OCF_RESKEY_reuse_default}}
|
||||||
|
+: ${OCF_RESKEY_oom=${OCF_RESKEY_oom_default}}
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
@@ -230,6 +232,16 @@ to stop the container before pacemaker.
|
||||||
|
<shortdesc lang="en">drop-in dependency</shortdesc>
|
||||||
|
<content type="boolean"/>
|
||||||
|
</parameter>
|
||||||
|
+
|
||||||
|
+<parameter name="oom" required="0" unique="0">
|
||||||
|
+<longdesc lang="en">
|
||||||
|
+Tune the host's Out-Of-Memory (OOM) preferences for containers (accepts values from -1000 to 1000).
|
||||||
|
+Default to same OOM score as system-node-critical
|
||||||
|
+https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#node-out-of-memory-behavior
|
||||||
|
+</longdesc>
|
||||||
|
+<shortdesc lang="en">OOM for container</shortdesc>
|
||||||
|
+<content type="integer" default="${OCF_RESKEY_oom_default}"/>
|
||||||
|
+</parameter>
|
||||||
|
</parameters>
|
||||||
|
|
||||||
|
<actions>
|
||||||
|
@@ -1226,7 +1238,10 @@ podman_start()
|
||||||
|
fi
|
||||||
|
|
||||||
|
podman_create_mounts
|
||||||
|
- local run_opts="-d --name=${CONTAINER}"
|
||||||
|
+ local run_opts="--detach --name=${CONTAINER}"
|
||||||
|
+
|
||||||
|
+ run_opts="$run_opts --oom-score-adj=${OCF_RESKEY_oom}"
|
||||||
|
+
|
||||||
|
# check to see if the container has already started
|
||||||
|
podman_simple_status
|
||||||
|
if [ $? -eq $OCF_SUCCESS ]; then
|
||||||
|
@@ -1513,6 +1528,11 @@ podman_validate()
|
||||||
|
exit $OCF_ERR_CONFIGURED
|
||||||
|
fi
|
||||||
|
|
||||||
|
+ if [ "$OCF_RESKEY_oom" -lt -1000 ] || [ "$OCF_RESKEY_oom" -gt 1000 ]; then
|
||||||
|
+ ocf_exit_reason "'oom' value ${OCF_RESKEY_oom} is out of range [-1000:1000]"
|
||||||
|
+ exit $OCF_ERR_CONFIGURED
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
return $OCF_SUCCESS
|
||||||
|
}
|
||||||
|
|
||||||
1643
RHEL-88431-1-podman-etcd-new-ra.patch
Normal file
1643
RHEL-88431-1-podman-etcd-new-ra.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,31 @@
|
|||||||
|
From 6a3249aae260c081ccbcfd09444d5d85ebc4e3b3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
||||||
|
Date: Mon, 28 Apr 2025 15:48:29 +0200
|
||||||
|
Subject: [PATCH] podman-etcd: remove unused actions from metadata
|
||||||
|
|
||||||
|
---
|
||||||
|
heartbeat/podman-etcd | 4 +---
|
||||||
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/podman-etcd b/heartbeat/podman-etcd
|
||||||
|
index 514dd2e5b..3a2323260 100755
|
||||||
|
--- a/heartbeat/podman-etcd
|
||||||
|
+++ b/heartbeat/podman-etcd
|
||||||
|
@@ -236,8 +236,6 @@ to stop the container before pacemaker.
|
||||||
|
<action name="start" timeout="600s" />
|
||||||
|
<action name="stop" timeout="90s" />
|
||||||
|
<action name="monitor" timeout="25s" interval="30s" depth="0" />
|
||||||
|
-<action name="promote" timeout="300s" />
|
||||||
|
-<action name="demote" timeout="120s" />
|
||||||
|
<action name="meta-data" timeout="5s" />
|
||||||
|
<action name="validate-all" timeout="30s" />
|
||||||
|
</actions>
|
||||||
|
@@ -251,7 +249,7 @@ REQUIRE_IMAGE_PULL=0
|
||||||
|
podman_usage()
|
||||||
|
{
|
||||||
|
cat <<END
|
||||||
|
-usage: $0 {start|stop|monitor|promote|demote|validate-all|meta-data}
|
||||||
|
+usage: $0 {start|stop|monitor|validate-all|meta-data}
|
||||||
|
|
||||||
|
Expects to have a fully populated OCF RA-compliant environment set.
|
||||||
|
END
|
||||||
36
RHEL-88431-3-podman-etcd-fix-listen-peer-urls-binding.patch
Normal file
36
RHEL-88431-3-podman-etcd-fix-listen-peer-urls-binding.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
From 5f7b9b045d4713e8ff27a4fc8b2799669c1b823a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Carlo Lobrano <c.lobrano@gmail.com>
|
||||||
|
Date: Tue, 20 May 2025 09:34:03 +0200
|
||||||
|
Subject: [PATCH] podman-etcd: fix listen-peer-urls binding (#2049)
|
||||||
|
|
||||||
|
This change ensures learner etcd listens on all interfaces for peer
|
||||||
|
connections, resolving accessibility issues.
|
||||||
|
|
||||||
|
Fix: OCPBUGS-56447
|
||||||
|
---
|
||||||
|
heartbeat/podman-etcd | 12 +++---------
|
||||||
|
1 file changed, 3 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/heartbeat/podman-etcd b/heartbeat/podman-etcd
|
||||||
|
index 3a2323260..6762112ec 100755
|
||||||
|
--- a/heartbeat/podman-etcd
|
||||||
|
+++ b/heartbeat/podman-etcd
|
||||||
|
@@ -436,15 +436,9 @@ prepare_env() {
|
||||||
|
ETCD_PEER_CERT=$(get_env_from_manifest "ETCDCTL_CERT")
|
||||||
|
ETCD_PEER_KEY=$(get_env_from_manifest "ETCDCTL_KEY")
|
||||||
|
|
||||||
|
- if is_learner; then
|
||||||
|
- LISTEN_CLIENT_URLS="$NODEIP"
|
||||||
|
- LISTEN_PEER_URLS="$NODEIP"
|
||||||
|
- LISTEN_METRICS_URLS="$NODEIP"
|
||||||
|
- else
|
||||||
|
- LISTEN_CLIENT_URLS="0.0.0.0"
|
||||||
|
- LISTEN_PEER_URLS="0.0.0.0"
|
||||||
|
- LISTEN_METRICS_URLS="0.0.0.0"
|
||||||
|
- fi
|
||||||
|
+ LISTEN_CLIENT_URLS="0.0.0.0"
|
||||||
|
+ LISTEN_PEER_URLS="0.0.0.0"
|
||||||
|
+ LISTEN_METRICS_URLS="0.0.0.0"
|
||||||
|
}
|
||||||
|
|
||||||
|
archive_data_folder()
|
||||||
@ -45,7 +45,7 @@
|
|||||||
Name: resource-agents
|
Name: resource-agents
|
||||||
Summary: Open Source HA Reusable Cluster Resource Scripts
|
Summary: Open Source HA Reusable Cluster Resource Scripts
|
||||||
Version: 4.16.0
|
Version: 4.16.0
|
||||||
Release: 22%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
|
Release: 23%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
|
||||||
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
License: GPL-2.0-or-later AND LGPL-2.1-or-later
|
||||||
URL: https://github.com/ClusterLabs/resource-agents
|
URL: https://github.com/ClusterLabs/resource-agents
|
||||||
Source0: %{upstream_prefix}-%{upstream_version}.tar.gz
|
Source0: %{upstream_prefix}-%{upstream_version}.tar.gz
|
||||||
@ -77,6 +77,10 @@ Patch24: RHEL-85014-IPaddr2-add-link-status-DOWN-LOWERLAYERDOWN-check.patch
|
|||||||
Patch25: RHEL-99743-Filesystem-remove-validate-all-fstype-check.patch
|
Patch25: RHEL-99743-Filesystem-remove-validate-all-fstype-check.patch
|
||||||
Patch26: RHEL-97216-Filesystem-fix-issue-with-Vormetric-mounts.patch
|
Patch26: RHEL-97216-Filesystem-fix-issue-with-Vormetric-mounts.patch
|
||||||
Patch27: RHEL-102728-ocf-shellfuncs-remove-extra-sleep-from-curl_retry.patch
|
Patch27: RHEL-102728-ocf-shellfuncs-remove-extra-sleep-from-curl_retry.patch
|
||||||
|
Patch28: RHEL-88431-1-podman-etcd-new-ra.patch
|
||||||
|
Patch29: RHEL-88431-2-podman-etcd-remove-unused-actions-from-metadata.patch
|
||||||
|
Patch30: RHEL-88431-3-podman-etcd-fix-listen-peer-urls-binding.patch
|
||||||
|
Patch31: RHEL-113104-podman-etcd-add-oom-parameter.patch
|
||||||
|
|
||||||
# bundled ha-cloud-support libs
|
# bundled ha-cloud-support libs
|
||||||
Patch500: ha-cloud-support-aliyun.patch
|
Patch500: ha-cloud-support-aliyun.patch
|
||||||
@ -263,6 +267,10 @@ exit 1
|
|||||||
%patch -p1 -P 25
|
%patch -p1 -P 25
|
||||||
%patch -p1 -P 26
|
%patch -p1 -P 26
|
||||||
%patch -p1 -P 27
|
%patch -p1 -P 27
|
||||||
|
%patch -p1 -P 28 -F1
|
||||||
|
%patch -p1 -P 29
|
||||||
|
%patch -p1 -P 30
|
||||||
|
%patch -p1 -P 31
|
||||||
|
|
||||||
# bundled ha-cloud-support libs
|
# bundled ha-cloud-support libs
|
||||||
%patch -p1 -P 500
|
%patch -p1 -P 500
|
||||||
@ -593,6 +601,13 @@ rm -rf %{buildroot}/usr/share/doc/resource-agents
|
|||||||
%{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm
|
%{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Sep 9 2025 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.16.0-23
|
||||||
|
- podman-etcd: new resource agent
|
||||||
|
- podman-etcd: add oom parameter to be able to tune the Out-Of-Memory (OOM)
|
||||||
|
score for etcd containers
|
||||||
|
|
||||||
|
Resolves: RHEL-88431, RHEL-113104
|
||||||
|
|
||||||
* Tue Jul 15 2025 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.16.0-22
|
* Tue Jul 15 2025 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.16.0-22
|
||||||
- ocf-shellfuncs/AWS agents: dont sleep after the final try in
|
- ocf-shellfuncs/AWS agents: dont sleep after the final try in
|
||||||
curl_retry()
|
curl_retry()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user