Change:
What happened: When specifying "openstack" as cloud-provider of e2e test, the test is failed like What you expected to happen: We can run e2e test with openstack cloud provider. How to reproduce it (as minimally and precisely as possible): Just kick the following command: ` Anything else we need to know?: This issue doesn't happen on v1.13, so this issue seems to happen during this dev cycle for v1.14. Environment: Kubernetes version (use ): master for v1.14 Cloud provider or hardware configuration: OpenStack OS (e.g: ): Ubuntu 16.04.5 LTS Kernel (e.g. ): 4.4.0-142-generic Install tools: kubeadm Others:
/sig openstack /sig testing
The exception raises at
The reason of this issue comes from
Ideally it is nice to put a new directory for registering the cloud provider.
/assign
I was wondering we could remove "openstack" provider specific tests and conditions from e2e tests, but there are storage tests which are related to OpenStack in e2e tests. So it is nice to add registration for OpenStack at this time.

Discussion:
"//test/e2e/framework/providers/azure:go_default_library", "//test/e2e/framework/providers/gce:go_default_library", "//test/e2e/framework/providers/kubemark:go_default_library", <ins> "//test/e2e/framework/providers/openstack:go_default_library", </ins> "//test/e2e/framework/testfiles:go_default_library", "//test/e2e/manifest:go_default_library", "//test/utils:go_default_library",

_ "k8s.io/kubernetes/test/e2e/framework/providers/azure" _ "k8s.io/kubernetes/test/e2e/framework/providers/gce" _ "k8s.io/kubernetes/test/e2e/framework/providers/kubemark" <ins> _ "k8s.io/kubernetes/test/e2e/framework/providers/openstack" </ins> ) var (

"//test/e2e/framework/providers/azure:all-srcs", "//test/e2e/framework/providers/gce:all-srcs", "//test/e2e/framework/providers/kubemark:all-srcs", <ins> "//test/e2e/framework/providers/openstack:all-srcs", </ins> "//test/e2e/framework/testfiles:all-srcs", "//test/e2e/framework/timer:all-srcs", "//test/e2e/framework/viperconfig:all-srcs",

<ins> load("@io_bazel_rules_go//go:def.bzl", "go_library") go_library( name = "go_default_library", srcs = ["openstack.go"], importpath = "k8s.io/kubernetes/test/e2e/framework/providers/openstack", visibility = ["//visibility:public"], deps = ["//test/e2e/framework:go_default_library"], ) filegroup( name = "package-srcs", srcs = glob(["**"]), tags = ["automanaged"], visibility = ["//visibility:private"], ) filegroup( name = "all-srcs", srcs = [":package-srcs"], tags = ["automanaged"], visibility = ["//visibility:public"], ) </ins>

<ins> /* Copyright 2019 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 openstack import ( "k8s.io/kubernetes/test/e2e/framework" ) func init() { framework.RegisterProvider("openstack", newProvider) } func newProvider() (framework.ProviderInterface, error) { return &Provider{}, nil } // Provider is a structure to handle OpenStack clouds for e2e testing type Provider struct { framework.NullProvider } </ins>