@@ -19,6 +19,7 @@ package controllers
19
19
import (
20
20
"context"
21
21
"fmt"
22
+ "path"
22
23
23
24
appsv1 "k8s.io/api/apps/v1"
24
25
corev1 "k8s.io/api/core/v1"
@@ -27,6 +28,7 @@ import (
27
28
apierrs "k8s.io/apimachinery/pkg/api/errors"
28
29
"k8s.io/apimachinery/pkg/runtime"
29
30
"k8s.io/apimachinery/pkg/types"
31
+
30
32
ctrl "sigs.k8s.io/controller-runtime"
31
33
"sigs.k8s.io/controller-runtime/pkg/client"
32
34
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
@@ -36,6 +38,7 @@ import (
36
38
37
39
"github.com/go-logr/logr"
38
40
mf "github.com/manifestival/manifestival"
41
+
39
42
codeflarev1alpha1 "github.com/project-codeflare/codeflare-operator/api/v1alpha1"
40
43
"github.com/project-codeflare/codeflare-operator/controllers/config"
41
44
"github.com/project-codeflare/codeflare-operator/controllers/util"
@@ -55,8 +58,7 @@ var instascaleClusterScopedTemplates = []string{
55
58
}
56
59
57
60
func (r * InstaScaleReconciler ) Apply (owner mf.Owner , params * InstaScaleParams , template string , fns ... mf.Transformer ) error {
58
-
59
- tmplManifest , err := config .Manifest (r .Client , r .TemplatesPath + template , params , template , r .Log )
61
+ tmplManifest , err := config .Manifest (r .Client , path .Join (r .TemplatesPath , template ), params , template , r .Log )
60
62
if err != nil {
61
63
return fmt .Errorf ("error loading template yaml: %w" , err )
62
64
}
@@ -77,17 +79,17 @@ func (r *InstaScaleReconciler) Apply(owner mf.Owner, params *InstaScaleParams, t
77
79
78
80
// TODO: Review node permissions, instascale should only require read
79
81
80
- //+kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=instascales,verbs=get;list;watch;create;update;patch;delete
81
- //+kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=instascales/status,verbs=get;update;patch
82
- //+kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=instascales/finalizers,verbs=update
83
- //+kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update;patch;delete
84
- //+kubebuilder:rbac:groups=*,resources=deployments;services,verbs=get;list;watch;create;update;patch;delete
85
- //+kubebuilder:rbac:groups=core,resources=secrets;configmaps;nodes;services;serviceaccounts;persistentvolumes;persistentvolumeclaims,verbs=get;list;watch;create;update;patch;delete
86
- //+kubebuilder:rbac:groups=core,resources=persistentvolumes;persistentvolumeclaims,verbs=*
87
- //+kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles;rolebindings,verbs=get;list;watch;create;update;patch;delete
88
- //+kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterroles;clusterrolebindings,verbs=get;list;watch;create;update;delete
89
- //+kubebuilder:rbac:groups=machine.openshift.io,resources=*,verbs=get;list;watch;create;update;patch;delete
90
- //+kubebuilder:rbac:groups=mcad.ibm.com,resources=appwrappers;queuejobs;schedulingspecs,verbs=get;list;watch;create;update;patch;delete
82
+ // +kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=instascales,verbs=get;list;watch;create;update;patch;delete
83
+ // +kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=instascales/status,verbs=get;update;patch
84
+ // +kubebuilder:rbac:groups=codeflare.codeflare.dev,resources=instascales/finalizers,verbs=update
85
+ // +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update;patch;delete
86
+ // +kubebuilder:rbac:groups=*,resources=deployments;services,verbs=get;list;watch;create;update;patch;delete
87
+ // +kubebuilder:rbac:groups=core,resources=secrets;configmaps;nodes;services;serviceaccounts;persistentvolumes;persistentvolumeclaims,verbs=get;list;watch;create;update;patch;delete
88
+ // +kubebuilder:rbac:groups=core,resources=persistentvolumes;persistentvolumeclaims,verbs=*
89
+ // +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles;rolebindings,verbs=get;list;watch;create;update;patch;delete
90
+ // +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterroles;clusterrolebindings,verbs=get;list;watch;create;update;delete
91
+ // +kubebuilder:rbac:groups=machine.openshift.io,resources=*,verbs=get;list;watch;create;update;patch;delete
92
+ // +kubebuilder:rbac:groups=mcad.ibm.com,resources=appwrappers;queuejobs;schedulingspecs,verbs=get;list;watch;create;update;patch;delete
91
93
92
94
// Reconcile is part of the main kubernetes reconciliation loop which aims to
93
95
// move the current state of the cluster closer to the desired state.
@@ -124,11 +126,7 @@ func (r *InstaScaleReconciler) Reconcile(ctx context.Context, req ctrl.Request)
124
126
instascaleCustomResource .APIVersion , instascaleCustomResource .Kind = gvk .Version , gvk .Kind
125
127
}
126
128
127
- err = params .ExtractParams (instascaleCustomResource )
128
- if err != nil {
129
- log .Error (err , "Unable to parse InstaScale custom resource" )
130
- return ctrl.Result {}, err
131
- }
129
+ params .ExtractParams (instascaleCustomResource )
132
130
133
131
if instascaleCustomResource .ObjectMeta .DeletionTimestamp .IsZero () {
134
132
if ! controllerutil .ContainsFinalizer (instascaleCustomResource , finalizerName ) {
@@ -152,7 +150,6 @@ func (r *InstaScaleReconciler) Reconcile(ctx context.Context, req ctrl.Request)
152
150
return ctrl.Result {}, nil
153
151
}
154
152
155
- log .V (1 ).Info ("ReconcileInstaScale called." )
156
153
err = r .ReconcileInstaScale (instascaleCustomResource , params )
157
154
if err != nil {
158
155
return ctrl.Result {}, err
@@ -162,7 +159,8 @@ func (r *InstaScaleReconciler) Reconcile(ctx context.Context, req ctrl.Request)
162
159
if err != nil {
163
160
return ctrl.Result {}, err
164
161
}
165
- err = r .Client .Status ().Update (context .Background (), instascaleCustomResource )
162
+
163
+ err = r .Client .Status ().Update (ctx , instascaleCustomResource )
166
164
if err != nil {
167
165
return ctrl.Result {}, err
168
166
}
0 commit comments