Code change:
return true }, 1*time.Minute, 1*time.Second).Should(gomega.BeTrue()) }) <ins> ginkgo.It("can read and write file to remote SMB folder", func() { defer ginkgo.GinkgoRecover() ginkgo.By("finding the worker node that fulfills this test's assumptions") nodes := findPreconfiguredGmsaNodes(f.ClientSet) if len(nodes) != 1 { e2eskipper.Skipf("Expected to find exactly one node with the %q label, found %d", gmsaFullNodeLabel, len(nodes)) } node := nodes[0] ginkgo.By("retrieving the contents of the GMSACredentialSpec custom resource manifest from the node") crdManifestContents := retrieveCRDManifestFileContents(f, node) ginkgo.By("downloading the GMSA webhook deploy script") deployScriptPath, err := downloadFile(gmsaWebhookDeployScriptURL) defer func() { os.Remove(deployScriptPath) }() if err != nil { framework.Failf(err.Error()) } ginkgo.By("deploying the GMSA webhook") webhookCleanUp, err := deployGmsaWebhook(f, deployScriptPath) defer webhookCleanUp() if err != nil { framework.Failf(err.Error()) } ginkgo.By("creating the GMSA custom resource") customResourceCleanup, err := createGmsaCustomResource(f.Namespace.Name, crdManifestContents) defer customResourceCleanup() if err != nil { framework.Failf(err.Error()) } ginkgo.By("creating an RBAC role to grant use access to that GMSA resource") rbacRoleName, rbacRoleCleanup, err := createRBACRoleForGmsa(f) defer rbacRoleCleanup() if err != nil { framework.Failf(err.Error()) } ginkgo.By("creating a service account") serviceAccountName := createServiceAccount(f) ginkgo.By("binding the RBAC role to the service account") bindRBACRoleToServiceAccount(f, serviceAccountName, rbacRoleName) ginkgo.By("creating a pod using the GMSA cred spec") podName := createPodWithGmsa(f, serviceAccountName) ginkgo.By("getting the ip of GMSA domain") gmsaDomainIP := getGmsaDomainIP(f, podName) ginkgo.By("checking that file can be read and write from the remote folder successfully") filePath := fmt.Sprintf("%s%swrite-test-%s.txt", gmsaDomainIP, gmsaSharedFolder, string(uuid.NewUUID())[0:4]) gomega.Eventually(func() bool { // The filePath is a remote folder, do not change the format of it _, _ = runKubectlExecInNamespace(f.Namespace.Name, podName, "--", "powershell.exe", "-Command", "echo 'This is a test file.' > "+filePath) output, err := runKubectlExecInNamespace(f.Namespace.Name, podName, "powershell.exe", "--", "cat", filePath) if err != nil { framework.Logf("unable to get file from AD server: %s", err) return false } return strings.Contains(output, "This is a test file.") }, 1*time.Minute, 1*time.Second).Should(gomega.BeTrue()) }) </ins> }) })

Related discussion:
text: ): Install tools: Network plugin and version (if this is a network-related bug): Others: /sig windows /triage accepted /priority important-long-term /help Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/priority important-longterm
/assign
if you have questions feel free to reachout on slack in sig-windows
Will do, thanks!
/assign
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules: After 90d of inactivity, is applied After 30d of inactivity since was applied, is applied After 30d of inactivity since was applied, the issue is closed You can: Mark this issue or PR as fresh with Mark this issue or PR as rotten with Close this issue or PR with Offer to help out with [Issue Triage][1] Please send feedback to sig-contributor-experience at . /lifecycle stale [1]:
/remove-lifecycle stale
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules: After 90d of inactivity, is applied After 30d of inactivity since was applied, is applied After 30d of inactivity since was applied, the issue is closed You can: Mark this issue or PR as fresh with Mark this issue or PR as rotten with Close this issue or PR with Offer to help out with [Issue Triage][1] Please send feedback to sig-contributor-experience at . /lifecycle stale [1]:
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules: After 90d of inactivity, is applied After 30d of inactivity since was applied, is applied After 30d of inactivity since was applied, the issue is closed You can: Mark this issue or PR as fresh with Close this issue or PR with Offer to help out with [Issue Triage][1] Please send feedback to sig-contributor-experience at .