From 6b8d0caac2b37a7ad342d32a7065a44a9674e119 Mon Sep 17 00:00:00 2001 From: nikhiljindal Date: Wed, 23 Nov 2016 16:26:02 -0800 Subject: [PATCH] Creating configmap for kube-dns --- test/e2e/federated-service.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/e2e/federated-service.go b/test/e2e/federated-service.go index e6656ec6d1..6a279783bd 100644 --- a/test/e2e/federated-service.go +++ b/test/e2e/federated-service.go @@ -34,6 +34,9 @@ const ( FederatedServiceName = "federated-service" FederatedServicePodName = "federated-service-test-pod" + + KubeDNSConfigMapName = "kube-dns" + KubeDNSConfigMapNamespace = "kube-system" ) var FederatedServiceLabels = map[string]string{ @@ -122,6 +125,27 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() { framework.SkipUnlessFederated(f.ClientSet) nsName := f.FederationNamespace.Name + // Create kube-dns configmap for kube-dns to accept federation queries. + federationsDomainMap := os.Getenv("FEDERATIONS_DOMAIN_MAP") + if federationsDomainMap == "" { + framework.Failf("missing required env var FEDERATIONS_DOMAIN_MAP") + } + kubeDNSConfigMap := v1.ConfigMap{ + ObjectMeta: v1.ObjectMeta{ + Name: KubeDNSConfigMapName, + Namespace: KubeDNSConfigMapNamespace, + }, + Data: map[string]string{ + "federations": federationsDomainMap, + }, + } + // Create this configmap in all clusters. + for clusterName, cluster := range clusters { + By(fmt.Sprintf("Creating kube dns config map in cluster: %s", clusterName)) + _, err := cluster.Clientset.Core().ConfigMaps(KubeDNSConfigMapNamespace).Create(&kubeDNSConfigMap) + framework.ExpectNoError(err, fmt.Sprintf("Error in creating config map in cluster %s", clusterName)) + } + createBackendPodsOrFail(clusters, nsName, FederatedServicePodName) service = createServiceOrFail(f.FederationClientset_1_5, nsName, FederatedServiceName) waitForServiceShardsOrFail(nsName, service, clusters) @@ -143,6 +167,12 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() { } else { By("No service to delete. Service is nil") } + // Delete the kube-dns config map from all clusters. + for clusterName, cluster := range clusters { + By(fmt.Sprintf("Deleting kube dns config map from cluster: %s", clusterName)) + err := cluster.Clientset.Core().ConfigMaps(KubeDNSConfigMapNamespace).Delete(KubeDNSConfigMapName, nil) + framework.ExpectNoError(err, fmt.Sprintf("Error in deleting config map from cluster %s", clusterName)) + } }) It("should be able to discover a federated service", func() {