diff --git a/go.mod b/go.mod index 08937eda8..8b1484c03 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,6 @@ require ( github.com/briandowns/spinner v1.11.1 github.com/coreos/prometheus-operator v0.41.1 github.com/crossplane/crossplane-runtime v0.10.0 - github.com/crossplane/oam-kubernetes-runtime v0.3.3-0.20201112082656-22b7738dcdf3 github.com/davecgh/go-spew v1.1.1 github.com/fatih/color v1.9.0 github.com/gertd/go-pluralize v0.1.7 diff --git a/go.sum b/go.sum index 082fbbe90..895a5354b 100644 --- a/go.sum +++ b/go.sum @@ -112,8 +112,6 @@ github.com/Azure/go-autorest v12.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSW github.com/Azure/go-autorest/autorest v0.1.0/go.mod h1:AKyIcETwSUFxIcs/Wnq/C+kwCtlEYGUVd7FPNb2slmg= github.com/Azure/go-autorest/autorest v0.2.0/go.mod h1:AKyIcETwSUFxIcs/Wnq/C+kwCtlEYGUVd7FPNb2slmg= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.2 h1:6AWuh3uWrsZJcNoCHrCF/+g4aKPCU39kaMO6/qrnK/4= -github.com/Azure/go-autorest/autorest v0.9.2/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= github.com/Azure/go-autorest/autorest v0.9.3-0.20191028180845-3492b2aff503/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0= github.com/Azure/go-autorest/autorest v0.9.6/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= @@ -417,8 +415,6 @@ github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/crossplane/crossplane-runtime v0.10.0 h1:H8YvMcrm1uzZYpwU/BpxjRQfceVulxgYJMx4rmX38Hg= github.com/crossplane/crossplane-runtime v0.10.0/go.mod h1:cJl5ZZONisre4v6wTmbrC8Jh3AI+erq/lNaxZzv9tnU= -github.com/crossplane/oam-kubernetes-runtime v0.3.3-0.20201112082656-22b7738dcdf3 h1:0AMLxvQoU14r3qTvGZ8olSwvBq7McL1ZGdiHAQ7L8M8= -github.com/crossplane/oam-kubernetes-runtime v0.3.3-0.20201112082656-22b7738dcdf3/go.mod h1:K4/F1XOPBvmW/PaRSPL3wNA4kCrFGUQC7WkBYcwIGx8= github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/daixiang0/gci v0.0.0-20200727065011-66f1df783cb2/go.mod h1:+AV8KmHTGxxwp/pY84TLQfFKp2vuKXXJVzF3kD/hfR4= @@ -2194,8 +2190,6 @@ golang.org/x/tools v0.0.0-20200612220849-54c614fe050c/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200626171337-aa94e735be7f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200630223951-c138986dd9b9 h1:CrrjeBLnUL9WPTAjIqIPdfEAAs5XNY+8A4/CNxRqmbI= -golang.org/x/tools v0.0.0-20200630223951-c138986dd9b9/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200701000337-a32c0cb1d5b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200701041122-1837592efa10/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200709181711-e327e1019dfe/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -2490,7 +2484,6 @@ k8s.io/api v0.18.0/go.mod h1:q2HRQkfDzHMBZL9l/y9rH63PkQl4vae0xRT+8prbrK8= k8s.io/api v0.18.2/go.mod h1:SJCWI7OLzhZSvbY7U8zwNl9UA4o1fizoug34OV/2r78= k8s.io/api v0.18.3/go.mod h1:UOaMwERbqJMfeeeHc8XJKawj4P9TgDRnViIqqBeH2QA= k8s.io/api v0.18.4/go.mod h1:lOIQAKYgai1+vz9J7YcDZwC26Z0zQewYOGWdyIPUUQ4= -k8s.io/api v0.18.5/go.mod h1:tN+e/2nbdGKOAH55NMV8oGrMG+3uRlA9GaRfvnCCSNk= k8s.io/api v0.18.6 h1:osqrAXbOQjkKIWDTjrqxWQ3w0GkKb1KA1XkUGHHYpeE= k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI= k8s.io/api v0.18.7-rc.0/go.mod h1:v6x7KyKMJ7W/BbG7E9olOQshfszuXKKsxfnjaq+ylrk= @@ -2551,7 +2544,6 @@ k8s.io/apiserver v0.18.6/go.mod h1:Zt2XvTHuaZjBz6EFYzpp+X4hTmgWGy8AthNVnTdm3Wg= k8s.io/cli-runtime v0.17.2/go.mod h1:aa8t9ziyQdbkuizkNLAw3qe3srSyWh9zlSB7zTqRNPI= k8s.io/cli-runtime v0.17.3/go.mod h1:X7idckYphH4SZflgNpOOViSxetiMj6xI0viMAjM81TA= k8s.io/cli-runtime v0.18.0/go.mod h1:1eXfmBsIJosjn9LjEBUd2WVPoPAY9XGTqTFcPMIBsUQ= -k8s.io/cli-runtime v0.18.5/go.mod h1:uS210tk6ngtwwIJctPLs4ul1r7XlrEtwh9dA1oB700A= k8s.io/cli-runtime v0.18.6 h1:I8BkH5NyqMQ4zqUBmpXJ1LxIqpCH88H/1edPkPVWzjQ= k8s.io/cli-runtime v0.18.6/go.mod h1:+G/WTNqHgUv636e5y7rhOQ7epUbRXnwmPnhOhD6t9uM= k8s.io/client-go v0.18.8 h1:SdbLpIxk5j5YbFr1b7fq8S7mDgDjYmUxSbszyoesoDM= @@ -2569,7 +2561,6 @@ k8s.io/code-generator v0.17.6/go.mod h1:iiHz51+oTx+Z9D0vB3CH3O4HDDPWrvZyUgUYaIE9 k8s.io/code-generator v0.18.0/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc= k8s.io/code-generator v0.18.2/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc= k8s.io/code-generator v0.18.4/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= -k8s.io/code-generator v0.18.5/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= k8s.io/code-generator v0.18.8/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= k8s.io/component-base v0.0.0-20190918160511-547f6c5d7090/go.mod h1:933PBGtQFJky3TEwYx4aEPZ4IxqhWh3R6DCmzqIn1hA= @@ -2583,7 +2574,6 @@ k8s.io/component-base v0.17.6/go.mod h1:jgRLWl0B0rOzFNtxQ9E4BphPmDqoMafujdau6AdG k8s.io/component-base v0.18.0/go.mod h1:u3BCg0z1uskkzrnAKFzulmYaEpZF7XC9Pf/uFyb1v2c= k8s.io/component-base v0.18.2/go.mod h1:kqLlMuhJNHQ9lz8Z7V5bxUUtjFZnrypArGl58gmDfUM= k8s.io/component-base v0.18.4/go.mod h1:7jr/Ef5PGmKwQhyAz/pjByxJbC58mhKAhiaDu0vXfPk= -k8s.io/component-base v0.18.5/go.mod h1:RSbcboNk4B+S8Acs2JaBOVW3XNz1+A637s2jL+QQrlU= k8s.io/component-base v0.18.6 h1:Wd6cHGwJN2qpufnirVOB3oMhyhbioGsKEi5HeDBsV+s= k8s.io/component-base v0.18.6/go.mod h1:knSVsibPR5K6EW2XOjEHik6sdU5nCvKMrzMt2D4In14= k8s.io/csi-translation-lib v0.17.0/go.mod h1:HEF7MEz7pOLJCnxabi45IPkhSsE/KmxPQksuCrHKWls= @@ -2617,7 +2607,6 @@ k8s.io/kube-openapi v0.0.0-20200410145947-bcb3869e6f29 h1:NeQXVJ2XFSkRoPzRo8AId0 k8s.io/kube-openapi v0.0.0-20200410145947-bcb3869e6f29/go.mod h1:F+5wygcW0wmRTnM3cOgIqGivxkwSWIWT5YdsDbeAOaU= k8s.io/kubectl v0.17.2/go.mod h1:y4rfLV0n6aPmvbRCqZQjvOp3ezxsFgpqL+zF5jH/lxk= k8s.io/kubectl v0.18.0/go.mod h1:LOkWx9Z5DXMEg5KtOjHhRiC1fqJPLyCr3KtQgEolCkU= -k8s.io/kubectl v0.18.5/go.mod h1:LAGxvYunNuwcZst0OAMXnInFIv81/IeoAz2N1Yh+AhU= k8s.io/kubectl v0.18.6 h1:IFPNuLPkZ59vSGQzynXY8XGz9yuOSRpkJupnobdYvO4= k8s.io/kubectl v0.18.6/go.mod h1:3TLzFOrF9h4mlRPAvdNkDbs5NWspN4e0EnPnEB41CGo= k8s.io/kubernetes v1.11.10/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= @@ -2628,7 +2617,6 @@ k8s.io/legacy-cloud-providers v0.17.0/go.mod h1:DdzaepJ3RtRy+e5YhNtrCYwlgyK87j/5 k8s.io/legacy-cloud-providers v0.17.4/go.mod h1:FikRNoD64ECjkxO36gkDgJeiQWwyZTuBkhu+yxOc1Js= k8s.io/metrics v0.17.2/go.mod h1:3TkNHET4ROd+NfzNxkjoVfQ0Ob4iZnaHmSEA4vYpwLw= k8s.io/metrics v0.18.0/go.mod h1:8aYTW18koXqjLVKL7Ds05RPMX9ipJZI3mywYvBOxXd4= -k8s.io/metrics v0.18.5/go.mod h1:pqn6YiCCxUt067ivZVo4KtvppvdykV6HHG5+7ygVkNg= k8s.io/metrics v0.18.6/go.mod h1:iAwGeabusQNO3duHDM7BBExTUB8L+iq8PM7N9EtQw6g= k8s.io/test-infra v0.0.0-20181019233642-2e10a0bbe9b3/go.mod h1:2NzXB13Ji0nqpyublHeiPC4FZwU0TknfvyaaNfl/BTA= k8s.io/test-infra v0.0.0-20191212060232-70b0b49fe247/go.mod h1:d8SKryJBXAwfCFVL4wieRez47J2NOOAb9d029sWLseQ= diff --git a/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/appconfig_suit_test.go b/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/appconfig_suit_test.go index e6ec4fb5f..5570ef5fc 100644 --- a/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/appconfig_suit_test.go +++ b/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/appconfig_suit_test.go @@ -132,7 +132,7 @@ var _ = Describe("CRD without definition can run in an ApplicationConfiguration" reconciler.Reconcile(req) } return err - }, time.Second, 300*time.Millisecond).Should(BeNil()) + }, 3*time.Second, time.Second).Should(BeNil()) By("Checking that trait should be created") traitKey := client.ObjectKey{ diff --git a/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/applicationconfiguration.go b/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/applicationconfiguration.go index b19a0cfe6..9f8557c2e 100644 --- a/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/applicationconfiguration.go +++ b/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/applicationconfiguration.go @@ -55,6 +55,8 @@ const ( longWait = 1 * time.Minute ) +var errResult = reconcile.Result{RequeueAfter: shortWait} + // Reconcile error strings. const ( errGetAppConfig = "cannot get application configuration" @@ -230,7 +232,7 @@ func (r *OAMApplicationReconciler) Reconcile(req reconcile.Request) (result reco ac := &v1alpha2.ApplicationConfiguration{} if err := r.client.Get(ctx, req.NamespacedName, ac); err != nil { - return reconcile.Result{}, errors.Wrap(resource.IgnoreNotFound(err), errGetAppConfig) + return errResult, errors.Wrap(resource.IgnoreNotFound(err), errGetAppConfig) } acPatch := ac.DeepCopy() @@ -266,6 +268,11 @@ func (r *OAMApplicationReconciler) Reconcile(req reconcile.Request) (result reco r.record.Event(ac, event.Normal(reasonExecutePosthook, "Successfully executed a posthook", "posthook name", name)) } returnErr = errors.Wrap(r.client.Status().Update(ctx, ac), errUpdateAppConfigStatus) + + // Make sure if error occurs, reconcile will not happen too frequency + if returnErr != nil && result.RequeueAfter < shortWait { + result.RequeueAfter = shortWait + } }() // execute the prehooks @@ -287,7 +294,7 @@ func (r *OAMApplicationReconciler) Reconcile(req reconcile.Request) (result reco log.Info("Cannot render components", "error", err, "requeue-after", time.Now().Add(shortWait)) r.record.Event(ac, event.Warning(reasonCannotRenderComponents, err)) ac.SetConditions(v1alpha1.ReconcileError(errors.Wrap(err, errRenderComponents))) - return reconcile.Result{RequeueAfter: shortWait}, errors.Wrap(r.client.Status().Update(ctx, ac), errUpdateAppConfigStatus) + return errResult, errors.Wrap(r.client.Status().Update(ctx, ac), errUpdateAppConfigStatus) } log.Debug("Successfully rendered components", "workloads", len(workloads)) r.record.Event(ac, event.Normal(reasonRenderComponents, "Successfully rendered components", "workloads", strconv.Itoa(len(workloads)))) @@ -300,7 +307,7 @@ func (r *OAMApplicationReconciler) Reconcile(req reconcile.Request) (result reco log.Debug("Cannot apply components", "error", err, "requeue-after", time.Now().Add(shortWait)) r.record.Event(ac, event.Warning(reasonCannotApplyComponents, err)) ac.SetConditions(v1alpha1.ReconcileError(errors.Wrap(err, errApplyComponents))) - return reconcile.Result{RequeueAfter: shortWait}, errors.Wrap(r.client.Status().Update(ctx, ac), errUpdateAppConfigStatus) + return errResult, errors.Wrap(r.client.Status().Update(ctx, ac), errUpdateAppConfigStatus) } log.Debug("Successfully applied components", "workloads", len(workloads)) r.record.Event(ac, event.Normal(reasonApplyComponents, "Successfully applied components", "workloads", strconv.Itoa(len(workloads)))) @@ -320,7 +327,7 @@ func (r *OAMApplicationReconciler) Reconcile(req reconcile.Request) (result reco log.Debug("Cannot garbage collect component", "error", err, "requeue-after", time.Now().Add(shortWait)) record.Event(ac, event.Warning(reasonCannotGGComponents, err)) ac.SetConditions(v1alpha1.ReconcileError(errors.Wrap(err, errGCComponent))) - return reconcile.Result{RequeueAfter: shortWait}, errors.Wrap(r.client.Status().Update(ctx, ac), errUpdateAppConfigStatus) + return errResult, errors.Wrap(r.client.Status().Update(ctx, ac), errUpdateAppConfigStatus) } log.Debug("Garbage collected resource") record.Event(ac, event.Normal(reasonGGComponent, "Successfully garbage collected component")) diff --git a/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/applicationconfiguration_test.go b/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/applicationconfiguration_test.go index b5aad7aa5..a40440e35 100644 --- a/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/applicationconfiguration_test.go +++ b/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/applicationconfiguration_test.go @@ -157,7 +157,8 @@ func TestReconciler(t *testing.T) { }, }, want: want{ - err: errors.Wrap(errBoom, errGetAppConfig), + result: reconcile.Result{RequeueAfter: shortWait}, + err: errors.Wrap(errBoom, errGetAppConfig), }, }, "RenderComponentsError": { diff --git a/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/dependency_test.go b/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/dependency_test.go index 61a3cc15e..18834abbc 100644 --- a/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/dependency_test.go +++ b/pkg/controller/core.oam.dev/v1alpha2/applicationconfiguration/dependency_test.go @@ -412,7 +412,7 @@ var _ = Describe("Resource Dependency in an ApplicationConfiguration", func() { Expect(k8sClient.Status().Update(ctx, outFoo)).Should(Succeed()) By("Reconcile") - Expect(func() error { _, err := reconciler.Reconcile(req); return err }()).Should(BeNil()) + reconcileRetry(reconciler, req) // Verification after satisfying dependency By("Verify the appconfig's dependency is satisfied") diff --git a/pkg/controller/core.oam.dev/v1alpha2/core/traits/manualscalertrait/manualscalertrait_controller.go b/pkg/controller/core.oam.dev/v1alpha2/core/traits/manualscalertrait/manualscalertrait_controller.go index cb8ceafaf..ab3bb2fc0 100644 --- a/pkg/controller/core.oam.dev/v1alpha2/core/traits/manualscalertrait/manualscalertrait_controller.go +++ b/pkg/controller/core.oam.dev/v1alpha2/core/traits/manualscalertrait/manualscalertrait_controller.go @@ -37,10 +37,8 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - controller "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev" - oamv1alpha2 "github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2" - + controller "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev" "github.com/oam-dev/kubevela/pkg/oam/discoverymapper" "github.com/oam-dev/kubevela/pkg/oam/util" ) diff --git a/pkg/controller/standard.oam.dev/v1alpha1/routes/route_controller.go b/pkg/controller/standard.oam.dev/v1alpha1/routes/route_controller.go index 7176772fa..08e908517 100644 --- a/pkg/controller/standard.oam.dev/v1alpha1/routes/route_controller.go +++ b/pkg/controller/standard.oam.dev/v1alpha1/routes/route_controller.go @@ -103,7 +103,8 @@ func (r *Reconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { var svc *runtimev1alpha1.TypedReference if NeedDiscovery(&routeTrait) { if svc, err = r.discoveryAndFillBackend(ctx, mLog, eventObj, workload, &routeTrait); err != nil { - return oamutil.ReconcileWaitResult, err + return oamutil.ReconcileWaitResult, oamutil.PatchCondition(ctx, r, &routeTrait, + cpv1alpha1.ReconcileError(err)) } } @@ -148,7 +149,11 @@ func (r *Reconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { if routeTrait.Status.Status != ingress.StatusReady { return ctrl.Result{RequeueAfter: requeueNotReady}, r.Status().Update(ctx, &routeTrait) } - return ctrl.Result{}, r.Status().Update(ctx, &routeTrait) + err = r.Status().Update(ctx, &routeTrait) + if err != nil { + return oamutil.ReconcileWaitResult, err + } + return ctrl.Result{}, nil } // discoveryAndFillBackend will automatically discovery backend for route @@ -173,8 +178,7 @@ func (r *Reconciler) discoveryAndFillBackend(ctx context.Context, mLog logr.Logg svc, err := r.fillBackendByCreatedService(ctx, mLog, workload, routeTrait, childResources) if err != nil { r.record.Event(eventObj, event.Warning(common.ErrCreatingService, err)) - return nil, oamutil.PatchCondition(ctx, r, routeTrait, - cpv1alpha1.ReconcileError(errors.Wrap(err, common.ErrCreatingService))) + return nil, errors.Wrap(err, common.ErrCreatingService) } r.record.Event(eventObj, event.Normal("Service created", fmt.Sprintf("successfully automatically created a service `%s`", svc.Name))) diff --git a/pkg/controller/standard.oam.dev/v1alpha1/routes/route_controller_test.go b/pkg/controller/standard.oam.dev/v1alpha1/routes/route_controller_test.go index f28bfa692..6bf84bdaa 100644 --- a/pkg/controller/standard.oam.dev/v1alpha1/routes/route_controller_test.go +++ b/pkg/controller/standard.oam.dev/v1alpha1/routes/route_controller_test.go @@ -352,4 +352,39 @@ var _ = Describe("Route Trait Integration Test", func() { } Expect(createdSvc.Spec.Ports[0].TargetPort.IntVal).Should(Equal(int32(podPort))) }) + It("Test should get error condition if definition not found", func() { + compName := "test-no-def" + comp, _, _ := getComponent("unknow1", compName) + ac := getAC(compName) + Expect(k8sClient.Create(ctx, &comp)).ToNot(HaveOccurred()) + Expect(k8sClient.Create(ctx, &ac)).ToNot(HaveOccurred()) + + By("Check that we have created the route") + createdRoute := v1alpha1.Route{} + var traitName string + Eventually( + func() string { + err := k8sClient.Get(ctx, + types.NamespacedName{Namespace: ns.Name, Name: ac.Name}, + &ac) + if err != nil { + return err.Error() + } + if len(ac.Status.Workloads) < 1 || len(ac.Status.Workloads[0].Traits) < 1 { + return "workload or trait not ready" + } + traitName = ac.Status.Workloads[0].Traits[0].Reference.Name + err = k8sClient.Get(ctx, + types.NamespacedName{Namespace: ns.Name, Name: traitName}, + &createdRoute) + if err != nil { + return err.Error() + } + if len(createdRoute.Status.Conditions) == 1 { + return createdRoute.Status.Conditions[0].Message + } + return "" + }, + time.Second*10, time.Millisecond*500).Should(Equal(`failed to create the services: WorkloadDefinition.core.oam.dev "unknow1" not found`)) + }) }) diff --git a/test/e2e-test/appconfig_finalizer_test.go b/test/e2e-test/appconfig_finalizer_test.go index e62fdf407..921bb2ffe 100644 --- a/test/e2e-test/appconfig_finalizer_test.go +++ b/test/e2e-test/appconfig_finalizer_test.go @@ -8,8 +8,9 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "github.com/crossplane/oam-kubernetes-runtime/apis/core/v1alpha2" - "github.com/crossplane/oam-kubernetes-runtime/pkg/oam/util" + "github.com/oam-dev/kubevela/pkg/oam/util" + + "github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/test/e2e-test/component_version_test.go b/test/e2e-test/component_version_test.go index 19f55834d..ba80ce695 100644 --- a/test/e2e-test/component_version_test.go +++ b/test/e2e-test/component_version_test.go @@ -14,8 +14,9 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" - "github.com/crossplane/oam-kubernetes-runtime/apis/core/v1alpha2" - "github.com/crossplane/oam-kubernetes-runtime/pkg/oam/util" + "github.com/oam-dev/kubevela/pkg/oam/util" + + "github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2" appsv1 "k8s.io/api/apps/v1" v1 "k8s.io/api/apps/v1" diff --git a/test/e2e-test/containerized_workload_test.go b/test/e2e-test/containerized_workload_test.go index 109d1936d..885b3e898 100644 --- a/test/e2e-test/containerized_workload_test.go +++ b/test/e2e-test/containerized_workload_test.go @@ -17,9 +17,10 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" logf "sigs.k8s.io/controller-runtime/pkg/log" - "github.com/crossplane/oam-kubernetes-runtime/apis/core/v1alpha2" - "github.com/crossplane/oam-kubernetes-runtime/pkg/oam" - "github.com/crossplane/oam-kubernetes-runtime/pkg/oam/util" + "github.com/oam-dev/kubevela/pkg/oam" + "github.com/oam-dev/kubevela/pkg/oam/util" + + "github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2" ) var _ = Describe("ContainerizedWorkload", func() { diff --git a/test/e2e-test/health_scope_test.go b/test/e2e-test/health_scope_test.go index 143cbda4b..919c8f3a8 100644 --- a/test/e2e-test/health_scope_test.go +++ b/test/e2e-test/health_scope_test.go @@ -16,8 +16,9 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" logf "sigs.k8s.io/controller-runtime/pkg/log" - "github.com/crossplane/oam-kubernetes-runtime/apis/core/v1alpha2" - "github.com/crossplane/oam-kubernetes-runtime/pkg/oam/util" + "github.com/oam-dev/kubevela/pkg/oam/util" + + "github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2" ) var ( diff --git a/test/e2e-test/kubernetes_workload_test.go b/test/e2e-test/kubernetes_workload_test.go index 9395e7f3e..a37ca97d8 100644 --- a/test/e2e-test/kubernetes_workload_test.go +++ b/test/e2e-test/kubernetes_workload_test.go @@ -15,8 +15,9 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" logf "sigs.k8s.io/controller-runtime/pkg/log" - "github.com/crossplane/oam-kubernetes-runtime/apis/core/v1alpha2" - "github.com/crossplane/oam-kubernetes-runtime/pkg/oam/util" + "github.com/oam-dev/kubevela/pkg/oam/util" + + "github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2" ) var _ = Describe("Test kubernetes native workloads", func() { diff --git a/test/e2e-test/suite_test.go b/test/e2e-test/suite_test.go index bb9cedd0a..60e149477 100644 --- a/test/e2e-test/suite_test.go +++ b/test/e2e-test/suite_test.go @@ -39,9 +39,9 @@ import ( "sigs.k8s.io/controller-runtime/pkg/log/zap" controllerscheme "sigs.k8s.io/controller-runtime/pkg/scheme" - "github.com/crossplane/oam-kubernetes-runtime/apis/core" - "github.com/crossplane/oam-kubernetes-runtime/apis/core/v1alpha2" - "github.com/crossplane/oam-kubernetes-runtime/pkg/oam/util" + core "github.com/oam-dev/kubevela/apis/core.oam.dev" + "github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2" + "github.com/oam-dev/kubevela/pkg/oam/util" // +kubebuilder:scaffold:imports ) diff --git a/test/integration/appconfig_test.go b/test/integration/appconfig_test.go index ce592b598..d7f9c99f0 100644 --- a/test/integration/appconfig_test.go +++ b/test/integration/appconfig_test.go @@ -37,10 +37,10 @@ import ( "github.com/crossplane/crossplane-runtime/pkg/logging" "github.com/crossplane/crossplane-runtime/pkg/test/integration" - "github.com/crossplane/oam-kubernetes-runtime/apis/core" - "github.com/crossplane/oam-kubernetes-runtime/apis/core/v1alpha2" - "github.com/crossplane/oam-kubernetes-runtime/pkg/controller" - v1alph2controller "github.com/crossplane/oam-kubernetes-runtime/pkg/controller/v1alpha2" + coreoamdev "github.com/oam-dev/kubevela/apis/core.oam.dev" + "github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2" + controller "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev" + v1alph2controller "github.com/oam-dev/kubevela/pkg/controller/core.oam.dev/v1alpha2" ) var ( @@ -226,7 +226,7 @@ func TestAppConfigController(t *testing.T) { t.Fatal(err) } - if err := core.AddToScheme(i.GetScheme()); err != nil { + if err := coreoamdev.AddToScheme(i.GetScheme()); err != nil { t.Fatal(err) } diff --git a/test/integration/builder.go b/test/integration/builder.go index 3a3d89dfb..af0f6b1d2 100644 --- a/test/integration/builder.go +++ b/test/integration/builder.go @@ -22,7 +22,7 @@ import ( v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" - "github.com/crossplane/oam-kubernetes-runtime/apis/core/v1alpha2" + "github.com/oam-dev/kubevela/apis/core.oam.dev/v1alpha2" ) type wdModifier func(*v1alpha2.WorkloadDefinition)