@@ -45,6 +45,7 @@ OCF_RESKEY_nic_default="br-ex"
45
45
OCF_RESKEY_authfile_default=" /var/lib/kubelet/config.json"
46
46
OCF_RESKEY_allow_pull_default=" 1"
47
47
OCF_RESKEY_reuse_default=" 0"
48
+ OCF_RESKEY_oom_default=" -997"
48
49
49
50
: ${OCF_RESKEY_image=${OCF_RESKEY_image_default} }
50
51
: ${OCF_RESKEY_pod_manifest=${OCF_RESKEY_pod_manifest_default} }
@@ -53,6 +54,7 @@ OCF_RESKEY_reuse_default="0"
53
54
: ${OCF_RESKEY_authfile=${OCF_RESKEY_authfile_default} }
54
55
: ${OCF_RESKEY_allow_pull=${OCF_RESKEY_allow_pull_default} }
55
56
: ${OCF_RESKEY_reuse=${OCF_RESKEY_reuse_default} }
57
+ : ${OCF_RESKEY_oom=${OCF_RESKEY_oom_default} }
56
58
57
59
# ######################################################################
58
60
@@ -230,6 +232,16 @@ to stop the container before pacemaker.
230
232
<shortdesc lang="en">drop-in dependency</shortdesc>
231
233
<content type="boolean"/>
232
234
</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>
233
245
</parameters>
234
246
235
247
<actions>
@@ -1226,7 +1238,10 @@ podman_start()
1226
1238
fi
1227
1239
1228
1240
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
+
1230
1245
# check to see if the container has already started
1231
1246
podman_simple_status
1232
1247
if [ $? -eq $OCF_SUCCESS ]; then
@@ -1513,6 +1528,11 @@ podman_validate()
1513
1528
exit $OCF_ERR_CONFIGURED
1514
1529
fi
1515
1530
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
+
1516
1536
return $OCF_SUCCESS
1517
1537
}
1518
1538
0 commit comments