Skip to content

Commit debb1ed

Browse files
authored
Merge pull request kubernetes#88697 from liggitt/conformance-v1
Use only v1 CRD resources in e2e tests
2 parents 5698716 + f205e3d commit debb1ed

File tree

3 files changed

+19
-45
lines changed

3 files changed

+19
-45
lines changed

staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures/resources.go

+14-40
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,11 @@ func CreateNewCustomResourceDefinition(crd *apiextensionsv1beta1.CustomResourceD
351351
return nil, err
352352
}
353353

354+
v1CRD, err := apiExtensionsClient.ApiextensionsV1().CustomResourceDefinitions().Get(context.TODO(), crd.Name, metav1.GetOptions{})
355+
if err != nil {
356+
return nil, err
357+
}
358+
354359
// This is only for a test. We need the watch cache to have a resource version that works for the test.
355360
// When new REST storage is created, the storage cacher for the CR starts asynchronously.
356361
// REST API operations return like list use the RV of etcd, but the storage cacher's reflector's list
@@ -362,7 +367,7 @@ func CreateNewCustomResourceDefinition(crd *apiextensionsv1beta1.CustomResourceD
362367
// This way all the tests that are checking for watches don't have to worry about RV too old problems because crazy things *could* happen
363368
// before like the created RV could be too old to watch.
364369
err = wait.PollImmediate(500*time.Millisecond, 30*time.Second, func() (bool, error) {
365-
return isWatchCachePrimed(crd, dynamicClientSet)
370+
return isWatchCachePrimed(v1CRD, dynamicClientSet)
366371
})
367372
if err != nil {
368373
return nil, err
@@ -379,15 +384,11 @@ func CreateNewV1CustomResourceDefinitionWatchUnsafe(v1CRD *apiextensionsv1.Custo
379384
if err != nil {
380385
return nil, err
381386
}
382-
crd, err := apiExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().Get(context.TODO(), v1CRD.Name, metav1.GetOptions{})
383-
if err != nil {
384-
return nil, err
385-
}
386387

387388
// wait until all resources appears in discovery
388-
for _, version := range servedVersions(crd) {
389+
for _, version := range servedV1Versions(v1CRD) {
389390
err := wait.PollImmediate(500*time.Millisecond, 30*time.Second, func() (bool, error) {
390-
return existsInDiscovery(crd, apiExtensionsClient, version)
391+
return existsInDiscoveryV1(v1CRD, apiExtensionsClient, version)
391392
})
392393
if err != nil {
393394
return nil, err
@@ -403,10 +404,6 @@ func CreateNewV1CustomResourceDefinition(v1CRD *apiextensionsv1.CustomResourceDe
403404
if err != nil {
404405
return nil, err
405406
}
406-
crd, err := apiExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().Get(context.TODO(), v1CRD.Name, metav1.GetOptions{})
407-
if err != nil {
408-
return nil, err
409-
}
410407

411408
// This is only for a test. We need the watch cache to have a resource version that works for the test.
412409
// When new REST storage is created, the storage cacher for the CR starts asynchronously.
@@ -419,30 +416,30 @@ func CreateNewV1CustomResourceDefinition(v1CRD *apiextensionsv1.CustomResourceDe
419416
// This way all the tests that are checking for watches don't have to worry about RV too old problems because crazy things *could* happen
420417
// before like the created RV could be too old to watch.
421418
err = wait.PollImmediate(500*time.Millisecond, 30*time.Second, func() (bool, error) {
422-
return isWatchCachePrimed(crd, dynamicClientSet)
419+
return isWatchCachePrimed(v1CRD, dynamicClientSet)
423420
})
424421
if err != nil {
425422
return nil, err
426423
}
427424
return v1CRD, nil
428425
}
429426

430-
func resourceClientForVersion(crd *apiextensionsv1beta1.CustomResourceDefinition, dynamicClientSet dynamic.Interface, namespace, version string) dynamic.ResourceInterface {
427+
func resourceClientForVersion(crd *apiextensionsv1.CustomResourceDefinition, dynamicClientSet dynamic.Interface, namespace, version string) dynamic.ResourceInterface {
431428
gvr := schema.GroupVersionResource{Group: crd.Spec.Group, Version: version, Resource: crd.Spec.Names.Plural}
432-
if crd.Spec.Scope != apiextensionsv1beta1.ClusterScoped {
429+
if crd.Spec.Scope != apiextensionsv1.ClusterScoped {
433430
return dynamicClientSet.Resource(gvr).Namespace(namespace)
434431
}
435432
return dynamicClientSet.Resource(gvr)
436433
}
437434

438435
// isWatchCachePrimed returns true if the watch is primed for an specified version of CRD watch
439-
func isWatchCachePrimed(crd *apiextensionsv1beta1.CustomResourceDefinition, dynamicClientSet dynamic.Interface) (bool, error) {
436+
func isWatchCachePrimed(crd *apiextensionsv1.CustomResourceDefinition, dynamicClientSet dynamic.Interface) (bool, error) {
440437
ns := ""
441-
if crd.Spec.Scope != apiextensionsv1beta1.ClusterScoped {
438+
if crd.Spec.Scope != apiextensionsv1.ClusterScoped {
442439
ns = "aval"
443440
}
444441

445-
versions := servedVersions(crd)
442+
versions := servedV1Versions(crd)
446443
if len(versions) == 0 {
447444
return true, nil
448445
}
@@ -539,29 +536,6 @@ func DeleteV1CustomResourceDefinition(crd *apiextensionsv1.CustomResourceDefinit
539536
return nil
540537
}
541538

542-
// DeleteCustomResourceDefinitions deletes all CRD matching the provided deleteListOpts and waits until all the CRDs disappear from discovery.
543-
func DeleteCustomResourceDefinitions(deleteListOpts metav1.ListOptions, apiExtensionsClient clientset.Interface) error {
544-
list, err := apiExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().List(context.TODO(), deleteListOpts)
545-
if err != nil {
546-
return err
547-
}
548-
if err = apiExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().DeleteCollection(context.TODO(), nil, deleteListOpts); err != nil {
549-
return err
550-
}
551-
for _, crd := range list.Items {
552-
for _, version := range servedVersions(&crd) {
553-
err := wait.PollImmediate(500*time.Millisecond, 30*time.Second, func() (bool, error) {
554-
exists, err := existsInDiscovery(&crd, apiExtensionsClient, version)
555-
return !exists, err
556-
})
557-
if err != nil {
558-
return err
559-
}
560-
}
561-
}
562-
return nil
563-
}
564-
565539
// DeleteV1CustomResourceDefinitions deletes all CRD matching the provided deleteListOpts and waits until all the CRDs disappear from discovery.
566540
func DeleteV1CustomResourceDefinitions(deleteListOpts metav1.ListOptions, apiExtensionsClient clientset.Interface) error {
567541
list, err := apiExtensionsClient.ApiextensionsV1().CustomResourceDefinitions().List(context.TODO(), deleteListOpts)

test/e2e/auth/BUILD

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ go_library(
2929
"//staging/src/k8s.io/api/core/v1:go_default_library",
3030
"//staging/src/k8s.io/api/policy/v1beta1:go_default_library",
3131
"//staging/src/k8s.io/api/rbac/v1:go_default_library",
32-
"//staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1:go_default_library",
32+
"//staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1:go_default_library",
3333
"//staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset:go_default_library",
3434
"//staging/src/k8s.io/apiextensions-apiserver/test/integration/fixtures:go_default_library",
3535
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",

test/e2e/auth/audit.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525

2626
appsv1 "k8s.io/api/apps/v1"
2727
v1 "k8s.io/api/core/v1"
28-
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
28+
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
2929
apiextensionclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
3030
"k8s.io/apiextensions-apiserver/test/integration/fixtures"
3131
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -50,7 +50,7 @@ var (
5050
watchTestTimeout int64 = 1
5151
auditTestUser = "kubecfg"
5252

53-
crd = fixtures.NewRandomNameCustomResourceDefinition(apiextensionsv1beta1.ClusterScoped)
53+
crd = fixtures.NewRandomNameV1CustomResourceDefinition(apiextensionsv1.ClusterScoped)
5454
crdName = strings.SplitN(crd.Name, ".", 2)[0]
5555
crdNamespace = strings.SplitN(crd.Name, ".", 2)[1]
5656

@@ -600,9 +600,9 @@ var _ = SIGDescribe("Advanced Audit [DisabledForLargeClusters][Flaky]", func() {
600600
apiExtensionClient, err := apiextensionclientset.NewForConfig(config)
601601
framework.ExpectNoError(err, "failed to initialize apiExtensionClient")
602602

603-
crd, err = fixtures.CreateNewCustomResourceDefinition(crd, apiExtensionClient, f.DynamicClient)
603+
crd, err = fixtures.CreateNewV1CustomResourceDefinition(crd, apiExtensionClient, f.DynamicClient)
604604
framework.ExpectNoError(err, "failed to create custom resource definition")
605-
err = fixtures.DeleteCustomResourceDefinition(crd, apiExtensionClient)
605+
err = fixtures.DeleteV1CustomResourceDefinition(crd, apiExtensionClient)
606606
framework.ExpectNoError(err, "failed to delete custom resource definition")
607607

608608
expectEvents(f, []utils.AuditEvent{

0 commit comments

Comments
 (0)