WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 0ea896b

Browse files
committed
Application: further simplify reconcile logic
1 parent 134260e commit 0ea896b

File tree

5 files changed

+757
-219
lines changed

5 files changed

+757
-219
lines changed

controllers/capabilities/application_controller.go

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,11 @@ const (
5454
// +kubebuilder:rbac:groups=capabilities.3scale.net,resources=applications/status,verbs=get;update;patch
5555

5656
func (r *ApplicationReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
57-
_ = context.Background()
5857
reqLogger := r.Logger().WithValues("application", req.NamespacedName)
5958
reqLogger.Info("Reconcile Application", "Operator version", version.Version)
6059

6160
application := &capabilitiesv1beta1.Application{}
62-
err := r.Client().Get(context.TODO(), req.NamespacedName, application)
61+
err := r.Client().Get(ctx, req.NamespacedName, application)
6362
if err != nil {
6463
if apierrors.IsNotFound(err) {
6564
// Request object not found, could have been deleted after reconcile request.
@@ -119,17 +118,6 @@ func (r *ApplicationReconciler) Reconcile(ctx context.Context, req ctrl.Request)
119118
return statusResult, nil
120119
}
121120
}
122-
}
123-
124-
// get providerAccountRef from account
125-
providerAccount, err := controllerhelper.LookupProviderAccount(r.Client(), accountResource.Namespace, accountResource.Spec.ProviderAccountRef, r.Logger())
126-
if err != nil {
127-
return ctrl.Result{}, err
128-
}
129-
130-
insecureSkipVerify := controllerhelper.GetInsecureSkipVerifyAnnotation(application.GetAnnotations())
131-
threescaleAPIClient, err := controllerhelper.PortaClient(providerAccount, insecureSkipVerify)
132-
if err != nil {
133121
return ctrl.Result{}, err
134122
}
135123

@@ -148,7 +136,7 @@ func (r *ApplicationReconciler) Reconcile(ctx context.Context, req ctrl.Request)
148136
return ctrl.Result{}, nil
149137
}
150138

151-
statusReconciler, reconcileErr := r.applicationReconciler(application, req, threescaleAPIClient, providerAccount.AdminURLStr, accountResource)
139+
statusReconciler, reconcileErr := r.applicationReconciler(application, accountResource)
152140
statusResult, statusUpdateErr := statusReconciler.Reconcile()
153141
if statusUpdateErr != nil {
154142
if reconcileErr != nil {
@@ -220,12 +208,12 @@ func (r *ApplicationReconciler) reconcileMetadata(application *capabilitiesv1bet
220208
return changed, nil
221209
}
222210

223-
func (r *ApplicationReconciler) applicationReconciler(applicationResource *capabilitiesv1beta1.Application, req ctrl.Request, threescaleAPIClient *threescaleapi.ThreeScaleClient, providerAccountAdminURLStr string, accountResource *capabilitiesv1beta1.DeveloperAccount) (*ApplicationStatusReconciler, error) {
211+
func (r *ApplicationReconciler) applicationReconciler(applicationResource *capabilitiesv1beta1.Application, accountResource *capabilitiesv1beta1.DeveloperAccount) (*ApplicationStatusReconciler, error) {
224212
// get product
225213
productResource := &capabilitiesv1beta1.Product{}
226214
projectMeta := types.NamespacedName{
227215
Name: applicationResource.Spec.ProductCR.Name,
228-
Namespace: req.Namespace,
216+
Namespace: applicationResource.Namespace,
229217
}
230218

231219
err := r.Client().Get(r.Context(), projectMeta, productResource)
@@ -242,13 +230,27 @@ func (r *ApplicationReconciler) applicationReconciler(applicationResource *capab
242230
return statusReconciler, err
243231
}
244232

233+
// get providerAccountRef from account
234+
providerAccount, err := controllerhelper.LookupProviderAccount(r.Client(), accountResource.Namespace, accountResource.Spec.ProviderAccountRef, r.Logger())
235+
if err != nil {
236+
statusReconciler := NewApplicationStatusReconciler(r.BaseReconciler, applicationResource, nil, "", err)
237+
return statusReconciler, err
238+
}
239+
240+
insecureSkipVerify := controllerhelper.GetInsecureSkipVerifyAnnotation(applicationResource.GetAnnotations())
241+
threescaleAPIClient, err := controllerhelper.PortaClient(providerAccount, insecureSkipVerify)
242+
if err != nil {
243+
statusReconciler := NewApplicationStatusReconciler(r.BaseReconciler, applicationResource, nil, "", err)
244+
return statusReconciler, err
245+
}
246+
245247
reconciler := NewApplicationReconciler(r.BaseReconciler, applicationResource, *accountResource.Status.ID, *productResource.Status.ID, threescaleAPIClient)
246-
ApplicationEntity, err := reconciler.Reconcile()
248+
applicationEntity, err := reconciler.Reconcile()
247249
if err != nil {
248-
statusReconciler := NewApplicationStatusReconciler(r.BaseReconciler, applicationResource, nil, providerAccountAdminURLStr, err)
250+
statusReconciler := NewApplicationStatusReconciler(r.BaseReconciler, applicationResource, nil, providerAccount.AdminURLStr, err)
249251
return statusReconciler, err
250252
}
251-
statusReconciler := NewApplicationStatusReconciler(r.BaseReconciler, applicationResource, ApplicationEntity, providerAccountAdminURLStr, err)
253+
statusReconciler := NewApplicationStatusReconciler(r.BaseReconciler, applicationResource, applicationEntity, providerAccount.AdminURLStr, err)
252254
return statusReconciler, err
253255
}
254256

0 commit comments

Comments
 (0)