From d23b2cec51bdd82be603ef1a7dd2052ef01b9477 Mon Sep 17 00:00:00 2001 From: perdasilva Date: Fri, 27 Jan 2023 15:03:00 +0100 Subject: [PATCH 1/3] remove bundle path from Operator.Status Signed-off-by: perdasilva --- api/v1alpha1/operator_types.go | 1 - .../crd/bases/operators.operatorframework.io_operators.yaml | 2 -- controllers/operator_controller.go | 6 +++--- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/api/v1alpha1/operator_types.go b/api/v1alpha1/operator_types.go index 2ff203275..bb7e7d605 100644 --- a/api/v1alpha1/operator_types.go +++ b/api/v1alpha1/operator_types.go @@ -55,7 +55,6 @@ type OperatorStatus struct { // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` - BundlePath string `json:"BundlePath,omitempty"` } //+kubebuilder:object:root=true diff --git a/config/crd/bases/operators.operatorframework.io_operators.yaml b/config/crd/bases/operators.operatorframework.io_operators.yaml index 595ce2adb..894b7699c 100644 --- a/config/crd/bases/operators.operatorframework.io_operators.yaml +++ b/config/crd/bases/operators.operatorframework.io_operators.yaml @@ -45,8 +45,6 @@ spec: status: description: OperatorStatus defines the observed state of Operator properties: - BundlePath: - type: string conditions: items: description: "Condition contains details for one aspect of the current diff --git a/controllers/operator_controller.go b/controllers/operator_controller.go index de80dceac..591e60cba 100644 --- a/controllers/operator_controller.go +++ b/controllers/operator_controller.go @@ -112,7 +112,6 @@ func (r *OperatorReconciler) reconcile(ctx context.Context, op *operatorsv1alpha message = err.Error() } else { // extract package bundle path from resolved variable - var bundlePath = "" for _, variable := range solution.SelectedVariables() { switch v := variable.(type) { case *bundles_and_dependencies.BundleVariable: @@ -121,15 +120,16 @@ func (r *OperatorReconciler) reconcile(ctx context.Context, op *operatorsv1alpha return ctrl.Result{}, err } if packageName == op.Spec.PackageName { - bundlePath, err = v.BundleEntity().BundlePath() + bundlePath, err := v.BundleEntity().BundlePath() if err != nil { return ctrl.Result{}, err } + // TODO(perdasilva): use bundlePath to stamp out bundle deployment + _ = bundlePath break } } } - op.Status.BundlePath = bundlePath } // update operator status From 2b2332aec402c67478024d208dd8f62e8eec2c5d Mon Sep 17 00:00:00 2001 From: perdasilva Date: Fri, 27 Jan 2023 15:00:48 +0100 Subject: [PATCH 2/3] reconciler: only update the resource being reconciled after resolution Signed-off-by: perdasilva --- controllers/operator_controller.go | 7 ++++--- controllers/suite_test.go | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/controllers/operator_controller.go b/controllers/operator_controller.go index 591e60cba..f8229b083 100644 --- a/controllers/operator_controller.go +++ b/controllers/operator_controller.go @@ -19,9 +19,6 @@ package controllers import ( "context" - operatorsv1alpha1 "github.com/operator-framework/operator-controller/api/v1alpha1" - "github.com/operator-framework/operator-controller/internal/resolution" - "github.com/operator-framework/operator-controller/internal/resolution/variable_sources/bundles_and_dependencies" "k8s.io/apimachinery/pkg/api/equality" apimeta "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -30,6 +27,10 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" + + operatorsv1alpha1 "github.com/operator-framework/operator-controller/api/v1alpha1" + "github.com/operator-framework/operator-controller/internal/resolution" + "github.com/operator-framework/operator-controller/internal/resolution/variable_sources/bundles_and_dependencies" ) // OperatorReconciler reconciles a Operator object diff --git a/controllers/suite_test.go b/controllers/suite_test.go index c613c3fa3..a0758025a 100644 --- a/controllers/suite_test.go +++ b/controllers/suite_test.go @@ -25,9 +25,6 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" - operatorsv1alpha1 "github.com/operator-framework/operator-controller/api/v1alpha1" - "github.com/operator-framework/operator-controller/controllers" - operatorutil "github.com/operator-framework/operator-controller/internal/util" apimeta "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/rand" @@ -38,6 +35,10 @@ import ( "sigs.k8s.io/controller-runtime/pkg/envtest" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" + + operatorsv1alpha1 "github.com/operator-framework/operator-controller/api/v1alpha1" + "github.com/operator-framework/operator-controller/controllers" + operatorutil "github.com/operator-framework/operator-controller/internal/util" //+kubebuilder:scaffold:imports ) From b3b36811ba9b19b3b04642a7810cf0e8bba57994 Mon Sep 17 00:00:00 2001 From: perdasilva Date: Fri, 27 Jan 2023 15:40:38 +0100 Subject: [PATCH 3/3] update condition reasons and conditions types lists Signed-off-by: perdasilva --- api/v1alpha1/operator_types.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/v1alpha1/operator_types.go b/api/v1alpha1/operator_types.go index bb7e7d605..43148a2a8 100644 --- a/api/v1alpha1/operator_types.go +++ b/api/v1alpha1/operator_types.go @@ -44,7 +44,7 @@ func init() { ) // TODO(user): add Reasons from above operatorutil.ConditionReasons = append(operatorutil.ConditionReasons, - ReasonNotImplemented, + ReasonNotImplemented, ReasonResolutionSucceeded, ReasonResolutionFailed, ) }