From 7febce6321843ad7548a0752cb9c0cc2f2e50c0c Mon Sep 17 00:00:00 2001 From: Zach Loafman Date: Thu, 19 Feb 2015 18:41:30 -0800 Subject: [PATCH] Revert "Migrate the certs.sh e2e test to ginkgo" --- cmd/e2e/e2e.go | 14 +++-------- hack/e2e-suite/certs.sh | 51 +++++++++++++++++++++++++++++++++++++++ hack/ginkgo-e2e.sh | 6 ----- test/e2e/certs.go | 53 ----------------------------------------- test/e2e/driver.go | 10 ++------ test/e2e/util.go | 1 - 6 files changed, 56 insertions(+), 79 deletions(-) create mode 100755 hack/e2e-suite/certs.sh delete mode 100644 test/e2e/certs.go diff --git a/cmd/e2e/e2e.go b/cmd/e2e/e2e.go index 544be423573..1cada546ab6 100644 --- a/cmd/e2e/e2e.go +++ b/cmd/e2e/e2e.go @@ -29,14 +29,11 @@ import ( var ( authConfig = flag.String("auth_config", os.Getenv("HOME")+"/.kubernetes_auth", "Path to the auth info file.") certDir = flag.String("cert_dir", "", "Path to the directory containing the certs. Default is empty, which doesn't use certs.") - gceProject = flag.String("gce_project", "", "The GCE project being used, if applicable") - gceZone = flag.String("gce_zone", "", "GCE zone being used, if applicable") + reportDir = flag.String("report_dir", "", "Path to the directory where the JUnit XML reports should be saved. Default is empty, which doesn't generate these reports.") host = flag.String("host", "", "The host to connect to") - masterName = flag.String("kube_master", "", "Name of the kubernetes master. Only required if provider is gce or gke") + repoRoot = flag.String("repo_root", "./", "Root directory of kubernetes repository, for finding test files. Default assumes working directory is repository root") provider = flag.String("provider", "", "The name of the Kubernetes provider") orderseed = flag.Int64("orderseed", 0, "If non-zero, seed of random test shuffle order. (Otherwise random.)") - repoRoot = flag.String("repo_root", "./", "Root directory of kubernetes repository, for finding test files. Default assumes working directory is repository root") - reportDir = flag.String("report_dir", "", "Path to the directory where the JUnit XML reports should be saved. Default is empty, which doesn't generate these reports.") times = flag.Int("times", 1, "Number of times each test is eligible to be run. Individual order is determined by shuffling --times instances of each test using --orderseed (like a multi-deck shoe of cards).") testList util.StringList ) @@ -56,10 +53,5 @@ func main() { glog.Error("Invalid --times (negative or no testing requested)!") os.Exit(1) } - gceConfig := &e2e.GCEConfig{ - ProjectID: *gceProject, - Zone: *gceZone, - MasterName: *masterName, - } - e2e.RunE2ETests(*authConfig, *certDir, *host, *repoRoot, *provider, gceConfig, *orderseed, *times, *reportDir, testList) + e2e.RunE2ETests(*authConfig, *certDir, *host, *repoRoot, *provider, *orderseed, *times, *reportDir, testList) } diff --git a/hack/e2e-suite/certs.sh b/hack/e2e-suite/certs.sh new file mode 100755 index 00000000000..fb1574be20d --- /dev/null +++ b/hack/e2e-suite/certs.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Copyright 2014 Google Inc. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Launches a container and verifies it can be reached. Assumes that +# we're being called by hack/e2e-test.sh (we use some env vars it sets up). + +set -o errexit +set -o nounset +set -o pipefail + +KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../.. + +: ${KUBE_VERSION_ROOT:=${KUBE_ROOT}} +: ${KUBECTL:="${KUBE_VERSION_ROOT}/cluster/kubectl.sh"} +: ${KUBE_CONFIG_FILE:="config-test.sh"} + +export KUBECTL KUBE_CONFIG_FILE + +source "${KUBE_ROOT}/cluster/kube-env.sh" +source "${KUBE_VERSION_ROOT}/cluster/${KUBERNETES_PROVIDER}/util.sh" + +prepare-e2e + +if [[ "${KUBERNETES_PROVIDER}" != "gce" ]] && [[ "${KUBERNETES_PROVIDER}" != "gke" ]]; then + echo "WARNING: Skipping certs.sh for cloud provider: ${KUBERNETES_PROVIDER}." + exit 0 +fi + +# Set KUBE_MASTER +detect-master + +# IMPORTANT: there are upstream things that rely on these files. +# Do *not* fix this test by changing this path, unless you _really_ know +# what you are doing. +for file in kubecfg.key kubecfg.crt ca.crt; do + echo "Checking for ${file}" + "${GCLOUD}" compute ssh --zone="${ZONE}" "${KUBE_MASTER}" --command "ls /srv/kubernetes/${file}" +done diff --git a/hack/ginkgo-e2e.sh b/hack/ginkgo-e2e.sh index 9530f5eedcd..2d765f25c7d 100755 --- a/hack/ginkgo-e2e.sh +++ b/hack/ginkgo-e2e.sh @@ -77,9 +77,6 @@ locations=( ) e2e=$( (ls -t "${locations[@]}" 2>/dev/null || true) | head -1 ) -PROJECT="" -ZONE="" -KUBE_MASTER="" if [[ "$KUBERNETES_PROVIDER" == "vagrant" ]]; then # When we are using vagrant it has hard coded auth. We repeat that here so that # we don't clobber auth that might be used for a publicly facing cluster. @@ -109,8 +106,5 @@ fi "${e2e}" "${auth_config[@]:+${auth_config[@]}}" \ --host="https://${KUBE_MASTER_IP-}" \ --provider="${KUBERNETES_PROVIDER}" \ - --gce_project="${PROJECT}" \ - --gce_zone="${ZONE}" \ - --kube_master="${KUBE_MASTER}" \ ${E2E_REPORT_DIR+"--report_dir=${E2E_REPORT_DIR}"} \ "${@:-}" diff --git a/test/e2e/certs.go b/test/e2e/certs.go deleted file mode 100644 index c94c90e0701..00000000000 --- a/test/e2e/certs.go +++ /dev/null @@ -1,53 +0,0 @@ -/* -Copyright 2015 Google Inc. All rights reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package e2e - -import ( - "fmt" - "os/exec" - - "github.com/GoogleCloudPlatform/kubernetes/pkg/client" - - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" -) - -var _ = Describe("MasterCerts", func() { - var c *client.Client - - BeforeEach(func() { - var err error - c, err = loadClient() - Expect(err).NotTo(HaveOccurred()) - }) - - It("should have all expected certs on the master", func() { - if testContext.provider != "gce" && testContext.provider != "gke" { - By(fmt.Sprintf("Skipping MasterCerts test for cloud provider %s (only supported for gce and gke)", testContext.provider)) - return - } - - for _, certFile := range []string{"kubecfg.key", "kubecfg.crt", "ca.crt"} { - cmd := exec.Command("gcloud", "compute", "ssh", "--project", testContext.gceConfig.ProjectID, - "--zone", testContext.gceConfig.Zone, testContext.gceConfig.MasterName, - "--command", fmt.Sprintf("ls /srv/kubernetes/%s", certFile)) - if _, err := cmd.CombinedOutput(); err != nil { - Fail(fmt.Sprintf("Error checking for cert file %s on master: %v", certFile, err)) - } - } - }) -}) diff --git a/test/e2e/driver.go b/test/e2e/driver.go index ac2056aa5d0..11ec8dfe9fe 100644 --- a/test/e2e/driver.go +++ b/test/e2e/driver.go @@ -32,12 +32,6 @@ import ( type testResult bool -type GCEConfig struct { - ProjectID string - Zone string - MasterName string -} - func init() { // Turn on verbose by default to get spec names config.DefaultReporterConfig.Verbose = true @@ -53,8 +47,8 @@ func (t *testResult) Fail() { *t = false } // Run each Go end-to-end-test. This function assumes the // creation of a test cluster. -func RunE2ETests(authConfig, certDir, host, repoRoot, provider string, gceConfig *GCEConfig, orderseed int64, times int, reportDir string, testList []string) { - testContext = testContextType{authConfig, certDir, host, repoRoot, provider, *gceConfig} +func RunE2ETests(authConfig, certDir, host, repoRoot, provider string, orderseed int64, times int, reportDir string, testList []string) { + testContext = testContextType{authConfig, certDir, host, repoRoot, provider} util.ReallyCrash = true util.InitLogs() defer util.FlushLogs() diff --git a/test/e2e/util.go b/test/e2e/util.go index 7e5cb8e3a27..0cbb1d16803 100644 --- a/test/e2e/util.go +++ b/test/e2e/util.go @@ -37,7 +37,6 @@ type testContextType struct { host string repoRoot string provider string - gceConfig GCEConfig } var testContext testContextType