diff --git a/cmd/csi-provisioner/csi-provisioner.go b/cmd/csi-provisioner/csi-provisioner.go index 632ee1a4a7..7ac8ab9a8b 100644 --- a/cmd/csi-provisioner/csi-provisioner.go +++ b/cmd/csi-provisioner/csi-provisioner.go @@ -186,7 +186,7 @@ func main() { // the controller csiProvisioner := ctrl.NewCSIProvisioner(clientset, *operationTimeout, identity, *volumeNamePrefix, *volumeNameUUIDLength, grpcClient, snapClient, provisionerName, pluginCapabilities, - controllerCapabilities, supportsMigrationFromInTreePluginName, *strictTopology, translator) + controllerCapabilities, supportsMigrationFromInTreePluginName, *strictTopology, translator, *enableNodeCheck) provisionController = controller.NewProvisionController( clientset, provisionerName, diff --git a/pkg/controller/controller.go b/pkg/controller/controller.go index c28889ca98..abba9e81cf 100644 --- a/pkg/controller/controller.go +++ b/pkg/controller/controller.go @@ -195,6 +195,7 @@ type csiProvisioner struct { supportsMigrationFromInTreePluginName string strictTopology bool translator ProvisionerCSITranslator + enableNodeCheck bool } var _ controller.Provisioner = &csiProvisioner{} @@ -254,7 +255,8 @@ func NewCSIProvisioner(client kubernetes.Interface, controllerCapabilities connection.ControllerCapabilitySet, supportsMigrationFromInTreePluginName string, strictTopology bool, - translator ProvisionerCSITranslator) controller.Provisioner { + translator ProvisionerCSITranslator, + enableNodeCheck bool) controller.Provisioner { csiClient := csi.NewControllerClient(grpcClient) provisioner := &csiProvisioner{ @@ -272,6 +274,7 @@ func NewCSIProvisioner(client kubernetes.Interface, supportsMigrationFromInTreePluginName: supportsMigrationFromInTreePluginName, strictTopology: strictTopology, translator: translator, + enableNodeCheck: enableNodeCheck, } return provisioner } diff --git a/pkg/controller/controller_test.go b/pkg/controller/controller_test.go index f458ad32a0..5f7b7aaeed 100644 --- a/pkg/controller/controller_test.go +++ b/pkg/controller/controller_test.go @@ -399,7 +399,7 @@ func TestCreateDriverReturnsInvalidCapacityDuringProvision(t *testing.T) { defer driver.Stop() pluginCaps, controllerCaps := provisionCapabilities() - csiProvisioner := NewCSIProvisioner(nil, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New()) + csiProvisioner := NewCSIProvisioner(nil, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New(), false) // Requested PVC with requestedBytes storage deletePolicy := v1.PersistentVolumeReclaimDelete @@ -1503,7 +1503,7 @@ func runProvisionTest(t *testing.T, k string, tc provisioningTestcase, requested } pluginCaps, controllerCaps := provisionCapabilities() - csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, provisionDriverName, pluginCaps, controllerCaps, supportsMigrationFromInTreePluginName, false, csitrans.New()) + csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, provisionDriverName, pluginCaps, controllerCaps, supportsMigrationFromInTreePluginName, false, csitrans.New(), false) out := &csi.CreateVolumeResponse{ Volume: &csi.Volume{ @@ -2069,7 +2069,7 @@ func TestProvisionFromSnapshot(t *testing.T) { }) pluginCaps, controllerCaps := provisionFromSnapshotCapabilities() - csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, client, driverName, pluginCaps, controllerCaps, "", false, csitrans.New()) + csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, client, driverName, pluginCaps, controllerCaps, "", false, csitrans.New(), false) out := &csi.CreateVolumeResponse{ Volume: &csi.Volume{ @@ -2238,7 +2238,7 @@ func TestProvisionWithTopologyEnabled(t *testing.T) { } clientSet := fakeclientset.NewSimpleClientset(nodes, nodeInfos) - csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New()) + csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New(), false) pv, err := csiProvisioner.Provision(controller.ProvisionOptions{ StorageClass: &storagev1.StorageClass{}, @@ -2292,7 +2292,7 @@ func TestProvisionWithTopologyDisabled(t *testing.T) { clientSet := fakeclientset.NewSimpleClientset() pluginCaps, controllerCaps := provisionWithTopologyCapabilities() - csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New()) + csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New(), false) out := &csi.CreateVolumeResponse{ Volume: &csi.Volume{ @@ -2471,7 +2471,7 @@ func runDeleteTest(t *testing.T, k string, tc deleteTestcase) { } pluginCaps, controllerCaps := provisionCapabilities() - csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New()) + csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New(), false) err = csiProvisioner.Delete(tc.persistentVolume) if tc.expectErr && err == nil { @@ -3126,7 +3126,7 @@ func TestProvisionFromPVC(t *testing.T) { controllerServer.EXPECT().CreateVolume(gomock.Any(), gomock.Any()).Return(nil, errors.New("source volume size is bigger than requested volume size")).Times(1) } - csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New()) + csiProvisioner := NewCSIProvisioner(clientSet, 5*time.Second, "test-provisioner", "test", 5, csiConn.conn, nil, driverName, pluginCaps, controllerCaps, "", false, csitrans.New(), false) pv, err := csiProvisioner.Provision(tc.volOpts) if tc.expectErr && err == nil {