Merge pull request #40215 from shashidharatd/federation-e2e
Automatic merge from submit-queue Fix federation component logging when e2e test case fails When a federation e2e test case fails, federation component logs (esp. controller-manager) were very useful in debugging the failure cause. Due to recent updates in framework, the logs were not captured. This PR will fix those issues. cc @kubernetes/sig-federation-misc @nikhiljindal @madhusudancs
This commit is contained in:
		| @@ -84,7 +84,7 @@ type Framework struct { | |||||||
| 	cleanupHandle CleanupActionHandle | 	cleanupHandle CleanupActionHandle | ||||||
|  |  | ||||||
| 	// configuration for framework's client | 	// configuration for framework's client | ||||||
| 	options FrameworkOptions | 	Options FrameworkOptions | ||||||
| } | } | ||||||
|  |  | ||||||
| type TestDataSummary interface { | type TestDataSummary interface { | ||||||
| @@ -110,7 +110,7 @@ func NewDefaultFramework(baseName string) *Framework { | |||||||
|  |  | ||||||
| func NewDefaultGroupVersionFramework(baseName string, groupVersion schema.GroupVersion) *Framework { | func NewDefaultGroupVersionFramework(baseName string, groupVersion schema.GroupVersion) *Framework { | ||||||
| 	f := NewDefaultFramework(baseName) | 	f := NewDefaultFramework(baseName) | ||||||
| 	f.options.GroupVersion = &groupVersion | 	f.Options.GroupVersion = &groupVersion | ||||||
| 	return f | 	return f | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -118,7 +118,7 @@ func NewFramework(baseName string, options FrameworkOptions, client clientset.In | |||||||
| 	f := &Framework{ | 	f := &Framework{ | ||||||
| 		BaseName:                 baseName, | 		BaseName:                 baseName, | ||||||
| 		AddonResourceConstraints: make(map[string]ResourceConstraint), | 		AddonResourceConstraints: make(map[string]ResourceConstraint), | ||||||
| 		options:                  options, | 		Options:                  options, | ||||||
| 		ClientSet:                client, | 		ClientSet:                client, | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| @@ -169,10 +169,10 @@ func (f *Framework) BeforeEach() { | |||||||
| 		By("Creating a kubernetes client") | 		By("Creating a kubernetes client") | ||||||
| 		config, err := LoadConfig() | 		config, err := LoadConfig() | ||||||
| 		Expect(err).NotTo(HaveOccurred()) | 		Expect(err).NotTo(HaveOccurred()) | ||||||
| 		config.QPS = f.options.ClientQPS | 		config.QPS = f.Options.ClientQPS | ||||||
| 		config.Burst = f.options.ClientBurst | 		config.Burst = f.Options.ClientBurst | ||||||
| 		if f.options.GroupVersion != nil { | 		if f.Options.GroupVersion != nil { | ||||||
| 			config.GroupVersion = f.options.GroupVersion | 			config.GroupVersion = f.Options.GroupVersion | ||||||
| 		} | 		} | ||||||
| 		if TestContext.KubeAPIContentType != "" { | 		if TestContext.KubeAPIContentType != "" { | ||||||
| 			config.ContentType = TestContext.KubeAPIContentType | 			config.ContentType = TestContext.KubeAPIContentType | ||||||
|   | |||||||
| @@ -25,7 +25,9 @@ import ( | |||||||
| 	apierrors "k8s.io/apimachinery/pkg/api/errors" | 	apierrors "k8s.io/apimachinery/pkg/api/errors" | ||||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||||
| 	"k8s.io/apimachinery/pkg/util/wait" | 	"k8s.io/apimachinery/pkg/util/wait" | ||||||
|  | 	fedv1beta1 "k8s.io/kubernetes/federation/apis/federation/v1beta1" | ||||||
| 	"k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" | 	"k8s.io/kubernetes/federation/client/clientset_generated/federation_clientset" | ||||||
|  | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/api/v1" | 	"k8s.io/kubernetes/pkg/api/v1" | ||||||
| 	"k8s.io/kubernetes/test/e2e/framework" | 	"k8s.io/kubernetes/test/e2e/framework" | ||||||
|  |  | ||||||
| @@ -43,10 +45,22 @@ type Framework struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| func NewDefaultFederatedFramework(baseName string) *Framework { | func NewDefaultFederatedFramework(baseName string) *Framework { | ||||||
| 	f := &Framework{framework.NewDefaultFramework(baseName), nil, &v1.Namespace{}} | 	options := framework.FrameworkOptions{ | ||||||
|  | 		ClientQPS:   20, | ||||||
|  | 		ClientBurst: 50, | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	f := &Framework{&framework.Framework{ | ||||||
|  | 		BaseName:                 baseName, | ||||||
|  | 		AddonResourceConstraints: make(map[string]framework.ResourceConstraint), | ||||||
|  | 		Options:                  options, | ||||||
|  | 		ClientSet:                nil, | ||||||
|  | 	}, nil, &v1.Namespace{}} | ||||||
|  |  | ||||||
|  | 	BeforeEach(f.BeforeEach) | ||||||
| 	BeforeEach(f.FederationBeforeEach) | 	BeforeEach(f.FederationBeforeEach) | ||||||
| 	AfterEach(f.FederationAfterEach) | 	AfterEach(f.FederationAfterEach) | ||||||
|  | 	AfterEach(f.AfterEach) | ||||||
|  |  | ||||||
| 	return f | 	return f | ||||||
| } | } | ||||||
| @@ -138,9 +152,9 @@ func (f *Framework) FederationAfterEach() { | |||||||
| 			return f.FederationClientset.Core().Events(ns).List(opts) | 			return f.FederationClientset.Core().Events(ns).List(opts) | ||||||
| 		}, f.FederationNamespace.Name) | 		}, f.FederationNamespace.Name) | ||||||
| 		// Print logs of federation control plane pods (federation-apiserver and federation-controller-manager) | 		// Print logs of federation control plane pods (federation-apiserver and federation-controller-manager) | ||||||
| 		framework.LogPodsWithLabels(f.ClientSet, "federation", map[string]string{"app": "federated-cluster"}, framework.Logf) | 		framework.LogPodsWithLabels(f.ClientSet, fedv1beta1.FederationNamespaceSystem, map[string]string{"app": "federated-cluster"}, framework.Logf) | ||||||
| 		// Print logs of kube-dns pod | 		// Print logs of kube-dns pod | ||||||
| 		framework.LogPodsWithLabels(f.ClientSet, "kube-system", map[string]string{"k8s-app": "kube-dns"}, framework.Logf) | 		framework.LogPodsWithLabels(f.ClientSet, api.NamespaceSystem, map[string]string{"k8s-app": "kube-dns"}, framework.Logf) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Submit Queue
					Kubernetes Submit Queue