Skip to content

Commit 968ad70

Browse files
authored
Merge pull request #2060 from clobrano/OCPBUGS-58324-podman-etcd-oom-score-adj
OCPBUGS-58324: podman-etcd Add OOM score adjustment for etcd containers
2 parents 815b59b + d08a7f7 commit 968ad70

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

heartbeat/podman-etcd

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ OCF_RESKEY_nic_default="br-ex"
4545
OCF_RESKEY_authfile_default="/var/lib/kubelet/config.json"
4646
OCF_RESKEY_allow_pull_default="1"
4747
OCF_RESKEY_reuse_default="0"
48+
OCF_RESKEY_oom_default="-997"
4849

4950
: ${OCF_RESKEY_image=${OCF_RESKEY_image_default}}
5051
: ${OCF_RESKEY_pod_manifest=${OCF_RESKEY_pod_manifest_default}}
@@ -53,6 +54,7 @@ OCF_RESKEY_reuse_default="0"
5354
: ${OCF_RESKEY_authfile=${OCF_RESKEY_authfile_default}}
5455
: ${OCF_RESKEY_allow_pull=${OCF_RESKEY_allow_pull_default}}
5556
: ${OCF_RESKEY_reuse=${OCF_RESKEY_reuse_default}}
57+
: ${OCF_RESKEY_oom=${OCF_RESKEY_oom_default}}
5658

5759
#######################################################################
5860

@@ -230,6 +232,16 @@ to stop the container before pacemaker.
230232
<shortdesc lang="en">drop-in dependency</shortdesc>
231233
<content type="boolean"/>
232234
</parameter>
235+
236+
<parameter name="oom" required="0" unique="0">
237+
<longdesc lang="en">
238+
Tune the host's Out-Of-Memory (OOM) preferences for containers (accepts values from -1000 to 1000).
239+
Default to same OOM score as system-node-critical
240+
https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#node-out-of-memory-behavior
241+
</longdesc>
242+
<shortdesc lang="en">OOM for container</shortdesc>
243+
<content type="integer" default="${OCF_RESKEY_oom_default}"/>
244+
</parameter>
233245
</parameters>
234246
235247
<actions>
@@ -1226,7 +1238,10 @@ podman_start()
12261238
fi
12271239

12281240
podman_create_mounts
1229-
local run_opts="-d --name=${CONTAINER}"
1241+
local run_opts="--detach --name=${CONTAINER}"
1242+
1243+
run_opts="$run_opts --oom-score-adj=${OCF_RESKEY_oom}"
1244+
12301245
# check to see if the container has already started
12311246
podman_simple_status
12321247
if [ $? -eq $OCF_SUCCESS ]; then
@@ -1513,6 +1528,11 @@ podman_validate()
15131528
exit $OCF_ERR_CONFIGURED
15141529
fi
15151530

1531+
if [ "$OCF_RESKEY_oom" -lt -1000 ] || [ "$OCF_RESKEY_oom" -gt 1000 ]; then
1532+
ocf_exit_reason "'oom' value ${OCF_RESKEY_oom} is out of range [-1000:1000]"
1533+
exit $OCF_ERR_CONFIGURED
1534+
fi
1535+
15161536
return $OCF_SUCCESS
15171537
}
15181538

0 commit comments

Comments
 (0)