diff --git a/charts/latest/csi-driver-smb-v0.0.0.tgz b/charts/latest/csi-driver-smb-v0.0.0.tgz index 5fb8164890d..2306fc7dcc1 100644 Binary files a/charts/latest/csi-driver-smb-v0.0.0.tgz and b/charts/latest/csi-driver-smb-v0.0.0.tgz differ diff --git a/charts/latest/csi-driver-smb/templates/csi-smb-node-windows-hostprocess.yaml b/charts/latest/csi-driver-smb/templates/csi-smb-node-windows-hostprocess.yaml index 001677a7727..43854dae821 100644 --- a/charts/latest/csi-driver-smb/templates/csi-smb-node-windows-hostprocess.yaml +++ b/charts/latest/csi-driver-smb/templates/csi-smb-node-windows-hostprocess.yaml @@ -96,6 +96,7 @@ spec: - --nodeid=$(KUBE_NODE_NAME) - "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}" - "--remove-smb-mapping-during-unmount={{ .Values.windows.removeSMBMappingDuringUnmount }}" + - "--enable-windows-host-process=true" env: - name: CSI_ENDPOINT value: unix://{{ .Values.windows.kubelet | replace "\\" "\\\\" }}\\plugins\\{{ .Values.driver.name }}\\csi.sock diff --git a/test/e2e/dynamic_provisioning_test.go b/test/e2e/dynamic_provisioning_test.go index 86b7d63212f..96ef33dadf9 100644 --- a/test/e2e/dynamic_provisioning_test.go +++ b/test/e2e/dynamic_provisioning_test.go @@ -18,11 +18,15 @@ package e2e import ( "fmt" + "log" + "os/exec" + "strings" "github.com/kubernetes-csi/csi-driver-smb/test/e2e/driver" "github.com/kubernetes-csi/csi-driver-smb/test/e2e/testsuites" "github.com/onsi/ginkgo/v2" + "github.com/onsi/gomega" v1 "k8s.io/api/core/v1" clientset "k8s.io/client-go/kubernetes" _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" @@ -51,6 +55,21 @@ var _ = ginkgo.Describe("Dynamic Provisioning", func() { cs = f.ClientSet ns = f.Namespace + + if isUsingHostProcessDeployment { + log.Printf("trying to get smb-server service IP address since it's using host process deployment...") + cmd := exec.Command("kubectl", "get svc smb-server | grep smb | awk '{print $4}'") + output, err := cmd.CombinedOutput() + log.Printf("got output: %v, error: %v\n", string(output), err) + gomega.Expect(err).NotTo(gomega.HaveOccurred()) + + server := strings.TrimSuffix(string(output), "\n") + log.Printf("use server on Windows: %s\n", server) + newShareAddress := fmt.Sprintf("//%s/share", server) + defaultStorageClassParameters["source"] = newShareAddress + subDirStorageClassParameters["source"] = newShareAddress + noProvisionerSecretStorageClassParameters["source"] = newShareAddress + } }) testDriver = driver.InitSMBDriver() diff --git a/test/e2e/suite_test.go b/test/e2e/suite_test.go index d3fe2ae522f..92ae1b4c9ed 100644 --- a/test/e2e/suite_test.go +++ b/test/e2e/suite_test.go @@ -47,6 +47,7 @@ const ( var ( smbDriver *smb.Driver isWindowsCluster = os.Getenv(testWindowsEnvVar) != "" + isUsingHostProcessDeployment = os.Getenv("WINDOWS_USE_HOST_PROCESS_CONTAINERS") == "true" defaultStorageClassParameters = map[string]string{ "source": "//smb-server.default.svc.cluster.local/share", "csi.storage.k8s.io/provisioner-secret-name": "smbcreds",