Skip to content

Commit 7541112

Browse files
Vsan stretch tests to run on isolated setup
1 parent 954203f commit 7541112

File tree

4 files changed

+54
-6
lines changed

4 files changed

+54
-6
lines changed

tests/e2e/e2e_common.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,9 @@ var (
664664
envMasterIP1SshdPortNum = "MASTER_IP1_SSHD_PORT_NUM"
665665
envMasterIP2SshdPortNum = "MASTER_IP2_SSHD_PORT_NUM"
666666
envMasterIP3SshdPortNum = "MASTER_IP3_SSHD_PORT_NUM"
667+
envWorkerIP1SshdPortNum = "WORKER_IP1_SSHD_PORT_NUM"
668+
envWorkerIP2SshdPortNum = "WORKER_IP2_SSHD_PORT_NUM"
669+
envWorkerIP3SshdPortNum = "WORKER_IP3_SSHD_PORT_NUM"
667670
envEsx1PortNum = "ESX1_SSHD_PORT_NUM"
668671
envEsx2PortNum = "ESX2_SSHD_PORT_NUM"
669672
envEsx3PortNum = "ESX3_SSHD_PORT_NUM"
@@ -682,6 +685,9 @@ var (
682685
envMasterIP1 = "MASTER_IP1"
683686
envMasterIP2 = "MASTER_IP2"
684687
envMasterIP3 = "MASTER_IP3"
688+
envWorkerIP1 = "WORKER_IP1"
689+
envWorkerIP2 = "WORKER_IP2"
690+
envWorkerIP3 = "WORKER_IP3"
685691
envEsxIp1 = "ESX1_IP"
686692
envEsxIp2 = "ESX2_IP"
687693
envEsxIp3 = "ESX3_IP"
@@ -710,6 +716,9 @@ var (
710716
k8sMasterIp1PortNum = sshdPort
711717
k8sMasterIp2PortNum = sshdPort
712718
k8sMasterIp3PortNum = sshdPort
719+
k8sWorkerIp1PortNum = sshdPort
720+
k8sWorkerIp2PortNum = sshdPort
721+
k8sWorkerIp3PortNum = sshdPort
713722
defaultVcAdminPortNum = "443"
714723

715724
// global variables declared
@@ -729,6 +738,9 @@ var (
729738
masterIP1 = ""
730739
masterIP2 = ""
731740
masterIP3 = ""
741+
workerIP1 = ""
742+
workerIP2 = ""
743+
workerIP3 = ""
732744
ipPortMap = make(map[string]string)
733745
missingEnvVars []string
734746
defaultlocalhostIP = "127.0.0.1"
@@ -767,10 +779,15 @@ func setSShdPort() {
767779
masterIP1 = GetorIgnoreStringEnvVar(envMasterIP1)
768780
masterIP2 = GetorIgnoreStringEnvVar(envMasterIP2)
769781
masterIP3 = GetorIgnoreStringEnvVar(envMasterIP3)
782+
workerIP1 = GetorIgnoreStringEnvVar(envWorkerIP1)
783+
workerIP2 = GetorIgnoreStringEnvVar(envWorkerIP2)
784+
workerIP3 = GetorIgnoreStringEnvVar(envWorkerIP3)
770785
k8sMasterIp1PortNum = GetorIgnoreStringEnvVar(envMasterIP1SshdPortNum)
771786
k8sMasterIp2PortNum = GetorIgnoreStringEnvVar(envMasterIP2SshdPortNum)
772787
k8sMasterIp3PortNum = GetorIgnoreStringEnvVar(envMasterIP3SshdPortNum)
773-
788+
k8sWorkerIp1PortNum = GetorIgnoreStringEnvVar(envWorkerIP1SshdPortNum)
789+
k8sWorkerIp2PortNum = GetorIgnoreStringEnvVar(envWorkerIP2SshdPortNum)
790+
k8sWorkerIp3PortNum = GetorIgnoreStringEnvVar(envWorkerIP3SshdPortNum)
774791
vcIp1SshPortNum = GetorIgnoreStringEnvVar(envVc1SshdPortNum)
775792

776793
// reading esxi ip and its port
@@ -800,6 +817,9 @@ func setSShdPort() {
800817
safeInsertToMap(masterIP1, k8sMasterIp1PortNum)
801818
safeInsertToMap(masterIP2, k8sMasterIp2PortNum)
802819
safeInsertToMap(masterIP3, k8sMasterIp3PortNum)
820+
safeInsertToMap(workerIP1, k8sWorkerIp1PortNum)
821+
safeInsertToMap(workerIP2, k8sWorkerIp2PortNum)
822+
safeInsertToMap(workerIP3, k8sWorkerIp3PortNum)
803823
safeInsertToMap(esxIp1, esxIp1PortNum)
804824
safeInsertToMap(esxIp2, esxIp2PortNum)
805825
safeInsertToMap(esxIp3, esxIp3PortNum)

tests/e2e/util.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8157,6 +8157,10 @@ func createtWcpNsWithZonesAndPolicies(
81578157
// Make the API request
81588158
_, statusCode := invokeVCRestAPIPostRequest(vcRestSessionId, nsCreationUrl, reqBody)
81598159

8160+
ginkgo.By("Wait for namespace to get created and listed under " +
8161+
"supervisor cluster")
8162+
time.Sleep(2 * time.Minute)
8163+
81608164
return namespace, statusCode, nil
81618165
}
81628166

tests/e2e/vsan_stretched_cluster.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,7 @@ var _ = ginkgo.Describe("[vsan-stretch-vanilla] vsan stretched cluster tests", f
128128
ginkgo.Skip(envStoragePolicyNameWithThickProvision + " env variable not set")
129129
}
130130
sc, err := client.StorageV1().StorageClasses().Get(ctx, defaultNginxStorageClassName, metav1.GetOptions{})
131-
framework.Logf("Storageclass is %v and err is %v", sc, err)
132-
if (!strings.Contains(err.Error(), "not found")) && sc != nil {
131+
if err != nil && (!strings.Contains(err.Error(), "not found")) && sc != nil {
133132
framework.ExpectNoError(client.StorageV1().StorageClasses().Delete(ctx, defaultNginxStorageClassName,
134133
*metav1.NewDeleteOptions(0)), "Unable to delete storage class "+defaultNginxStorageClassName)
135134
}

tests/e2e/vsan_stretched_cluster_utils.go

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,19 +220,44 @@ func createFaultDomainMap(ctx context.Context, vs *vSphere) map[string]string {
220220
return fdMap
221221
}
222222

223+
func isSSHReachable(ip string, timeout time.Duration) error {
224+
nimbusGeneratedK8sVmPwd := GetAndExpectStringEnvVar(nimbusK8sVmPwd)
225+
sshClientConfig := &ssh.ClientConfig{
226+
User: "root",
227+
Auth: []ssh.AuthMethod{
228+
ssh.Password(nimbusGeneratedK8sVmPwd),
229+
},
230+
HostKeyCallback: ssh.InsecureIgnoreHostKey(),
231+
}
232+
// Read hosts sshd port number
233+
ip, portNum, err := getPortNumAndIP(ip)
234+
gomega.Expect(err).NotTo(gomega.HaveOccurred())
235+
addr := ip + ":" + portNum
236+
_, err = ssh.Dial("tcp", addr, sshClientConfig)
237+
if err != nil {
238+
if strings.Contains(err.Error(), "connection reset by peer") ||
239+
strings.Contains(err.Error(), "no route to host") ||
240+
strings.Contains(err.Error(), "handshake failed") {
241+
return err // unreachable
242+
}
243+
}
244+
return nil
245+
}
246+
223247
// waitForHostToBeDown wait for host to be down
224248
func waitForHostToBeDown(ctx context.Context, ip string) error {
225249
framework.Logf("checking host status of %s", ip)
226250
gomega.Expect(ip).NotTo(gomega.BeNil())
227251
gomega.Expect(ip).NotTo(gomega.BeEmpty())
228-
// Read hosts sshd port number
252+
/* Read hosts sshd port number
229253
ip, portNum, err := getPortNumAndIP(ip)
230254
gomega.Expect(err).NotTo(gomega.HaveOccurred())
231-
addr := ip + ":" + portNum
255+
addr := ip + ":" + portNum*/
232256

233257
waitErr := wait.PollUntilContextTimeout(ctx, poll*2, pollTimeoutShort*2, true,
234258
func(ctx context.Context) (bool, error) {
235-
_, err := net.DialTimeout("tcp", addr, poll)
259+
//_, err := net.DialTimeout("tcp", addr, poll)
260+
err := isSSHReachable(ip, poll)
236261
if err == nil {
237262
framework.Logf("host is reachable")
238263
return false, nil

0 commit comments

Comments
 (0)