From 34368244322e6b3c0150d64136356fb8e1cad309 Mon Sep 17 00:00:00 2001 From: Jack Francis Date: Tue, 9 Oct 2018 13:51:21 -0700 Subject: [PATCH] simplify master ssh config --- test/e2e/kubernetes/kubernetes_test.go | 100 +++++++------------------ 1 file changed, 26 insertions(+), 74 deletions(-) diff --git a/test/e2e/kubernetes/kubernetes_test.go b/test/e2e/kubernetes/kubernetes_test.go index dbc94a7ed8..7a8d1f4f28 100644 --- a/test/e2e/kubernetes/kubernetes_test.go +++ b/test/e2e/kubernetes/kubernetes_test.go @@ -32,12 +32,13 @@ import ( const ( WorkloadDir = "workloads" PolicyDir = "workloads/policies" - SSHPort = "50001" ) var ( - cfg config.Config - eng engine.Engine + cfg config.Config + eng engine.Engine + masterSSHPort string + masterSSHPrivateKeyFilepath string ) var _ = BeforeSuite(func() { @@ -59,6 +60,15 @@ var _ = BeforeSuite(func() { ClusterDefinition: csInput, ExpandedDefinition: csGenerated, } + masterNodes, err := node.GetByPrefix("k8s-master") + Expect(err).NotTo(HaveOccurred()) + masterName := masterNodes[0].Metadata.Name + if strings.Contains(masterName, "vmss") { + masterSSHPort = "50001" + } else { + masterSSHPort = "22" + } + masterSSHPrivateKeyFilepath = cfg.GetSSHKeyPath() }) var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", func() { @@ -67,18 +77,10 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu kubeConfig, err := GetConfig() Expect(err).NotTo(HaveOccurred()) master := fmt.Sprintf("azureuser@%s", kubeConfig.GetServerName()) - sshKeyPath := cfg.GetSSHKeyPath() - masterNodes, err := node.GetByPrefix("k8s-master") - Expect(err).NotTo(HaveOccurred()) - masterName := masterNodes[0].Metadata.Name - lsbReleaseCmd := fmt.Sprintf("lsb_release -a && uname -r") + lsbReleaseCmd := fmt.Sprintf("lsb_release -a && uname -r") var cmd *exec.Cmd - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, lsbReleaseCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, lsbReleaseCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, lsbReleaseCmd) util.PrintCommand(cmd) out, err := cmd.CombinedOutput() log.Printf("%s\n", out) @@ -87,11 +89,7 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu } kernelVerCmd := fmt.Sprintf("cat /proc/version") - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, kernelVerCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, kernelVerCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, kernelVerCmd) util.PrintCommand(cmd) out, err = cmd.CombinedOutput() log.Printf("%s\n", out) @@ -143,19 +141,10 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu kubeConfig, err := GetConfig() Expect(err).NotTo(HaveOccurred()) master := fmt.Sprintf("azureuser@%s", kubeConfig.GetServerName()) - sshKeyPath := cfg.GetSSHKeyPath() - - masterNodes, err := node.GetByPrefix("k8s-master") - Expect(err).NotTo(HaveOccurred()) - masterName := masterNodes[0].Metadata.Name ifconfigCmd := fmt.Sprintf("ifconfig -a -v") var cmd *exec.Cmd - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, ifconfigCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, ifconfigCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, ifconfigCmd) util.PrintCommand(cmd) out, err := cmd.CombinedOutput() log.Printf("%s\n", out) @@ -164,11 +153,7 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu } resolvCmd := fmt.Sprintf("cat /etc/resolv.conf") - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, resolvCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, resolvCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, resolvCmd) util.PrintCommand(cmd) out, err = cmd.CombinedOutput() log.Printf("%s\n", out) @@ -178,11 +163,7 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu By("Ensuring that we have a valid connection to our resolver") digCmd := fmt.Sprintf("dig +short +search +answer `hostname`") - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) util.PrintCommand(cmd) out, err = cmd.CombinedOutput() log.Printf("%s\n", out) @@ -196,11 +177,7 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu By("Ensuring that we get a DNS lookup answer response for each node hostname") digCmd := fmt.Sprintf("dig +short +search +answer %s | grep -v -e '^$'", node.Metadata.Name) - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) util.PrintCommand(cmd) out, err = cmd.CombinedOutput() log.Printf("%s\n", out) @@ -212,22 +189,14 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu By("Ensuring that we get a DNS lookup answer response for external names") digCmd = fmt.Sprintf("dig +short +search www.bing.com | grep -v -e '^$'") - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) util.PrintCommand(cmd) out, err = cmd.CombinedOutput() if err != nil { log.Printf("Error while querying DNS: %s\n", out) } digCmd = fmt.Sprintf("dig +short +search google.com | grep -v -e '^$'") - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) util.PrintCommand(cmd) out, err = cmd.CombinedOutput() log.Printf("%s\n", out) @@ -237,11 +206,7 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu By("Ensuring that we get a DNS lookup answer response for external names using external resolver") digCmd = fmt.Sprintf("dig +short +search www.bing.com @8.8.8.8 | grep -v -e '^$'") - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) util.PrintCommand(cmd) out, err = cmd.CombinedOutput() log.Printf("%s\n", out) @@ -249,11 +214,7 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu log.Printf("Error while querying DNS: %s\n", err) } digCmd = fmt.Sprintf("dig +short +search google.com @8.8.8.8 | grep -v -e '^$'") - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, digCmd) util.PrintCommand(cmd) out, err = cmd.CombinedOutput() log.Printf("%s\n", out) @@ -372,10 +333,6 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu Expect(err).NotTo(HaveOccurred()) master := fmt.Sprintf("azureuser@%s", kubeConfig.GetServerName()) - sshKeyPath := cfg.GetSSHKeyPath() - masterNodes, err := node.GetByPrefix("k8s-master") - Expect(err).NotTo(HaveOccurred()) - masterName := masterNodes[0].Metadata.Name if dashboardPort == 80 { By("Ensuring that we can connect via HTTP to the dashboard on any one node") } else { @@ -394,11 +351,7 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu dashboardURL := fmt.Sprintf("http://%s:%v", address.Address, port) curlCMD := fmt.Sprintf("curl --max-time 60 %s", dashboardURL) var cmd *exec.Cmd - if strings.Contains(masterName, "vmss") { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-p", SSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, curlCMD) - } else { - cmd = exec.Command("ssh", "-i", sshKeyPath, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, curlCMD) - } + cmd = exec.Command("ssh", "-i", masterSSHPrivateKeyFilepath, "-p", masterSSHPort, "-o", "ConnectTimeout=10", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", master, curlCMD) util.PrintCommand(cmd) out, err := cmd.CombinedOutput() if err == nil { @@ -1242,10 +1195,9 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu kubeConfig, err := GetConfig() Expect(err).NotTo(HaveOccurred()) master := fmt.Sprintf("azureuser@%s", kubeConfig.GetServerName()) - sshKeyPath := cfg.GetSSHKeyPath() for _, iisPod := range iisPods { - valid := iisPod.ValidateHostPort("(IIS Windows Server)", 10, 10*time.Second, master, sshKeyPath) + valid := iisPod.ValidateHostPort("(IIS Windows Server)", 10, 10*time.Second, master, masterSSHPrivateKeyFilepath) Expect(valid).To(BeTrue()) }