diff --git a/build/visible_to/BUILD b/build/visible_to/BUILD index 3dab0c74de0..513da5a77e4 100644 --- a/build/visible_to/BUILD +++ b/build/visible_to/BUILD @@ -49,6 +49,7 @@ package_group( packages = [ "//test/e2e", "//test/e2e/framework", + "//test/e2e/kubectl", "//test/e2e/workload", "//test/integration/etcd", "//test/integration/framework", diff --git a/test/e2e/BUILD b/test/e2e/BUILD index 6437e1ba2e9..569c0e4843a 100644 --- a/test/e2e/BUILD +++ b/test/e2e/BUILD @@ -71,7 +71,6 @@ go_library( "ingress.go", "kibana_logging.go", "kube_proxy.go", - "kubectl.go", "kubelet.go", "kubelet_perf.go", "limit_range.go", @@ -88,9 +87,7 @@ go_library( "pod_gc.go", "podpreset.go", "pods.go", - "portforward.go", "pre_stop.go", - "proxy.go", "reboot.go", "resize_nodes.go", "resource_quota.go", @@ -110,7 +107,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/api/v1/service:go_default_library", - "//pkg/apis/batch/v2alpha1:go_default_library", "//pkg/apis/networking:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/clientset_generated/clientset/typed/certificates/v1beta1:go_default_library", @@ -121,13 +117,11 @@ go_library( "//pkg/controller:go_default_library", "//pkg/controller/endpoint:go_default_library", "//pkg/controller/node:go_default_library", - "//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubelet/apis:go_default_library", "//pkg/kubelet/apis/stats/v1alpha1:go_default_library", "//pkg/kubelet/pod:go_default_library", "//pkg/master/ports:go_default_library", "//pkg/quota/evaluator/core:go_default_library", - "//pkg/util/exec:go_default_library", "//pkg/util/logs:go_default_library", "//pkg/util/version:go_default_library", "//plugin/pkg/admission/serviceaccount:go_default_library", @@ -138,15 +132,12 @@ go_library( "//test/e2e/generated:go_default_library", "//test/e2e/manifest:go_default_library", "//test/e2e/metrics:go_default_library", - "//test/e2e/scheduling:go_default_library", "//test/e2e/upgrades:go_default_library", "//test/e2e/workload:go_default_library", "//test/e2e_federation:go_default_library", "//test/images/net/nat:go_default_library", "//test/utils:go_default_library", "//test/utils/junit:go_default_library", - "//vendor/github.com/elazarl/goproxy:go_default_library", - "//vendor/github.com/ghodss/yaml:go_default_library", "//vendor/github.com/golang/glog:go_default_library", "//vendor/github.com/google/cadvisor/info/v1:go_default_library", "//vendor/github.com/influxdata/influxdb/client/v2:go_default_library", @@ -155,7 +146,6 @@ go_library( "//vendor/github.com/onsi/ginkgo/reporters:go_default_library", "//vendor/github.com/onsi/gomega:go_default_library", "//vendor/golang.org/x/crypto/ssh:go_default_library", - "//vendor/golang.org/x/net/websocket:go_default_library", "//vendor/golang.org/x/oauth2/google:go_default_library", "//vendor/google.golang.org/api/monitoring/v3:go_default_library", "//vendor/k8s.io/api/batch/v1:go_default_library", @@ -178,7 +168,6 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/uuid:go_default_library", @@ -186,7 +175,6 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/util/yaml:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/authentication/serviceaccount:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library", "//vendor/k8s.io/client-go/discovery:go_default_library", "//vendor/k8s.io/client-go/kubernetes:go_default_library", "//vendor/k8s.io/client-go/rest:go_default_library", @@ -224,6 +212,7 @@ filegroup( "//test/e2e/extension:all-srcs", "//test/e2e/framework:all-srcs", "//test/e2e/generated:all-srcs", + "//test/e2e/kubectl:all-srcs", "//test/e2e/manifest:all-srcs", "//test/e2e/metrics:all-srcs", "//test/e2e/perftype:all-srcs", diff --git a/test/e2e/e2e.go b/test/e2e/e2e.go index 7c29f1ff2db..f262ecb0a6d 100644 --- a/test/e2e/e2e.go +++ b/test/e2e/e2e.go @@ -52,6 +52,9 @@ const ( // images within this time we simply log their output and carry on // with the tests. imagePrePullingTimeout = 5 * time.Minute + + // TODO: Delete this once all the tests that depend upon it are moved out of test/e2e and into subdirs + podName = "pfpod" ) var ( diff --git a/test/e2e/kubectl/BUILD b/test/e2e/kubectl/BUILD new file mode 100644 index 00000000000..22b5c5583a3 --- /dev/null +++ b/test/e2e/kubectl/BUILD @@ -0,0 +1,63 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_library", +) + +go_library( + name = "go_default_library", + srcs = [ + "framework.go", + "kubectl.go", + "portforward.go", + "proxy.go", + ], + tags = ["automanaged"], + deps = [ + "//pkg/api:go_default_library", + "//pkg/apis/batch/v2alpha1:go_default_library", + "//pkg/client/clientset_generated/clientset:go_default_library", + "//pkg/controller:go_default_library", + "//pkg/kubectl/cmd/util:go_default_library", + "//pkg/util/exec:go_default_library", + "//pkg/util/version:go_default_library", + "//test/e2e/framework:go_default_library", + "//test/e2e/generated:go_default_library", + "//test/e2e/scheduling:go_default_library", + "//test/utils:go_default_library", + "//vendor/github.com/elazarl/goproxy:go_default_library", + "//vendor/github.com/ghodss/yaml:go_default_library", + "//vendor/github.com/onsi/ginkgo:go_default_library", + "//vendor/github.com/onsi/gomega:go_default_library", + "//vendor/golang.org/x/net/websocket:go_default_library", + "//vendor/k8s.io/api/core/v1:go_default_library", + "//vendor/k8s.io/api/rbac/v1beta1:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/uuid:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library", + "//vendor/k8s.io/apiserver/pkg/authentication/serviceaccount:go_default_library", + "//vendor/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library", + ], +) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], +) diff --git a/test/e2e/kubectl/OWNERS b/test/e2e/kubectl/OWNERS new file mode 100644 index 00000000000..ce699e9679a --- /dev/null +++ b/test/e2e/kubectl/OWNERS @@ -0,0 +1,4 @@ +approvers: +- sig-cli-maintainers +reviewers: +- sig-cli diff --git a/test/e2e/kubectl/framework.go b/test/e2e/kubectl/framework.go new file mode 100644 index 00000000000..9f216277da8 --- /dev/null +++ b/test/e2e/kubectl/framework.go @@ -0,0 +1,23 @@ +/* +Copyright 2015 The Kubernetes Authors. + +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 kubectl + +import "k8s.io/kubernetes/test/e2e/framework" + +func kubectlDescribe(text string, body func()) bool { + return framework.KubeDescribe("[sig-cli] "+text, body) +} diff --git a/test/e2e/kubectl.go b/test/e2e/kubectl/kubectl.go similarity index 99% rename from test/e2e/kubectl.go rename to test/e2e/kubectl/kubectl.go index db2e81d5ad2..b75619f0a99 100644 --- a/test/e2e/kubectl.go +++ b/test/e2e/kubectl/kubectl.go @@ -14,7 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. */ -package e2e +// OWNER = sig/cli + +package kubectl import ( "bytes" @@ -184,7 +186,7 @@ func runKubectlRetryOrDie(args ...string) string { } // duplicated setup to avoid polluting "normal" clients with alpha features which confuses the generated clients -var _ = framework.KubeDescribe("Kubectl alpha client", func() { +var _ = kubectlDescribe("Kubectl alpha client", func() { defer GinkgoRecover() f := framework.NewDefaultFramework("kubectl") @@ -273,7 +275,7 @@ var _ = framework.KubeDescribe("Kubectl alpha client", func() { }) }) -var _ = framework.KubeDescribe("Kubectl client", func() { +var _ = kubectlDescribe("Kubectl client", func() { defer GinkgoRecover() f := framework.NewDefaultFramework("kubectl") diff --git a/test/e2e/portforward.go b/test/e2e/kubectl/portforward.go similarity index 99% rename from test/e2e/portforward.go rename to test/e2e/kubectl/portforward.go index c58c22970d7..4ad07fdc250 100644 --- a/test/e2e/portforward.go +++ b/test/e2e/kubectl/portforward.go @@ -14,7 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. */ -package e2e +// OWNER = sig/cli + +package kubectl import ( "bytes" @@ -469,7 +471,7 @@ func doTestOverWebSockets(bindAddress string, f *framework.Framework) { verifyLogMessage(logOutput, "^Received expected client data$") } -var _ = framework.KubeDescribe("Port forwarding", func() { +var _ = kubectlDescribe("Kubectl Port forwarding", func() { f := framework.NewDefaultFramework("port-forwarding") framework.KubeDescribe("With a server listening on 0.0.0.0", func() { diff --git a/test/e2e/proxy.go b/test/e2e/kubectl/proxy.go similarity index 99% rename from test/e2e/proxy.go rename to test/e2e/kubectl/proxy.go index 488d2f42789..1edcb8001b7 100644 --- a/test/e2e/proxy.go +++ b/test/e2e/kubectl/proxy.go @@ -14,7 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. */ -package e2e +// OWNER = sig/cli + +package kubectl import ( "fmt" @@ -49,7 +51,7 @@ const ( proxyHTTPCallTimeout = 30 * time.Second ) -var _ = framework.KubeDescribe("Proxy", func() { +var _ = kubectlDescribe("Kubectl Proxy", func() { version := api.Registry.GroupOrDie(v1.GroupName).GroupVersion.Version Context("version "+version, func() { options := framework.FrameworkOptions{