forked from rook/rook
core: run discover daemonset as root uid
So that the tool inside the container has the permission to run correctly, e.g: sgdisk. Clsoes: https://github.com/rook/rook/issues/9493 Signed-off-by: Sébastien Han <seb@redhat.com>
This commit is contained in:
@@ -30,6 +30,7 @@ import (
|
||||
cephv1 "github.com/rook/rook/pkg/apis/ceph.rook.io/v1"
|
||||
"github.com/rook/rook/pkg/clusterd"
|
||||
discoverDaemon "github.com/rook/rook/pkg/daemon/discover"
|
||||
"github.com/rook/rook/pkg/operator/ceph/controller"
|
||||
k8sutil "github.com/rook/rook/pkg/operator/k8sutil"
|
||||
"github.com/rook/rook/pkg/util/sys"
|
||||
|
||||
@@ -79,7 +80,6 @@ func (d *Discover) Start(ctx context.Context, namespace, discoverImage, security
|
||||
}
|
||||
|
||||
func (d *Discover) createDiscoverDaemonSet(ctx context.Context, namespace, discoverImage, securityAccount string, useCephVolume bool) error {
|
||||
privileged := true
|
||||
discovery_parameters := []string{"discover",
|
||||
"--discover-interval", getEnvVar(discoverIntervalEnv, defaultDiscoverInterval)}
|
||||
if useCephVolume {
|
||||
@@ -108,12 +108,10 @@ func (d *Discover) createDiscoverDaemonSet(ctx context.Context, namespace, disco
|
||||
ServiceAccountName: securityAccount,
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Name: discoverDaemonsetName,
|
||||
Image: discoverImage,
|
||||
Args: discovery_parameters,
|
||||
SecurityContext: &v1.SecurityContext{
|
||||
Privileged: &privileged,
|
||||
},
|
||||
Name: discoverDaemonsetName,
|
||||
Image: discoverImage,
|
||||
Args: discovery_parameters,
|
||||
SecurityContext: controller.PrivilegedContext(true),
|
||||
VolumeMounts: []v1.VolumeMount{
|
||||
{
|
||||
Name: "dev",
|
||||
|
||||
@@ -79,6 +79,7 @@ func TestStartDiscoveryDaemonset(t *testing.T) {
|
||||
assert.Equal(t, "mysa", agentDS.Spec.Template.Spec.ServiceAccountName)
|
||||
assert.Equal(t, "my-priority-class", agentDS.Spec.Template.Spec.PriorityClassName)
|
||||
assert.True(t, *agentDS.Spec.Template.Spec.Containers[0].SecurityContext.Privileged)
|
||||
assert.Equal(t, int64(0), *agentDS.Spec.Template.Spec.Containers[0].SecurityContext.RunAsUser)
|
||||
volumes := agentDS.Spec.Template.Spec.Volumes
|
||||
assert.Equal(t, 3, len(volumes))
|
||||
volumeMounts := agentDS.Spec.Template.Spec.Containers[0].VolumeMounts
|
||||
|
||||
Reference in New Issue
Block a user