Skip to content

Commit 69826e8

Browse files
authored
Merge pull request rook#16972 from Madhu-1/16960
csi: run csi controller plugin on host network
2 parents bc3e3b9 + 4416b5c commit 69826e8

4 files changed

Lines changed: 17 additions & 12 deletions

File tree

pkg/operator/ceph/csi/operator_config.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package csi
1818

1919
import (
2020
cephv1 "github.com/rook/rook/pkg/apis/ceph.rook.io/v1"
21+
opcontroller "github.com/rook/rook/pkg/operator/ceph/controller"
2122

2223
csiopv1 "github.com/ceph/ceph-csi-operator/api/v1"
2324
"github.com/pkg/errors"
@@ -30,8 +31,7 @@ import (
3031
)
3132

3233
const (
33-
opConfigCRName = "ceph-csi-operator-config"
34-
imageSetConfigMap = "rook-csi-operator-image-set-configmap"
34+
opConfigCRName = "ceph-csi-operator-config"
3535
)
3636

3737
func (r *ReconcileCSI) createOrUpdateOperatorConfig(cluster cephv1.CephCluster) error {
@@ -74,6 +74,8 @@ func (r *ReconcileCSI) createOrUpdateOperatorConfig(cluster cephv1.CephCluster)
7474
}
7575

7676
func (r *ReconcileCSI) generateCSIOpConfigSpec(cluster cephv1.CephCluster, opConfig *csiopv1.OperatorConfig, imageSetCmName string) csiopv1.OperatorConfigSpec {
77+
controllerPluginHostNetwork := opcontroller.EnforceHostNetwork() || CSIParam.EnableCSIHostNetwork
78+
7779
cephfsClientType := csiopv1.KernelCephFsClient
7880
if CSIParam.ForceCephFSKernelClient == "false" {
7981
cephfsClientType = csiopv1.AutoDetectCephFsClient
@@ -107,6 +109,7 @@ func (r *ReconcileCSI) generateCSIOpConfigSpec(cluster cephv1.CephCluster, opCon
107109
DeploymentStrategy: &appsv1.DeploymentStrategy{
108110
Type: appsv1.RecreateDeploymentStrategyType,
109111
},
112+
HostNetwork: &controllerPluginHostNetwork,
110113
PodCommonSpec: csiopv1.PodCommonSpec{
111114
PrioritylClassName: &CSIParam.PluginPriorityClassName,
112115
Affinity: &v1.Affinity{

pkg/operator/ceph/csi/operator_config_test.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import (
2929
testop "github.com/rook/rook/pkg/operator/test"
3030
"github.com/stretchr/testify/assert"
3131
v1 "k8s.io/api/core/v1"
32+
apifake "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake"
3233
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3334
"k8s.io/apimachinery/pkg/runtime"
3435
"k8s.io/apimachinery/pkg/types"
@@ -37,10 +38,13 @@ import (
3738

3839
func TestReconcileCSI_createOrUpdateOperatorConfig(t *testing.T) {
3940
ns := "test"
41+
cephv1.SetEnforceHostNetwork(true)
42+
defer cephv1.SetEnforceHostNetwork(false)
4043
r := &ReconcileCSI{
4144
context: &clusterd.Context{
42-
Clientset: testop.New(t, 1),
43-
RookClientset: rookclient.NewSimpleClientset(),
45+
Clientset: testop.New(t, 1),
46+
RookClientset: rookclient.NewSimpleClientset(),
47+
ApiExtensionsClient: apifake.NewClientset(),
4448
},
4549
opManagerContext: context.TODO(),
4650
opConfig: opcontroller.OperatorConfig{
@@ -82,10 +86,14 @@ func TestReconcileCSI_createOrUpdateOperatorConfig(t *testing.T) {
8286
cl := fake.NewClientBuilder().WithScheme(s).WithRuntimeObjects(object...).Build()
8387
r.client = cl
8488

85-
err := r.createOrUpdateOperatorConfig(*cluster)
89+
err := r.setParams()
90+
assert.NoError(t, err)
91+
92+
err = r.createOrUpdateOperatorConfig(*cluster)
8693
assert.NoError(t, err)
8794

8895
err = cl.Get(context.TODO(), types.NamespacedName{Name: opConfigCRName, Namespace: r.opConfig.OperatorNamespace}, opConfig)
8996
assert.NoError(t, err)
90-
assert.Equal(t, *opConfig.Spec.DriverSpecDefaults.EnableMetadata, true)
97+
assert.True(t, *opConfig.Spec.DriverSpecDefaults.EnableMetadata)
98+
assert.True(t, *opConfig.Spec.DriverSpecDefaults.ControllerPlugin.HostNetwork)
9199
}

pkg/operator/ceph/csi/operator_driver.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import (
2727
"github.com/pkg/errors"
2828
cephv1 "github.com/rook/rook/pkg/apis/ceph.rook.io/v1"
2929
cephclient "github.com/rook/rook/pkg/daemon/ceph/client"
30-
opcontroller "github.com/rook/rook/pkg/operator/ceph/controller"
3130
"github.com/rook/rook/pkg/operator/k8sutil"
3231
v1 "k8s.io/api/apps/v1"
3332
corev1 "k8s.io/api/core/v1"
@@ -261,7 +260,6 @@ func (r *ReconcileCSI) generateDriverSpec(cluster cephv1.CephCluster) (csiopv1.D
261260
return csiopv1.DriverSpec{}, errors.Wrapf(err, "failed to create ceph-CSI operator config ImageSetConfigmap for CR %s", opConfigCRName)
262261
}
263262

264-
controllerPluginHostNetwork := opcontroller.EnforceHostNetwork()
265263
driverSpec := csiopv1.DriverSpec{
266264
Log: &csiopv1.LogSpec{
267265
Verbosity: int(CSIParam.LogLevel),
@@ -286,7 +284,6 @@ func (r *ReconcileCSI) generateDriverSpec(cluster cephv1.CephCluster) (csiopv1.D
286284
EnableSeLinuxHostMount: &CSIParam.EnablePluginSelinuxHostMount,
287285
},
288286
ControllerPlugin: &csiopv1.ControllerPluginSpec{
289-
HostNetwork: &controllerPluginHostNetwork,
290287
PodCommonSpec: csiopv1.PodCommonSpec{
291288
PrioritylClassName: &CSIParam.PluginPriorityClassName,
292289
Affinity: &corev1.Affinity{

pkg/operator/ceph/csi/operator_driver_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,12 @@ func TestReconcileCSI_createOrUpdateDriverResources(t *testing.T) {
122122
c.SetName("testcluster")
123123
c.NamespacedName()
124124

125-
cephv1.SetEnforceHostNetwork(true)
126-
defer cephv1.SetEnforceHostNetwork(false)
127125
err := r.createOrUpdateDriverResources(*cluster, c)
128126
assert.NoError(t, err)
129127

130128
// Test RBD driver
131129
err = cl.Get(context.TODO(), types.NamespacedName{Name: fmt.Sprintf("%s.rbd.csi.ceph.com", c.Namespace), Namespace: ns}, driver)
132130
assert.NoError(t, err)
133-
assert.True(t, *driver.Spec.ControllerPlugin.HostNetwork)
134131
if tt.expectMultusAnnots {
135132
// Verify that both NodePlugin and ControllerPlugin have Multus annotations
136133
assert.Nil(t, driver.Spec.NodePlugin.PodCommonSpec.Annotations)

0 commit comments

Comments
 (0)