diff --git a/test/e2e/v1alpha1/common_suite_test.go b/test/e2e/v1alpha1/common_suite_test.go index 14a166fc49..2c7475342d 100644 --- a/test/e2e/v1alpha1/common_suite_test.go +++ b/test/e2e/v1alpha1/common_suite_test.go @@ -234,7 +234,7 @@ func (b buildPrototype) Create() (build *buildv1alpha1.Build, err error) { return nil, err } - err = wait.PollImmediate(pollCreateInterval, pollCreateTimeout, func() (done bool, err error) { + err = wait.PollUntilContextTimeout(ctx, pollCreateInterval, pollCreateTimeout, true, func(ctx context.Context) (done bool, err error) { build, err = testBuild.BuildClientSet.ShipwrightV1alpha1().Builds(b.build.Namespace).Get(ctx, b.build.Name, meta.GetOptions{}) if err != nil { return false, err diff --git a/test/e2e/v1beta1/common_suite_test.go b/test/e2e/v1beta1/common_suite_test.go index 3d02bf6247..a5dc8f8d25 100644 --- a/test/e2e/v1beta1/common_suite_test.go +++ b/test/e2e/v1beta1/common_suite_test.go @@ -269,7 +269,7 @@ func (b buildPrototype) Create() (build *buildv1beta1.Build, err error) { return nil, err } - err = wait.PollImmediate(pollCreateInterval, pollCreateTimeout, func() (done bool, err error) { + err = wait.PollUntilContextTimeout(ctx, pollCreateInterval, pollCreateTimeout, true, func(ctx context.Context) (done bool, err error) { build, err = testBuild.BuildClientSet.ShipwrightV1beta1().Builds(b.build.Namespace).Get(ctx, b.build.Name, meta.GetOptions{}) if err != nil { return false, err diff --git a/test/integration/buildruns_to_sa_test.go b/test/integration/buildruns_to_sa_test.go index 4f3c1749b6..0b6cbc909b 100644 --- a/test/integration/buildruns_to_sa_test.go +++ b/test/integration/buildruns_to_sa_test.go @@ -5,6 +5,7 @@ package integration_test import ( + "context" "fmt" "time" @@ -151,7 +152,7 @@ var _ = Describe("Integration tests BuildRuns and Service-accounts", func() { Expect(contains(sa.Secrets, *buildObject.Spec.Output.PushSecret)).To(BeTrue()) // cancel the br - err = wait.PollImmediate(1*time.Second, 4*time.Second, func() (done bool, err error) { + err = wait.PollUntilContextTimeout(tb.Context, 1*time.Second, 4*time.Second, true, func(_ context.Context) (done bool, err error) { bro, err = tb.GetBRTillStartTime(buildRunObject.Name) if err != nil { GinkgoT().Logf("error on br get: %s\n", err.Error()) diff --git a/test/integration/buildruns_to_taskruns_test.go b/test/integration/buildruns_to_taskruns_test.go index 33362d15f8..4633ed0bd0 100644 --- a/test/integration/buildruns_to_taskruns_test.go +++ b/test/integration/buildruns_to_taskruns_test.go @@ -42,7 +42,7 @@ var _ = Describe("Integration tests BuildRuns and TaskRuns", func() { } timeout := int64(tb.TimeOut.Seconds()) - buildRunWatcher, err := tb.BuildClientSet.ShipwrightV1beta1().BuildRuns(tb.Namespace).Watch(context.TODO(), metav1.ListOptions{TimeoutSeconds: &timeout}) + buildRunWatcher, err := tb.BuildClientSet.ShipwrightV1beta1().BuildRuns(tb.Namespace).Watch(tb.Context, metav1.ListOptions{TimeoutSeconds: &timeout}) Expect(err).To(BeNil()) buildObject, err = tb.Catalog.LoadBuildWithNameAndStrategy(BUILD+tb.Namespace, strategyName, buildDef) @@ -401,7 +401,7 @@ var _ = Describe("Integration tests BuildRuns and TaskRuns", func() { Expect(tb.CreateBR(buildRunObject)).To(BeNil()) - err := wait.PollImmediate(1*time.Second, 4*time.Second, func() (done bool, err error) { + err := wait.PollUntilContextTimeout(tb.Context, 1*time.Second, 4*time.Second, true, func(_ context.Context) (done bool, err error) { bro, err := tb.GetBRTillStartTime(buildRunObject.Name) if err != nil { GinkgoT().Logf("error on br get: %s\n", err.Error()) diff --git a/test/utils/v1alpha1/buildruns.go b/test/utils/v1alpha1/buildruns.go index afa3395c2e..7198be4e1e 100644 --- a/test/utils/v1alpha1/buildruns.go +++ b/test/utils/v1alpha1/buildruns.go @@ -24,7 +24,7 @@ import ( func (t *TestBuild) CreateBR(buildRun *v1alpha1.BuildRun) error { brInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - _, err := brInterface.Create(context.TODO(), buildRun, metav1.CreateOptions{}) + _, err := brInterface.Create(t.Context, buildRun, metav1.CreateOptions{}) if err != nil { return err } @@ -34,7 +34,7 @@ func (t *TestBuild) CreateBR(buildRun *v1alpha1.BuildRun) error { // UpdateBR updates a BuildRun on the current test namespace func (t *TestBuild) UpdateBR(buildRun *v1alpha1.BuildRun) error { brInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - _, err := brInterface.Update(context.TODO(), buildRun, metav1.UpdateOptions{}) + _, err := brInterface.Update(t.Context, buildRun, metav1.UpdateOptions{}) if err != nil { return err } @@ -46,7 +46,7 @@ func (t *TestBuild) UpdateBR(buildRun *v1alpha1.BuildRun) error { func (t *TestBuild) GetBR(name string) (*v1alpha1.BuildRun, error) { brInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - br, err := brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + br, err := brInterface.Get(t.Context, name, metav1.GetOptions{}) if err != nil { return nil, err } @@ -57,7 +57,7 @@ func (t *TestBuild) GetBR(name string) (*v1alpha1.BuildRun, error) { func (t *TestBuild) DeleteBR(name string) error { brInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - if err := brInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}); err != nil { + if err := brInterface.Delete(t.Context, name, metav1.DeleteOptions{}); err != nil { return err } @@ -83,11 +83,11 @@ func (t *TestBuild) GetBRReason(name string) (string, error) { func (t *TestBuild) GetBRTillCompletion(name string) (*v1alpha1.BuildRun, error) { var ( - pollBRTillCompletion = func() (bool, error) { + pollBRTillCompletion = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - buildRun, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -101,22 +101,22 @@ func (t *TestBuild) GetBRTillCompletion(name string) (*v1alpha1.BuildRun, error) brInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillCompletion) + err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillCompletion) if err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillNotFound waits for the buildrun to get deleted. It returns an error if BuildRun is not found func (t *TestBuild) GetBRTillNotFound(name string, interval time.Duration, timeout time.Duration) (*v1alpha1.BuildRun, error) { var ( - GetBRTillNotFound = func() (bool, error) { + GetBRTillNotFound = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - _, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + _, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && apierrors.IsNotFound(err) { return true, err } @@ -126,12 +126,12 @@ func (t *TestBuild) GetBRTillNotFound(name string, interval time.Duration, timeo brInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - err := wait.PollImmediate(interval, timeout, GetBRTillNotFound) + err := wait.PollUntilContextTimeout(t.Context, interval, timeout, true, GetBRTillNotFound) if err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillNotOwner returns a BuildRun that has not an owner. @@ -142,9 +142,9 @@ func (t *TestBuild) GetBRTillNotOwner(name string, owner string) (*v1alpha1.Buil brInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) var ( - pollBRTillNotOwner = func() (bool, error) { + pollBRTillNotOwner = func(ctx context.Context) (bool, error) { - buildRun, err := brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := brInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -159,11 +159,11 @@ func (t *TestBuild) GetBRTillNotOwner(name string, owner string) (*v1alpha1.Buil } ) - if err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillNotOwner); err != nil { + if err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillNotOwner); err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillOwner returns a BuildRun that has an owner. @@ -174,9 +174,9 @@ func (t *TestBuild) GetBRTillOwner(name string, owner string) (*v1alpha1.BuildRu brInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) var ( - pollBRTillOwner = func() (bool, error) { + pollBRTillOwner = func(ctx context.Context) (bool, error) { - buildRun, err := brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := brInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -191,11 +191,11 @@ func (t *TestBuild) GetBRTillOwner(name string, owner string) (*v1alpha1.BuildRu } ) - if err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillOwner); err != nil { + if err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillOwner); err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillStartTime returns a BuildRun that have a StartTime set. @@ -204,11 +204,11 @@ func (t *TestBuild) GetBRTillOwner(name string, owner string) (*v1alpha1.BuildRu func (t *TestBuild) GetBRTillStartTime(name string) (*v1alpha1.BuildRun, error) { var ( - pollBRTillCompletion = func() (bool, error) { + pollBRTillCompletion = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - buildRun, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -231,18 +231,18 @@ func (t *TestBuild) GetBRTillStartTime(name string) (*v1alpha1.BuildRun, error) brInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillCompletion) + err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillCompletion) if err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillDesiredReason polls until a BuildRun gets a particular Reason // it exit if an error happens or the timeout is reached func (t *TestBuild) GetBRTillDesiredReason(buildRunname string, reason string) (currentReason string, err error) { - err = wait.PollImmediate(t.Interval, t.TimeOut, func() (bool, error) { + err = wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, func(_ context.Context) (bool, error) { currentReason, err = t.GetBRReason(buildRunname) if err != nil { return false, err @@ -262,11 +262,11 @@ func (t *TestBuild) GetBRTillDesiredReason(buildRunname string, reason string) ( func (t *TestBuild) GetBRTillDeletion(name string) (bool, error) { var ( - pollBRTillCompletion = func() (bool, error) { + pollBRTillCompletion = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildRuns(t.Namespace) - _, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + _, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if apierrors.IsNotFound(err) { return true, nil } @@ -274,7 +274,7 @@ func (t *TestBuild) GetBRTillDeletion(name string) (bool, error) { } ) - err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillCompletion) + err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillCompletion) if err != nil { return false, err } diff --git a/test/utils/v1alpha1/builds.go b/test/utils/v1alpha1/builds.go index bc9f8f8db0..574d7503db 100644 --- a/test/utils/v1alpha1/builds.go +++ b/test/utils/v1alpha1/builds.go @@ -23,7 +23,7 @@ import ( func (t *TestBuild) CreateBuild(build *v1alpha1.Build) error { bInterface := t.BuildClientSet.ShipwrightV1alpha1().Builds(t.Namespace) - _, err := bInterface.Create(context.TODO(), build, metav1.CreateOptions{}) + _, err := bInterface.Create(t.Context, build, metav1.CreateOptions{}) return err } @@ -31,7 +31,7 @@ func (t *TestBuild) CreateBuild(build *v1alpha1.Build) error { func (t *TestBuild) DeleteBuild(name string) error { bInterface := t.BuildClientSet.ShipwrightV1alpha1().Builds(t.Namespace) - err := bInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}) + err := bInterface.Delete(t.Context, name, metav1.DeleteOptions{}) return err } @@ -40,7 +40,7 @@ func (t *TestBuild) DeleteBuild(name string) error { // Deprecated: Use LookupBuild instead func (t *TestBuild) GetBuild(name string) (*v1alpha1.Build, error) { return t.BuildClientSet.ShipwrightV1alpha1(). - Builds(t.Namespace).Get(context.TODO(), name, metav1.GetOptions{}) + Builds(t.Namespace).Get(t.Context, name, metav1.GetOptions{}) } // ListBuilds returns existing Builds from the desired namespace @@ -56,7 +56,7 @@ func (t *TestBuild) PatchBuild(buildName string, data []byte) (*v1alpha1.Build, // PatchBuildWithPatchType patches an existing Build and allows specifying the patch type func (t *TestBuild) PatchBuildWithPatchType(buildName string, data []byte, pt types.PatchType) (*v1alpha1.Build, error) { bInterface := t.BuildClientSet.ShipwrightV1alpha1().Builds(t.Namespace) - b, err := bInterface.Patch(context.TODO(), buildName, pt, data, metav1.PatchOptions{}) + b, err := bInterface.Patch(t.Context, buildName, pt, data, metav1.PatchOptions{}) if err != nil { return nil, err } @@ -67,7 +67,7 @@ func (t *TestBuild) PatchBuildWithPatchType(buildName string, data []byte, pt ty // it´s registered field. If timeout is reached or an error is found, it will // return with an error func (t *TestBuild) GetBuildTillValidation(name string) (build *v1alpha1.Build, err error) { - err = wait.PollImmediate(t.Interval, t.TimeOut, func() (bool, error) { + err = wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, func(_ context.Context) (bool, error) { build, err = t.LookupBuild(types.NamespacedName{Namespace: t.Namespace, Name: name}) if err != nil && !apierrors.IsNotFound(err) { return false, err @@ -90,11 +90,11 @@ func (t *TestBuild) GetBuildTillValidation(name string) (build *v1alpha1.Build, func (t *TestBuild) GetBuildTillRegistration(name string, condition corev1.ConditionStatus) (*v1alpha1.Build, error) { var ( - pollBuildTillRegistration = func() (bool, error) { + pollBuildTillRegistration = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1alpha1().Builds(t.Namespace) - buildRun, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -109,11 +109,11 @@ func (t *TestBuild) GetBuildTillRegistration(name string, condition corev1.Condi brInterface := t.BuildClientSet.ShipwrightV1alpha1().Builds(t.Namespace) - if err := wait.PollImmediate(t.Interval, t.TimeOut, pollBuildTillRegistration); err != nil { + if err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBuildTillRegistration); err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBuildTillMessageContainsSubstring polls until a Build message contains the desired @@ -122,11 +122,11 @@ func (t *TestBuild) GetBuildTillRegistration(name string, condition corev1.Condi func (t *TestBuild) GetBuildTillMessageContainsSubstring(name string, partOfMessage string) (*v1alpha1.Build, error) { var ( - pollBuildTillMessageContainsSubString = func() (bool, error) { + pollBuildTillMessageContainsSubString = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1alpha1().Builds(t.Namespace) - buildRun, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -141,9 +141,9 @@ func (t *TestBuild) GetBuildTillMessageContainsSubstring(name string, partOfMess brInterface := t.BuildClientSet.ShipwrightV1alpha1().Builds(t.Namespace) - if err := wait.PollImmediate(t.Interval, t.TimeOut, pollBuildTillMessageContainsSubString); err != nil { + if err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBuildTillMessageContainsSubString); err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } diff --git a/test/utils/v1alpha1/buildstrategies.go b/test/utils/v1alpha1/buildstrategies.go index 0c3937675c..978b241968 100644 --- a/test/utils/v1alpha1/buildstrategies.go +++ b/test/utils/v1alpha1/buildstrategies.go @@ -5,8 +5,6 @@ package utils import ( - "context" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" @@ -18,7 +16,7 @@ import ( func (t *TestBuild) CreateBuildStrategy(bs *v1alpha1.BuildStrategy) error { bsInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildStrategies(t.Namespace) - _, err := bsInterface.Create(context.TODO(), bs, metav1.CreateOptions{}) + _, err := bsInterface.Create(t.Context, bs, metav1.CreateOptions{}) if err != nil { return err } @@ -29,5 +27,5 @@ func (t *TestBuild) CreateBuildStrategy(bs *v1alpha1.BuildStrategy) error { func (t *TestBuild) DeleteBuildStrategy(name string) error { bsInterface := t.BuildClientSet.ShipwrightV1alpha1().BuildStrategies(t.Namespace) - return bsInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}) + return bsInterface.Delete(t.Context, name, metav1.DeleteOptions{}) } diff --git a/test/utils/v1alpha1/clusterbuildstrategies.go b/test/utils/v1alpha1/clusterbuildstrategies.go index 75270c875d..0865d7c614 100644 --- a/test/utils/v1alpha1/clusterbuildstrategies.go +++ b/test/utils/v1alpha1/clusterbuildstrategies.go @@ -5,8 +5,6 @@ package utils import ( - "context" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "github.com/shipwright-io/build/pkg/apis/build/v1alpha1" @@ -18,7 +16,7 @@ import ( func (t *TestBuild) CreateClusterBuildStrategy(cbs *v1alpha1.ClusterBuildStrategy) error { cbsInterface := t.BuildClientSet.ShipwrightV1alpha1().ClusterBuildStrategies() - _, err := cbsInterface.Create(context.TODO(), cbs, metav1.CreateOptions{}) + _, err := cbsInterface.Create(t.Context, cbs, metav1.CreateOptions{}) if err != nil { return err } @@ -29,7 +27,7 @@ func (t *TestBuild) CreateClusterBuildStrategy(cbs *v1alpha1.ClusterBuildStrateg func (t *TestBuild) DeleteClusterBuildStrategy(name string) error { cbsInterface := t.BuildClientSet.ShipwrightV1alpha1().ClusterBuildStrategies() - err := cbsInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}) + err := cbsInterface.Delete(t.Context, name, metav1.DeleteOptions{}) if err != nil { return err } diff --git a/test/utils/v1alpha1/configmaps.go b/test/utils/v1alpha1/configmaps.go index 748bbd803b..5f9affad18 100644 --- a/test/utils/v1alpha1/configmaps.go +++ b/test/utils/v1alpha1/configmaps.go @@ -5,8 +5,6 @@ package utils import ( - "context" - corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -16,7 +14,7 @@ import ( // CreateConfigMap generates a ConfigMap on the current test namespace func (t *TestBuild) CreateConfigMap(configMap *corev1.ConfigMap) error { client := t.Clientset.CoreV1().ConfigMaps(t.Namespace) - _, err := client.Create(context.TODO(), configMap, metav1.CreateOptions{}) + _, err := client.Create(t.Context, configMap, metav1.CreateOptions{}) if err != nil { return err } @@ -26,7 +24,7 @@ func (t *TestBuild) CreateConfigMap(configMap *corev1.ConfigMap) error { // DeleteConfigMap removes the desired configMap func (t *TestBuild) DeleteConfigMap(name string) error { client := t.Clientset.CoreV1().ConfigMaps(t.Namespace) - if err := client.Delete(context.TODO(), name, metav1.DeleteOptions{}); err != nil { + if err := client.Delete(t.Context, name, metav1.DeleteOptions{}); err != nil { return err } return nil diff --git a/test/utils/v1alpha1/lookup.go b/test/utils/v1alpha1/lookup.go index 4797303901..094a7b958a 100644 --- a/test/utils/v1alpha1/lookup.go +++ b/test/utils/v1alpha1/lookup.go @@ -5,6 +5,7 @@ package utils import ( + "context" "fmt" "strings" "time" @@ -22,51 +23,51 @@ import ( ) func (t *TestBuild) LookupSecret(entity types.NamespacedName) (*corev1.Secret, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.Clientset. CoreV1(). Secrets(entity.Namespace). - Get(t.Context, entity.Name, metav1.GetOptions{}) + Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*corev1.Secret), err } func (t *TestBuild) LookupPod(entity types.NamespacedName) (*corev1.Pod, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.Clientset. CoreV1(). Pods(entity.Namespace). - Get(t.Context, entity.Name, metav1.GetOptions{}) + Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*corev1.Pod), err } func (t *TestBuild) LookupBuild(entity types.NamespacedName) (*buildv1alpha1.Build, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.BuildClientSet.ShipwrightV1alpha1(). - Builds(entity.Namespace).Get(t.Context, entity.Name, metav1.GetOptions{}) + Builds(entity.Namespace).Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*buildv1alpha1.Build), err } func (t *TestBuild) LookupBuildRun(entity types.NamespacedName) (*buildv1alpha1.BuildRun, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.BuildClientSet.ShipwrightV1alpha1(). - BuildRuns(entity.Namespace).Get(t.Context, entity.Name, metav1.GetOptions{}) + BuildRuns(entity.Namespace).Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*buildv1alpha1.BuildRun), err } func (t *TestBuild) LookupTaskRun(entity types.NamespacedName) (*pipelineapi.TaskRun, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.PipelineClientSet. TektonV1(). TaskRuns(entity.Namespace). - Get(t.Context, entity.Name, metav1.GetOptions{}) + Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*pipelineapi.TaskRun), err @@ -81,11 +82,11 @@ func (t *TestBuild) LookupTaskRunUsingBuildRun(buildRun *buildv1alpha1.BuildRun) return t.LookupTaskRun(types.NamespacedName{Namespace: buildRun.Namespace, Name: *buildRun.Status.LatestTaskRunRef}) } - tmp, err := lookupRuntimeObject(func() (runtime.Object, error) { + tmp, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.PipelineClientSet. TektonV1(). TaskRuns(buildRun.Namespace). - List(t.Context, metav1.ListOptions{ + List(ctx, metav1.ListOptions{ LabelSelector: labels.SelectorFromSet( map[string]string{ buildv1alpha1.LabelBuildRun: buildRun.Name, @@ -111,19 +112,19 @@ func (t *TestBuild) LookupTaskRunUsingBuildRun(buildRun *buildv1alpha1.BuildRun) } func (t *TestBuild) LookupServiceAccount(entity types.NamespacedName) (*corev1.ServiceAccount, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.Clientset. CoreV1(). ServiceAccounts(entity.Namespace). - Get(t.Context, entity.Name, metav1.GetOptions{}) + Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*corev1.ServiceAccount), err } -func lookupRuntimeObject(f func() (runtime.Object, error)) (result runtime.Object, err error) { - err = wait.PollImmediate(4*time.Second, 60*time.Second, func() (bool, error) { - result, err = f() +func (t *TestBuild) lookupRuntimeObject(f func(ctx context.Context) (runtime.Object, error)) (result runtime.Object, err error) { + err = wait.PollUntilContextTimeout(t.Context, 4*time.Second, 60*time.Second, true, func(ctx context.Context) (bool, error) { + result, err = f(ctx) if err != nil { // check if we have an error that we want to retry if isRetryableError(err) { diff --git a/test/utils/v1alpha1/namespaces.go b/test/utils/v1alpha1/namespaces.go index e5ad5bf002..7783eeed0c 100644 --- a/test/utils/v1alpha1/namespaces.go +++ b/test/utils/v1alpha1/namespaces.go @@ -24,17 +24,17 @@ func (t *TestBuild) CreateNamespace() error { Name: t.Namespace, }, } - _, err := client.Create(context.TODO(), ns, metav1.CreateOptions{}) + _, err := client.Create(t.Context, ns, metav1.CreateOptions{}) if err != nil { return err } // wait for the default service account to exist - pollServiceAccount := func() (bool, error) { + pollServiceAccount := func(ctx context.Context) (bool, error) { serviceAccountInterface := t.Clientset.CoreV1().ServiceAccounts(t.Namespace) - _, err := serviceAccountInterface.Get(context.TODO(), "default", metav1.GetOptions{}) + _, err := serviceAccountInterface.Get(ctx, "default", metav1.GetOptions{}) if err != nil { if !apierrors.IsNotFound(err) { return false, err @@ -45,14 +45,14 @@ func (t *TestBuild) CreateNamespace() error { return true, nil } - return wait.PollImmediate(t.Interval, t.TimeOut, pollServiceAccount) + return wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollServiceAccount) } // DeleteNamespace deletes the namespace with the current test name func (t *TestBuild) DeleteNamespace() error { client := t.Clientset.CoreV1().Namespaces() - if err := client.Delete(context.TODO(), t.Namespace, metav1.DeleteOptions{}); err != nil { + if err := client.Delete(t.Context, t.Namespace, metav1.DeleteOptions{}); err != nil { if apierrors.IsNotFound(err) { return nil } @@ -60,14 +60,14 @@ func (t *TestBuild) DeleteNamespace() error { } // wait for the namespace to be deleted - pollNamespace := func() (bool, error) { + pollNamespace := func(ctx context.Context) (bool, error) { - if _, err := client.Get(context.TODO(), t.Namespace, metav1.GetOptions{}); err != nil && apierrors.IsNotFound(err) { + if _, err := client.Get(ctx, t.Namespace, metav1.GetOptions{}); err != nil && apierrors.IsNotFound(err) { return true, nil } return false, nil } - return wait.PollImmediate(t.Interval, 5*time.Second, pollNamespace) + return wait.PollUntilContextTimeout(t.Context, t.Interval, 5*time.Second, true, pollNamespace) } diff --git a/test/utils/v1alpha1/secrets.go b/test/utils/v1alpha1/secrets.go index 9bd8016b95..ba620e9549 100644 --- a/test/utils/v1alpha1/secrets.go +++ b/test/utils/v1alpha1/secrets.go @@ -5,8 +5,6 @@ package utils import ( - "context" - corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" @@ -17,7 +15,7 @@ import ( // CreateSecret generates a Secret on the current test namespace func (t *TestBuild) CreateSecret(secret *corev1.Secret) error { client := t.Clientset.CoreV1().Secrets(t.Namespace) - _, err := client.Create(context.TODO(), secret, metav1.CreateOptions{}) + _, err := client.Create(t.Context, secret, metav1.CreateOptions{}) if err != nil { return err } @@ -27,7 +25,7 @@ func (t *TestBuild) CreateSecret(secret *corev1.Secret) error { // DeleteSecret removes the desired secret func (t *TestBuild) DeleteSecret(name string) error { client := t.Clientset.CoreV1().Secrets(t.Namespace) - if err := client.Delete(context.TODO(), name, metav1.DeleteOptions{}); err != nil { + if err := client.Delete(t.Context, name, metav1.DeleteOptions{}); err != nil { return err } return nil @@ -42,7 +40,7 @@ func (t *TestBuild) PatchSecret(name string, data []byte) (*corev1.Secret, error // PatchSecretWithPatchType patches a secret with a desire data and patch strategy func (t *TestBuild) PatchSecretWithPatchType(name string, data []byte, pt types.PatchType) (*corev1.Secret, error) { secInterface := t.Clientset.CoreV1().Secrets(t.Namespace) - b, err := secInterface.Patch(context.TODO(), name, pt, data, metav1.PatchOptions{}) + b, err := secInterface.Patch(t.Context, name, pt, data, metav1.PatchOptions{}) if err != nil { return nil, err } diff --git a/test/utils/v1alpha1/service_accounts.go b/test/utils/v1alpha1/service_accounts.go index 27de19f5ed..4e92695fe0 100644 --- a/test/utils/v1alpha1/service_accounts.go +++ b/test/utils/v1alpha1/service_accounts.go @@ -5,8 +5,6 @@ package utils import ( - "context" - corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -17,7 +15,7 @@ import ( // CreateSAFromName creates a simple ServiceAccount with the provided name if it does not exist. func (t *TestBuild) CreateSAFromName(saName string) error { client := t.Clientset.CoreV1().ServiceAccounts(t.Namespace) - _, err := client.Get(context.TODO(), saName, metav1.GetOptions{}) + _, err := client.Get(t.Context, saName, metav1.GetOptions{}) // If the service account already exists, no error is returned if err == nil { return nil @@ -25,7 +23,7 @@ func (t *TestBuild) CreateSAFromName(saName string) error { if !apierrors.IsNotFound(err) { return err } - _, err = client.Create(context.TODO(), &corev1.ServiceAccount{ + _, err = client.Create(t.Context, &corev1.ServiceAccount{ ObjectMeta: metav1.ObjectMeta{ Name: saName, }}, metav1.CreateOptions{}) @@ -36,7 +34,7 @@ func (t *TestBuild) CreateSAFromName(saName string) error { // Deprecated: Use LookupServiceAccount instead. func (t *TestBuild) GetSA(saName string) (*corev1.ServiceAccount, error) { client := t.Clientset.CoreV1().ServiceAccounts(t.Namespace) - sa, err := client.Get(context.TODO(), saName, metav1.GetOptions{}) + sa, err := client.Get(t.Context, saName, metav1.GetOptions{}) if err != nil { return nil, err } diff --git a/test/utils/v1alpha1/taskruns.go b/test/utils/v1alpha1/taskruns.go index c8ae31121b..fad231e57f 100644 --- a/test/utils/v1alpha1/taskruns.go +++ b/test/utils/v1alpha1/taskruns.go @@ -26,7 +26,7 @@ func (t *TestBuild) GetTaskRunFromBuildRun(buildRunName string) (*pipelineapi.Ta trInterface := t.PipelineClientSet.TektonV1().TaskRuns(t.Namespace) - trList, err := trInterface.List(context.TODO(), metav1.ListOptions{ + trList, err := trInterface.List(t.Context, metav1.ListOptions{ LabelSelector: taskRunLabelSelector, }) if err != nil { @@ -55,7 +55,7 @@ func (t *TestBuild) UpdateTaskRun(name string, apply func(tr *pipelineapi.TaskRu apply(tr) - tr, err = t.PipelineClientSet.TektonV1().TaskRuns(t.Namespace).Update(context.TODO(), tr, metav1.UpdateOptions{}) + tr, err = t.PipelineClientSet.TektonV1().TaskRuns(t.Namespace).Update(t.Context, tr, metav1.UpdateOptions{}) if err == nil { return tr, nil } @@ -87,7 +87,7 @@ func (t *TestBuild) GetTRReason(buildRunName string) (string, error) { // GetTRTillDesiredReason polls until a TaskRun matches a desired Reason // or it exits if an error happen or a timeout is reach. func (t *TestBuild) GetTRTillDesiredReason(buildRunName string, reason string) (trReason string, err error) { - err = wait.PollImmediate(t.Interval, t.TimeOut, func() (bool, error) { + err = wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, func(_ context.Context) (bool, error) { trReason, err = t.GetTRReason(buildRunName) if err != nil { return false, err @@ -107,7 +107,7 @@ func (t *TestBuild) GetTRTillDesiredReason(buildRunName string, reason string) ( func (t *TestBuild) DeleteTR(name string) error { trInterface := t.PipelineClientSet.TektonV1().TaskRuns(t.Namespace) - if err := trInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}); err != nil { + if err := trInterface.Delete(t.Context, name, metav1.DeleteOptions{}); err != nil { return err } diff --git a/test/utils/v1beta1/buildruns.go b/test/utils/v1beta1/buildruns.go index 2bb4c5d059..ed6e251dda 100644 --- a/test/utils/v1beta1/buildruns.go +++ b/test/utils/v1beta1/buildruns.go @@ -24,7 +24,7 @@ import ( func (t *TestBuild) CreateBR(buildRun *v1beta1.BuildRun) error { brInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - _, err := brInterface.Create(context.TODO(), buildRun, metav1.CreateOptions{}) + _, err := brInterface.Create(t.Context, buildRun, metav1.CreateOptions{}) if err != nil { return err } @@ -34,7 +34,7 @@ func (t *TestBuild) CreateBR(buildRun *v1beta1.BuildRun) error { // UpdateBR updates a BuildRun on the current test namespace func (t *TestBuild) UpdateBR(buildRun *v1beta1.BuildRun) error { brInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - _, err := brInterface.Update(context.TODO(), buildRun, metav1.UpdateOptions{}) + _, err := brInterface.Update(t.Context, buildRun, metav1.UpdateOptions{}) if err != nil { return err } @@ -46,7 +46,7 @@ func (t *TestBuild) UpdateBR(buildRun *v1beta1.BuildRun) error { func (t *TestBuild) GetBR(name string) (*v1beta1.BuildRun, error) { brInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - br, err := brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + br, err := brInterface.Get(t.Context, name, metav1.GetOptions{}) if err != nil { return nil, err } @@ -57,7 +57,7 @@ func (t *TestBuild) GetBR(name string) (*v1beta1.BuildRun, error) { func (t *TestBuild) DeleteBR(name string) error { brInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - if err := brInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}); err != nil { + if err := brInterface.Delete(t.Context, name, metav1.DeleteOptions{}); err != nil { return err } @@ -83,11 +83,11 @@ func (t *TestBuild) GetBRReason(name string) (string, error) { func (t *TestBuild) GetBRTillCompletion(name string) (*v1beta1.BuildRun, error) { var ( - pollBRTillCompletion = func() (bool, error) { + pollBRTillCompletion = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - buildRun, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -101,22 +101,22 @@ func (t *TestBuild) GetBRTillCompletion(name string) (*v1beta1.BuildRun, error) brInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillCompletion) + err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillCompletion) if err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillNotFound waits for the buildrun to get deleted. It returns an error if BuildRun is not found func (t *TestBuild) GetBRTillNotFound(name string, interval time.Duration, timeout time.Duration) (*v1beta1.BuildRun, error) { var ( - GetBRTillNotFound = func() (bool, error) { + GetBRTillNotFound = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - _, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + _, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && apierrors.IsNotFound(err) { return true, err } @@ -126,12 +126,12 @@ func (t *TestBuild) GetBRTillNotFound(name string, interval time.Duration, timeo brInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - err := wait.PollImmediate(interval, timeout, GetBRTillNotFound) + err := wait.PollUntilContextTimeout(t.Context, interval, timeout, true, GetBRTillNotFound) if err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillNotOwner returns a BuildRun that has not an owner. @@ -142,9 +142,9 @@ func (t *TestBuild) GetBRTillNotOwner(name string, owner string) (*v1beta1.Build brInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) var ( - pollBRTillNotOwner = func() (bool, error) { + pollBRTillNotOwner = func(ctx context.Context) (bool, error) { - buildRun, err := brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := brInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -159,11 +159,11 @@ func (t *TestBuild) GetBRTillNotOwner(name string, owner string) (*v1beta1.Build } ) - if err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillNotOwner); err != nil { + if err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillNotOwner); err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillOwner returns a BuildRun that has an owner. @@ -174,9 +174,9 @@ func (t *TestBuild) GetBRTillOwner(name string, owner string) (*v1beta1.BuildRun brInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) var ( - pollBRTillOwner = func() (bool, error) { + pollBRTillOwner = func(ctx context.Context) (bool, error) { - buildRun, err := brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := brInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -191,11 +191,11 @@ func (t *TestBuild) GetBRTillOwner(name string, owner string) (*v1beta1.BuildRun } ) - if err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillOwner); err != nil { + if err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillOwner); err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillStartTime returns a BuildRun that have a StartTime set. @@ -204,11 +204,11 @@ func (t *TestBuild) GetBRTillOwner(name string, owner string) (*v1beta1.BuildRun func (t *TestBuild) GetBRTillStartTime(name string) (*v1beta1.BuildRun, error) { var ( - pollBRTillCompletion = func() (bool, error) { + pollBRTillCompletion = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - buildRun, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -231,18 +231,18 @@ func (t *TestBuild) GetBRTillStartTime(name string) (*v1beta1.BuildRun, error) { brInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillCompletion) + err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillCompletion) if err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBRTillDesiredReason polls until a BuildRun gets a particular Reason // it exit if an error happens or the timeout is reached func (t *TestBuild) GetBRTillDesiredReason(buildRunname string, reason string) (currentReason string, err error) { - err = wait.PollImmediate(t.Interval, t.TimeOut, func() (bool, error) { + err = wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, func(_ context.Context) (bool, error) { currentReason, err = t.GetBRReason(buildRunname) if err != nil { return false, err @@ -262,11 +262,11 @@ func (t *TestBuild) GetBRTillDesiredReason(buildRunname string, reason string) ( func (t *TestBuild) GetBRTillDeletion(name string) (bool, error) { var ( - pollBRTillCompletion = func() (bool, error) { + pollBRTillCompletion = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1beta1().BuildRuns(t.Namespace) - _, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + _, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if apierrors.IsNotFound(err) { return true, nil } @@ -274,7 +274,7 @@ func (t *TestBuild) GetBRTillDeletion(name string) (bool, error) { } ) - err := wait.PollImmediate(t.Interval, t.TimeOut, pollBRTillCompletion) + err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBRTillCompletion) if err != nil { return false, err } diff --git a/test/utils/v1beta1/builds.go b/test/utils/v1beta1/builds.go index a3809b6c6d..8e1f786902 100644 --- a/test/utils/v1beta1/builds.go +++ b/test/utils/v1beta1/builds.go @@ -23,14 +23,14 @@ import ( func (t *TestBuild) CreateBuild(build *v1beta1.Build) error { bInterface := t.BuildClientSet.ShipwrightV1beta1().Builds(t.Namespace) - _, err := bInterface.Create(context.TODO(), build, metav1.CreateOptions{}) + _, err := bInterface.Create(t.Context, build, metav1.CreateOptions{}) return err } // UpdateBR updates a BuildRun on the current test namespace func (t *TestBuild) UpdateBuild(build *v1beta1.Build) error { brInterface := t.BuildClientSet.ShipwrightV1beta1().Builds(t.Namespace) - _, err := brInterface.Update(context.TODO(), build, metav1.UpdateOptions{}) + _, err := brInterface.Update(t.Context, build, metav1.UpdateOptions{}) if err != nil { return err } @@ -41,7 +41,7 @@ func (t *TestBuild) UpdateBuild(build *v1beta1.Build) error { func (t *TestBuild) DeleteBuild(name string) error { bInterface := t.BuildClientSet.ShipwrightV1beta1().Builds(t.Namespace) - err := bInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}) + err := bInterface.Delete(t.Context, name, metav1.DeleteOptions{}) return err } @@ -50,7 +50,7 @@ func (t *TestBuild) DeleteBuild(name string) error { // Deprecated: Use LookupBuild instead func (t *TestBuild) GetBuild(name string) (*v1beta1.Build, error) { return t.BuildClientSet.ShipwrightV1beta1(). - Builds(t.Namespace).Get(context.TODO(), name, metav1.GetOptions{}) + Builds(t.Namespace).Get(t.Context, name, metav1.GetOptions{}) } // ListBuilds returns existing Builds from the desired namespace @@ -66,7 +66,7 @@ func (t *TestBuild) PatchBuild(buildName string, data []byte) (*v1beta1.Build, e // PatchBuildWithPatchType patches an existing Build and allows specifying the patch type func (t *TestBuild) PatchBuildWithPatchType(buildName string, data []byte, pt types.PatchType) (*v1beta1.Build, error) { bInterface := t.BuildClientSet.ShipwrightV1beta1().Builds(t.Namespace) - b, err := bInterface.Patch(context.TODO(), buildName, pt, data, metav1.PatchOptions{}) + b, err := bInterface.Patch(t.Context, buildName, pt, data, metav1.PatchOptions{}) if err != nil { return nil, err } @@ -77,7 +77,7 @@ func (t *TestBuild) PatchBuildWithPatchType(buildName string, data []byte, pt ty // it´s registered field. If timeout is reached or an error is found, it will // return with an error func (t *TestBuild) GetBuildTillValidation(name string) (build *v1beta1.Build, err error) { - err = wait.PollImmediate(t.Interval, t.TimeOut, func() (bool, error) { + err = wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, func(_ context.Context) (bool, error) { build, err = t.LookupBuild(types.NamespacedName{Namespace: t.Namespace, Name: name}) if err != nil && !apierrors.IsNotFound(err) { return false, err @@ -100,11 +100,11 @@ func (t *TestBuild) GetBuildTillValidation(name string) (build *v1beta1.Build, e func (t *TestBuild) GetBuildTillRegistration(name string, condition corev1.ConditionStatus) (*v1beta1.Build, error) { var ( - pollBuildTillRegistration = func() (bool, error) { + pollBuildTillRegistration = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1beta1().Builds(t.Namespace) - buildRun, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -119,11 +119,11 @@ func (t *TestBuild) GetBuildTillRegistration(name string, condition corev1.Condi brInterface := t.BuildClientSet.ShipwrightV1beta1().Builds(t.Namespace) - if err := wait.PollImmediate(t.Interval, t.TimeOut, pollBuildTillRegistration); err != nil { + if err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBuildTillRegistration); err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } // GetBuildTillMessageContainsSubstring polls until a Build message contains the desired @@ -132,11 +132,11 @@ func (t *TestBuild) GetBuildTillRegistration(name string, condition corev1.Condi func (t *TestBuild) GetBuildTillMessageContainsSubstring(name string, partOfMessage string) (*v1beta1.Build, error) { var ( - pollBuildTillMessageContainsSubString = func() (bool, error) { + pollBuildTillMessageContainsSubString = func(ctx context.Context) (bool, error) { bInterface := t.BuildClientSet.ShipwrightV1beta1().Builds(t.Namespace) - buildRun, err := bInterface.Get(context.TODO(), name, metav1.GetOptions{}) + buildRun, err := bInterface.Get(ctx, name, metav1.GetOptions{}) if err != nil && !apierrors.IsNotFound(err) { return false, err } @@ -151,9 +151,9 @@ func (t *TestBuild) GetBuildTillMessageContainsSubstring(name string, partOfMess brInterface := t.BuildClientSet.ShipwrightV1beta1().Builds(t.Namespace) - if err := wait.PollImmediate(t.Interval, t.TimeOut, pollBuildTillMessageContainsSubString); err != nil { + if err := wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollBuildTillMessageContainsSubString); err != nil { return nil, err } - return brInterface.Get(context.TODO(), name, metav1.GetOptions{}) + return brInterface.Get(t.Context, name, metav1.GetOptions{}) } diff --git a/test/utils/v1beta1/buildstrategies.go b/test/utils/v1beta1/buildstrategies.go index 1c480bc97b..151ed18ce9 100644 --- a/test/utils/v1beta1/buildstrategies.go +++ b/test/utils/v1beta1/buildstrategies.go @@ -5,8 +5,6 @@ package utils import ( - "context" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "github.com/shipwright-io/build/pkg/apis/build/v1beta1" @@ -18,7 +16,7 @@ import ( func (t *TestBuild) CreateBuildStrategy(bs *v1beta1.BuildStrategy) error { bsInterface := t.BuildClientSet.ShipwrightV1beta1().BuildStrategies(t.Namespace) - _, err := bsInterface.Create(context.TODO(), bs, metav1.CreateOptions{}) + _, err := bsInterface.Create(t.Context, bs, metav1.CreateOptions{}) if err != nil { return err } @@ -29,5 +27,5 @@ func (t *TestBuild) CreateBuildStrategy(bs *v1beta1.BuildStrategy) error { func (t *TestBuild) DeleteBuildStrategy(name string) error { bsInterface := t.BuildClientSet.ShipwrightV1beta1().BuildStrategies(t.Namespace) - return bsInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}) + return bsInterface.Delete(t.Context, name, metav1.DeleteOptions{}) } diff --git a/test/utils/v1beta1/clusterbuildstrategies.go b/test/utils/v1beta1/clusterbuildstrategies.go index bf8ffbc293..0562277026 100644 --- a/test/utils/v1beta1/clusterbuildstrategies.go +++ b/test/utils/v1beta1/clusterbuildstrategies.go @@ -5,8 +5,6 @@ package utils import ( - "context" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "github.com/shipwright-io/build/pkg/apis/build/v1beta1" @@ -18,7 +16,7 @@ import ( func (t *TestBuild) CreateClusterBuildStrategy(cbs *v1beta1.ClusterBuildStrategy) error { cbsInterface := t.BuildClientSet.ShipwrightV1beta1().ClusterBuildStrategies() - _, err := cbsInterface.Create(context.TODO(), cbs, metav1.CreateOptions{}) + _, err := cbsInterface.Create(t.Context, cbs, metav1.CreateOptions{}) if err != nil { return err } @@ -29,7 +27,7 @@ func (t *TestBuild) CreateClusterBuildStrategy(cbs *v1beta1.ClusterBuildStrategy func (t *TestBuild) DeleteClusterBuildStrategy(name string) error { cbsInterface := t.BuildClientSet.ShipwrightV1beta1().ClusterBuildStrategies() - err := cbsInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}) + err := cbsInterface.Delete(t.Context, name, metav1.DeleteOptions{}) if err != nil { return err } diff --git a/test/utils/v1beta1/configmaps.go b/test/utils/v1beta1/configmaps.go index 748bbd803b..5f9affad18 100644 --- a/test/utils/v1beta1/configmaps.go +++ b/test/utils/v1beta1/configmaps.go @@ -5,8 +5,6 @@ package utils import ( - "context" - corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -16,7 +14,7 @@ import ( // CreateConfigMap generates a ConfigMap on the current test namespace func (t *TestBuild) CreateConfigMap(configMap *corev1.ConfigMap) error { client := t.Clientset.CoreV1().ConfigMaps(t.Namespace) - _, err := client.Create(context.TODO(), configMap, metav1.CreateOptions{}) + _, err := client.Create(t.Context, configMap, metav1.CreateOptions{}) if err != nil { return err } @@ -26,7 +24,7 @@ func (t *TestBuild) CreateConfigMap(configMap *corev1.ConfigMap) error { // DeleteConfigMap removes the desired configMap func (t *TestBuild) DeleteConfigMap(name string) error { client := t.Clientset.CoreV1().ConfigMaps(t.Namespace) - if err := client.Delete(context.TODO(), name, metav1.DeleteOptions{}); err != nil { + if err := client.Delete(t.Context, name, metav1.DeleteOptions{}); err != nil { return err } return nil diff --git a/test/utils/v1beta1/lookup.go b/test/utils/v1beta1/lookup.go index 4c0ccf32d1..067368dd3b 100644 --- a/test/utils/v1beta1/lookup.go +++ b/test/utils/v1beta1/lookup.go @@ -5,6 +5,7 @@ package utils import ( + "context" "fmt" "strings" "time" @@ -22,51 +23,51 @@ import ( ) func (t *TestBuild) LookupSecret(entity types.NamespacedName) (*corev1.Secret, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.Clientset. CoreV1(). Secrets(entity.Namespace). - Get(t.Context, entity.Name, metav1.GetOptions{}) + Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*corev1.Secret), err } func (t *TestBuild) LookupPod(entity types.NamespacedName) (*corev1.Pod, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.Clientset. CoreV1(). Pods(entity.Namespace). - Get(t.Context, entity.Name, metav1.GetOptions{}) + Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*corev1.Pod), err } func (t *TestBuild) LookupBuild(entity types.NamespacedName) (*buildv1beta1.Build, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.BuildClientSet.ShipwrightV1beta1(). - Builds(entity.Namespace).Get(t.Context, entity.Name, metav1.GetOptions{}) + Builds(entity.Namespace).Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*buildv1beta1.Build), err } func (t *TestBuild) LookupBuildRun(entity types.NamespacedName) (*buildv1beta1.BuildRun, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.BuildClientSet.ShipwrightV1beta1(). - BuildRuns(entity.Namespace).Get(t.Context, entity.Name, metav1.GetOptions{}) + BuildRuns(entity.Namespace).Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*buildv1beta1.BuildRun), err } func (t *TestBuild) LookupTaskRun(entity types.NamespacedName) (*pipelineapi.TaskRun, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.PipelineClientSet. TektonV1(). TaskRuns(entity.Namespace). - Get(t.Context, entity.Name, metav1.GetOptions{}) + Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*pipelineapi.TaskRun), err @@ -81,11 +82,11 @@ func (t *TestBuild) LookupTaskRunUsingBuildRun(buildRun *buildv1beta1.BuildRun) return t.LookupTaskRun(types.NamespacedName{Namespace: buildRun.Namespace, Name: *buildRun.Status.TaskRunName}) } - tmp, err := lookupRuntimeObject(func() (runtime.Object, error) { + tmp, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.PipelineClientSet. TektonV1(). TaskRuns(buildRun.Namespace). - List(t.Context, metav1.ListOptions{ + List(ctx, metav1.ListOptions{ LabelSelector: labels.SelectorFromSet( map[string]string{ buildv1beta1.LabelBuildRun: buildRun.Name, @@ -111,19 +112,19 @@ func (t *TestBuild) LookupTaskRunUsingBuildRun(buildRun *buildv1beta1.BuildRun) } func (t *TestBuild) LookupServiceAccount(entity types.NamespacedName) (*corev1.ServiceAccount, error) { - result, err := lookupRuntimeObject(func() (runtime.Object, error) { + result, err := t.lookupRuntimeObject(func(ctx context.Context) (runtime.Object, error) { return t.Clientset. CoreV1(). ServiceAccounts(entity.Namespace). - Get(t.Context, entity.Name, metav1.GetOptions{}) + Get(ctx, entity.Name, metav1.GetOptions{}) }) return result.(*corev1.ServiceAccount), err } -func lookupRuntimeObject(f func() (runtime.Object, error)) (result runtime.Object, err error) { - err = wait.PollImmediate(4*time.Second, 60*time.Second, func() (bool, error) { - result, err = f() +func (t *TestBuild) lookupRuntimeObject(f func(ctx context.Context) (runtime.Object, error)) (result runtime.Object, err error) { + err = wait.PollUntilContextTimeout(t.Context, 4*time.Second, 60*time.Second, true, func(ctx context.Context) (bool, error) { + result, err = f(ctx) if err != nil { // check if we have an error that we want to retry if isRetryableError(err) { diff --git a/test/utils/v1beta1/namespaces.go b/test/utils/v1beta1/namespaces.go index e5ad5bf002..7783eeed0c 100644 --- a/test/utils/v1beta1/namespaces.go +++ b/test/utils/v1beta1/namespaces.go @@ -24,17 +24,17 @@ func (t *TestBuild) CreateNamespace() error { Name: t.Namespace, }, } - _, err := client.Create(context.TODO(), ns, metav1.CreateOptions{}) + _, err := client.Create(t.Context, ns, metav1.CreateOptions{}) if err != nil { return err } // wait for the default service account to exist - pollServiceAccount := func() (bool, error) { + pollServiceAccount := func(ctx context.Context) (bool, error) { serviceAccountInterface := t.Clientset.CoreV1().ServiceAccounts(t.Namespace) - _, err := serviceAccountInterface.Get(context.TODO(), "default", metav1.GetOptions{}) + _, err := serviceAccountInterface.Get(ctx, "default", metav1.GetOptions{}) if err != nil { if !apierrors.IsNotFound(err) { return false, err @@ -45,14 +45,14 @@ func (t *TestBuild) CreateNamespace() error { return true, nil } - return wait.PollImmediate(t.Interval, t.TimeOut, pollServiceAccount) + return wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, pollServiceAccount) } // DeleteNamespace deletes the namespace with the current test name func (t *TestBuild) DeleteNamespace() error { client := t.Clientset.CoreV1().Namespaces() - if err := client.Delete(context.TODO(), t.Namespace, metav1.DeleteOptions{}); err != nil { + if err := client.Delete(t.Context, t.Namespace, metav1.DeleteOptions{}); err != nil { if apierrors.IsNotFound(err) { return nil } @@ -60,14 +60,14 @@ func (t *TestBuild) DeleteNamespace() error { } // wait for the namespace to be deleted - pollNamespace := func() (bool, error) { + pollNamespace := func(ctx context.Context) (bool, error) { - if _, err := client.Get(context.TODO(), t.Namespace, metav1.GetOptions{}); err != nil && apierrors.IsNotFound(err) { + if _, err := client.Get(ctx, t.Namespace, metav1.GetOptions{}); err != nil && apierrors.IsNotFound(err) { return true, nil } return false, nil } - return wait.PollImmediate(t.Interval, 5*time.Second, pollNamespace) + return wait.PollUntilContextTimeout(t.Context, t.Interval, 5*time.Second, true, pollNamespace) } diff --git a/test/utils/v1beta1/secrets.go b/test/utils/v1beta1/secrets.go index 9bd8016b95..ba620e9549 100644 --- a/test/utils/v1beta1/secrets.go +++ b/test/utils/v1beta1/secrets.go @@ -5,8 +5,6 @@ package utils import ( - "context" - corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" @@ -17,7 +15,7 @@ import ( // CreateSecret generates a Secret on the current test namespace func (t *TestBuild) CreateSecret(secret *corev1.Secret) error { client := t.Clientset.CoreV1().Secrets(t.Namespace) - _, err := client.Create(context.TODO(), secret, metav1.CreateOptions{}) + _, err := client.Create(t.Context, secret, metav1.CreateOptions{}) if err != nil { return err } @@ -27,7 +25,7 @@ func (t *TestBuild) CreateSecret(secret *corev1.Secret) error { // DeleteSecret removes the desired secret func (t *TestBuild) DeleteSecret(name string) error { client := t.Clientset.CoreV1().Secrets(t.Namespace) - if err := client.Delete(context.TODO(), name, metav1.DeleteOptions{}); err != nil { + if err := client.Delete(t.Context, name, metav1.DeleteOptions{}); err != nil { return err } return nil @@ -42,7 +40,7 @@ func (t *TestBuild) PatchSecret(name string, data []byte) (*corev1.Secret, error // PatchSecretWithPatchType patches a secret with a desire data and patch strategy func (t *TestBuild) PatchSecretWithPatchType(name string, data []byte, pt types.PatchType) (*corev1.Secret, error) { secInterface := t.Clientset.CoreV1().Secrets(t.Namespace) - b, err := secInterface.Patch(context.TODO(), name, pt, data, metav1.PatchOptions{}) + b, err := secInterface.Patch(t.Context, name, pt, data, metav1.PatchOptions{}) if err != nil { return nil, err } diff --git a/test/utils/v1beta1/service_accounts.go b/test/utils/v1beta1/service_accounts.go index 27de19f5ed..4e92695fe0 100644 --- a/test/utils/v1beta1/service_accounts.go +++ b/test/utils/v1beta1/service_accounts.go @@ -5,8 +5,6 @@ package utils import ( - "context" - corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -17,7 +15,7 @@ import ( // CreateSAFromName creates a simple ServiceAccount with the provided name if it does not exist. func (t *TestBuild) CreateSAFromName(saName string) error { client := t.Clientset.CoreV1().ServiceAccounts(t.Namespace) - _, err := client.Get(context.TODO(), saName, metav1.GetOptions{}) + _, err := client.Get(t.Context, saName, metav1.GetOptions{}) // If the service account already exists, no error is returned if err == nil { return nil @@ -25,7 +23,7 @@ func (t *TestBuild) CreateSAFromName(saName string) error { if !apierrors.IsNotFound(err) { return err } - _, err = client.Create(context.TODO(), &corev1.ServiceAccount{ + _, err = client.Create(t.Context, &corev1.ServiceAccount{ ObjectMeta: metav1.ObjectMeta{ Name: saName, }}, metav1.CreateOptions{}) @@ -36,7 +34,7 @@ func (t *TestBuild) CreateSAFromName(saName string) error { // Deprecated: Use LookupServiceAccount instead. func (t *TestBuild) GetSA(saName string) (*corev1.ServiceAccount, error) { client := t.Clientset.CoreV1().ServiceAccounts(t.Namespace) - sa, err := client.Get(context.TODO(), saName, metav1.GetOptions{}) + sa, err := client.Get(t.Context, saName, metav1.GetOptions{}) if err != nil { return nil, err } diff --git a/test/utils/v1beta1/taskruns.go b/test/utils/v1beta1/taskruns.go index c8ae31121b..fad231e57f 100644 --- a/test/utils/v1beta1/taskruns.go +++ b/test/utils/v1beta1/taskruns.go @@ -26,7 +26,7 @@ func (t *TestBuild) GetTaskRunFromBuildRun(buildRunName string) (*pipelineapi.Ta trInterface := t.PipelineClientSet.TektonV1().TaskRuns(t.Namespace) - trList, err := trInterface.List(context.TODO(), metav1.ListOptions{ + trList, err := trInterface.List(t.Context, metav1.ListOptions{ LabelSelector: taskRunLabelSelector, }) if err != nil { @@ -55,7 +55,7 @@ func (t *TestBuild) UpdateTaskRun(name string, apply func(tr *pipelineapi.TaskRu apply(tr) - tr, err = t.PipelineClientSet.TektonV1().TaskRuns(t.Namespace).Update(context.TODO(), tr, metav1.UpdateOptions{}) + tr, err = t.PipelineClientSet.TektonV1().TaskRuns(t.Namespace).Update(t.Context, tr, metav1.UpdateOptions{}) if err == nil { return tr, nil } @@ -87,7 +87,7 @@ func (t *TestBuild) GetTRReason(buildRunName string) (string, error) { // GetTRTillDesiredReason polls until a TaskRun matches a desired Reason // or it exits if an error happen or a timeout is reach. func (t *TestBuild) GetTRTillDesiredReason(buildRunName string, reason string) (trReason string, err error) { - err = wait.PollImmediate(t.Interval, t.TimeOut, func() (bool, error) { + err = wait.PollUntilContextTimeout(t.Context, t.Interval, t.TimeOut, true, func(_ context.Context) (bool, error) { trReason, err = t.GetTRReason(buildRunName) if err != nil { return false, err @@ -107,7 +107,7 @@ func (t *TestBuild) GetTRTillDesiredReason(buildRunName string, reason string) ( func (t *TestBuild) DeleteTR(name string) error { trInterface := t.PipelineClientSet.TektonV1().TaskRuns(t.Namespace) - if err := trInterface.Delete(context.TODO(), name, metav1.DeleteOptions{}); err != nil { + if err := trInterface.Delete(t.Context, name, metav1.DeleteOptions{}); err != nil { return err }