From 06d9f873d585d4c3379fb2aa31d4c03863fda3c4 Mon Sep 17 00:00:00 2001 From: Maciej Zimnoch Date: Mon, 13 Dec 2021 11:12:30 +0100 Subject: [PATCH] Apply Scylla sysctls during node tuning Scylla image contains several custom sysctls which are not applied automatically. To make sure these are applied on host kernel, additional container setting it is added to node tuning jobs. Fixes #868 --- pkg/controller/nodeconfigdaemon/resource.go | 19 +++++++++++++++++++ pkg/naming/constants.go | 1 + 2 files changed, 20 insertions(+) diff --git a/pkg/controller/nodeconfigdaemon/resource.go b/pkg/controller/nodeconfigdaemon/resource.go index f4d3d78dca8..ce904b6dd4d 100644 --- a/pkg/controller/nodeconfigdaemon/resource.go +++ b/pkg/controller/nodeconfigdaemon/resource.go @@ -60,6 +60,25 @@ func makePerftuneJobForNode(controllerRef *metav1.OwnerReference, namespace, nod HostPID: true, HostNetwork: true, Containers: []corev1.Container{ + + { + Name: naming.SysctlContainerName, + Image: image, + ImagePullPolicy: corev1.PullIfNotPresent, + Command: []string{"/bin/sh", + "-c", + "sysctl -e -f /usr/lib/sysctl.d/*.conf", + }, + SecurityContext: &corev1.SecurityContext{ + Privileged: pointer.BoolPtr(true), + }, + Resources: corev1.ResourceRequirements{ + Requests: corev1.ResourceList{ + corev1.ResourceCPU: resource.MustParse("10m"), + corev1.ResourceMemory: resource.MustParse("50Mi"), + }, + }, + }, { Name: naming.PerftuneContainerName, Image: image, diff --git a/pkg/naming/constants.go b/pkg/naming/constants.go index b23d9a1d330..9ebb25a9f28 100644 --- a/pkg/naming/constants.go +++ b/pkg/naming/constants.go @@ -61,6 +61,7 @@ const ( ScyllaContainerName = "scylla" SidecarInjectorContainerName = "sidecar-injection" PerftuneContainerName = "perftune" + SysctlContainerName = "sysctl" PVCTemplateName = "data"