Revert "e2e: kubectl HTTP fix for #15713"

pull/6/head
Fabio Yeon 2015-10-17 22:34:43 -07:00
parent 0338e0ef53
commit 38dc2bd6d6
1 changed files with 18 additions and 36 deletions

View File

@ -26,7 +26,6 @@ import (
"mime/multipart" "mime/multipart"
"net" "net"
"net/http" "net/http"
"net/url"
"os" "os"
"os/exec" "os/exec"
"path" "path"
@ -198,7 +197,8 @@ var _ = Describe("Kubectl client", func() {
} }
}) })
It("should support exec through an HTTP proxy", func() { // FIXME(ncdc) remove Skipped once we sort out the kubectl build issues in GCE
It("[Skipped] should support exec through an HTTP proxy", func() {
// Note: We are skipping local since we want to verify an apiserver with HTTPS. // Note: We are skipping local since we want to verify an apiserver with HTTPS.
// At this time local only supports plain HTTP. // At this time local only supports plain HTTP.
SkipIfProviderIs("local") SkipIfProviderIs("local")
@ -206,51 +206,33 @@ var _ = Describe("Kubectl client", func() {
if testContext.Host == "" { if testContext.Host == "" {
Failf("--host variable must be set to the full URI to the api server on e2e run.") Failf("--host variable must be set to the full URI to the api server on e2e run.")
} }
// Make sure the apiServer is set to what kubectl requires
apiServer := testContext.Host apiServer := testContext.Host
apiServerUrl, err := url.Parse(apiServer) // If there is no api in URL try to add it
if err != nil { if !strings.Contains(apiServer, ":443/api") {
Failf("Unable to parse URL %s. Error=Ts", apiServer, err) apiServer = apiServer + ":443/api"
} }
apiServerUrl.Scheme = "https"
apiServerUrl.Path = "/api"
if !strings.Contains(apiServer, ":443") {
apiServerUrl.Host = apiServerUrl.Host + ":443"
}
apiServer = apiServerUrl.String()
// Get the kube/config // Get the kube/config
// TODO: Can it be RepoRoot with jenkins e2e?
testWorkspace := os.Getenv("WORKSPACE") testWorkspace := os.Getenv("WORKSPACE")
if testWorkspace == "" { if testWorkspace == "" {
// Not running in jenkins, assume RepoRoot // Not running in jenkins, assume RepoRoot
testWorkspace = testContext.RepoRoot testWorkspace = testContext.RepoRoot // os.Getenv("HOME")
} }
// Build the static kubectl // Build the static kubectl
By("Finding a static kubectl for upload") By("Building a static kubectl for upload")
testStaticKubectlPath := path.Join(testWorkspace, "platforms/linux/386/kubectl") kubectlContainerPath := path.Join(testWorkspace, "/examples/kubectl-container/")
_, err = os.Stat(testStaticKubectlPath) staticKubectlBuild := exec.Command("make", "-C", kubectlContainerPath)
if err != nil { if out, err := staticKubectlBuild.Output(); err != nil {
Logf("No kubectl in %s. Attempting a local build...", testStaticKubectlPath) Failf("Unable to create static kubectl. Error=%s, Output=%s", err, out)
// Fall back to trying to build a local static kubectl }
kubectlContainerPath := path.Join(testWorkspace, "/examples/kubectl-container/") // Verify the static kubectl path
if _, err := os.Stat(path.Join(testWorkspace, "hack/build-go.sh")); err != nil { testStaticKubectlPath := path.Join(kubectlContainerPath, "kubectl")
Failf("Can't build static kubectl due to missing hack/build-go.sh. Error=%s", err) _, err := os.Stat(testStaticKubectlPath)
} if err != nil {
By("Building a static kubectl for upload") Failf("static kubectl path could not be accessed. Error=%s", err)
staticKubectlBuild := exec.Command("make", "-C", kubectlContainerPath)
if out, err := staticKubectlBuild.Output(); err != nil {
Failf("Unable to create static kubectl. Error=%s, Output=%q", err, out)
}
// Verify the static kubectl path
testStaticKubectlPath = path.Join(kubectlContainerPath, "kubectl")
_, err := os.Stat(testStaticKubectlPath)
if err != nil {
Failf("static kubectl path could not be found in %s. Error=%s", testStaticKubectlPath, err)
}
} }
By(fmt.Sprintf("Using the kubectl in %s", testStaticKubectlPath))
// Verify the kubeconfig path // Verify the kubeconfig path
kubeConfigFilePath := testContext.KubeConfig kubeConfigFilePath := testContext.KubeConfig