Merge pull request #32105 from madhusudancs/fed-ing-e2e-ns-fix

Automatic merge from submit-queue

Use federated namespace instead of the bootstrap cluster's namespace in Ingress e2e tests.

This should fix #31825.

cc @kubernetes/sig-cluster-federation @quinton-hoole
This commit is contained in:
Kubernetes Submit Queue 2016-09-07 00:40:10 -07:00 committed by GitHub
commit 93f7cbdc06

View File

@ -53,7 +53,6 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
// Validate federation apiserver, does not rely on underlying clusters or federation ingress controller. // Validate federation apiserver, does not rely on underlying clusters or federation ingress controller.
Describe("Ingress objects", func() { Describe("Ingress objects", func() {
AfterEach(func() { AfterEach(func() {
nsName := f.FederationNamespace.Name nsName := f.FederationNamespace.Name
// Delete registered ingresses. // Delete registered ingresses.
ingressList, err := f.FederationClientset_1_4.Extensions().Ingresses(nsName).List(api.ListOptions{}) ingressList, err := f.FederationClientset_1_4.Extensions().Ingresses(nsName).List(api.ListOptions{})
@ -94,7 +93,7 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
jig = newFederationTestJig(f.FederationClientset_1_4) jig = newFederationTestJig(f.FederationClientset_1_4)
clusters = map[string]*cluster{} clusters = map[string]*cluster{}
primaryClusterName = registerClusters(clusters, UserAgentName, federationName, f) primaryClusterName = registerClusters(clusters, UserAgentName, federationName, f)
ns = f.Namespace.Name ns = f.FederationNamespace.Name
}) })
AfterEach(func() { AfterEach(func() {
@ -102,16 +101,16 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
}) })
It("should create and update matching ingresses in underlying clusters", func() { It("should create and update matching ingresses in underlying clusters", func() {
ingress := createIngressOrFail(f.FederationClientset_1_4, f.Namespace.Name) ingress := createIngressOrFail(f.FederationClientset_1_4, ns)
defer func() { // Cleanup defer func() { // Cleanup
By(fmt.Sprintf("Deleting ingress %q in namespace %q", ingress.Name, f.Namespace.Name)) By(fmt.Sprintf("Deleting ingress %q in namespace %q", ingress.Name, ns))
err := f.FederationClientset_1_4.Ingresses(f.Namespace.Name).Delete(ingress.Name, &api.DeleteOptions{}) err := f.FederationClientset_1_4.Ingresses(ns).Delete(ingress.Name, &api.DeleteOptions{})
framework.ExpectNoError(err, "Error deleting ingress %q in namespace %q", ingress.Name, f.Namespace.Name) framework.ExpectNoError(err, "Error deleting ingress %q in namespace %q", ingress.Name, ns)
}() }()
// wait for ingress shards being created // wait for ingress shards being created
waitForIngressShardsOrFail(f.Namespace.Name, ingress, clusters) waitForIngressShardsOrFail(ns, ingress, clusters)
ingress = updateIngressOrFail(f.FederationClientset_1_4, f.Namespace.Name) ingress = updateIngressOrFail(f.FederationClientset_1_4, ns)
waitForIngressShardsUpdatedOrFail(f.Namespace.Name, ingress, clusters) waitForIngressShardsUpdatedOrFail(ns, ingress, clusters)
}) })
var _ = Describe("Ingress connectivity and DNS", func() { var _ = Describe("Ingress connectivity and DNS", func() {
@ -123,27 +122,27 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
BeforeEach(func() { BeforeEach(func() {
framework.SkipUnlessFederated(f.Client) framework.SkipUnlessFederated(f.Client)
// create backend pod // create backend pod
createBackendPodsOrFail(clusters, f.Namespace.Name, FederatedIngressServicePodName) createBackendPodsOrFail(clusters, ns, FederatedIngressServicePodName)
// create backend service // create backend service
service = createServiceOrFail(f.FederationClientset_1_4, f.Namespace.Name, FederatedIngressServiceName) service = createServiceOrFail(f.FederationClientset_1_4, ns, FederatedIngressServiceName)
// create ingress object // create ingress object
jig.ing = createIngressOrFail(f.FederationClientset_1_4, f.Namespace.Name) jig.ing = createIngressOrFail(f.FederationClientset_1_4, ns)
// wait for services objects sync // wait for services objects sync
waitForServiceShardsOrFail(f.Namespace.Name, service, clusters) waitForServiceShardsOrFail(ns, service, clusters)
// wait for ingress objects sync // wait for ingress objects sync
waitForIngressShardsOrFail(f.Namespace.Name, jig.ing, clusters) waitForIngressShardsOrFail(ns, jig.ing, clusters)
}) })
AfterEach(func() { AfterEach(func() {
deleteBackendPodsOrFail(clusters, f.Namespace.Name) deleteBackendPodsOrFail(clusters, ns)
if service != nil { if service != nil {
deleteServiceOrFail(f.FederationClientset_1_4, f.Namespace.Name, service.Name) deleteServiceOrFail(f.FederationClientset_1_4, ns, service.Name)
service = nil service = nil
} else { } else {
By("No service to delete. Service is nil") By("No service to delete. Service is nil")
} }
if jig.ing != nil { if jig.ing != nil {
deleteIngressOrFail(f.FederationClientset_1_4, f.Namespace.Name, jig.ing.Name) deleteIngressOrFail(f.FederationClientset_1_4, ns, jig.ing.Name)
jig.ing = nil jig.ing = nil
} else { } else {
By("No ingress to delete. Ingress is nil") By("No ingress to delete. Ingress is nil")
@ -153,11 +152,11 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
PIt("should be able to discover a federated ingress service", func() { PIt("should be able to discover a federated ingress service", func() {
// we are about the ingress name // we are about the ingress name
svcDNSNames := []string{ svcDNSNames := []string{
fmt.Sprintf("%s.%s", FederatedIngressServiceName, f.Namespace.Name), fmt.Sprintf("%s.%s", FederatedIngressServiceName, ns),
fmt.Sprintf("%s.%s.svc.cluster.local.", FederatedIngressServiceName, f.Namespace.Name), fmt.Sprintf("%s.%s.svc.cluster.local.", FederatedIngressServiceName, ns),
// TODO these two entries are not set yet // TODO these two entries are not set yet
//fmt.Sprintf("%s.%s.%s", FederatedIngressServiceName, f.Namespace.Name, federationName), //fmt.Sprintf("%s.%s.%s", FederatedIngressServiceName, ns, federationName),
//fmt.Sprintf("%s.%s.%s.svc.cluster.local.", FederatedIngressServiceName, f.Namespace.Name, federationName), //fmt.Sprintf("%s.%s.%s.svc.cluster.local.", FederatedIngressServiceName, ns, federationName),
} }
// check dns records in underlying cluster // check dns records in underlying cluster
for i, DNSName := range svcDNSNames { for i, DNSName := range svcDNSNames {