Skip to content

Commit bf71df2

Browse files
authored
Merge pull request kubernetes#85967 from liggitt/kubectl-deflake
Deflake kubectl custom printing test
2 parents c9dafcd + bacab3d commit bf71df2

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

test/e2e/kubectl/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ go_library(
3333
"//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library",
3434
"//staging/src/k8s.io/apiserver/pkg/authentication/serviceaccount:go_default_library",
3535
"//staging/src/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library",
36+
"//staging/src/k8s.io/client-go/discovery:go_default_library",
3637
"//staging/src/k8s.io/client-go/dynamic:go_default_library",
3738
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
3839
"//staging/src/k8s.io/client-go/tools/watch:go_default_library",

test/e2e/kubectl/kubectl.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ import (
6060
"k8s.io/apimachinery/pkg/watch"
6161
"k8s.io/apiserver/pkg/authentication/serviceaccount"
6262
genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
63+
"k8s.io/client-go/discovery"
6364
"k8s.io/client-go/dynamic"
6465
clientset "k8s.io/client-go/kubernetes"
6566
watchtools "k8s.io/client-go/tools/watch"
@@ -450,7 +451,26 @@ var _ = SIGDescribe("Kubectl client", func() {
450451
}
451452

452453
apiGroups, err := c.Discovery().ServerPreferredResources()
453-
framework.ExpectNoError(err)
454+
455+
if discovery.IsGroupDiscoveryFailedError(err) {
456+
discoveryErr := err.(*discovery.ErrGroupDiscoveryFailed)
457+
for gv := range discoveryErr.Groups {
458+
if strings.Contains(gv.Group, ".") && !strings.HasSuffix(gv.Group, ".k8s.io") {
459+
// tolerate discovery errors for non-k8s.io groups (like aggregated/crd groups)
460+
continue
461+
}
462+
if gv.Group == "wardle.k8s.io" || gv.Group == "metrics.k8s.io" {
463+
// tolerate discovery errors for known test k8s.io groups like aggregated/metrics groups
464+
continue
465+
}
466+
// otherwise, fail
467+
framework.ExpectNoError(err)
468+
}
469+
} else {
470+
// fail immediately if this isn't a discovery error
471+
framework.ExpectNoError(err)
472+
473+
}
454474

455475
testableResources := etcd.GetEtcdStorageDataForNamespace(f.Namespace.Name)
456476

0 commit comments

Comments
 (0)