7
7
"sync"
8
8
"time"
9
9
10
- log "github.com/sirupsen/logrus"
10
+ "github.com/sirupsen/logrus"
11
11
corev1 "k8s.io/api/core/v1"
12
12
rbacv1 "k8s.io/api/rbac/v1"
13
13
v1beta1ext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
@@ -55,7 +55,7 @@ type Operator struct {
55
55
}
56
56
57
57
// NewOperator creates a new Catalog Operator.
58
- func NewOperator (kubeconfigPath string , wakeupInterval time.Duration , operatorNamespace string , watchedNamespaces ... string ) (* Operator , error ) {
58
+ func NewOperator (kubeconfigPath string , logger * logrus. Logger , wakeupInterval time.Duration , operatorNamespace string , watchedNamespaces ... string ) (* Operator , error ) {
59
59
// Default to watching all namespaces.
60
60
if watchedNamespaces == nil {
61
61
watchedNamespaces = []string {metav1 .NamespaceAll }
@@ -84,7 +84,7 @@ func NewOperator(kubeconfigPath string, wakeupInterval time.Duration, operatorNa
84
84
}
85
85
86
86
// Create a new queueinformer-based operator.
87
- queueOperator , err := queueinformer .NewOperator (kubeconfigPath )
87
+ queueOperator , err := queueinformer .NewOperator (kubeconfigPath , logger )
88
88
if err != nil {
89
89
return nil , err
90
90
}
@@ -107,6 +107,7 @@ func NewOperator(kubeconfigPath string, wakeupInterval time.Duration, operatorNa
107
107
nil ,
108
108
"catsrc" ,
109
109
metrics .NewMetricsCatalogSource (op .client ),
110
+ logger ,
110
111
)
111
112
for _ , informer := range catsrcQueueInformer {
112
113
op .RegisterQueueInformer (informer )
@@ -121,6 +122,7 @@ func NewOperator(kubeconfigPath string, wakeupInterval time.Duration, operatorNa
121
122
nil ,
122
123
"installplan" ,
123
124
metrics .NewMetricsInstallPlan (op .client ),
125
+ logger ,
124
126
)
125
127
for _ , informer := range ipQueueInformers {
126
128
op .RegisterQueueInformer (informer )
@@ -135,6 +137,7 @@ func NewOperator(kubeconfigPath string, wakeupInterval time.Duration, operatorNa
135
137
nil ,
136
138
"subscription" ,
137
139
metrics .NewMetricsSubscription (op .client ),
140
+ logger ,
138
141
)
139
142
op .subQueue = subscriptionQueue
140
143
for _ , informer := range subscriptionQueueInformers {
@@ -147,7 +150,7 @@ func NewOperator(kubeconfigPath string, wakeupInterval time.Duration, operatorNa
147
150
func (o * Operator ) syncCatalogSources (obj interface {}) (syncError error ) {
148
151
catsrc , ok := obj .(* v1alpha1.CatalogSource )
149
152
if ! ok {
150
- log .Debugf ("wrong type: %#v" , obj )
153
+ o . Log .Debugf ("wrong type: %#v" , obj )
151
154
return fmt .Errorf ("casting CatalogSource failed" )
152
155
}
153
156
@@ -198,11 +201,11 @@ func (o *Operator) syncCatalogSources(obj interface{}) (syncError error) {
198
201
func (o * Operator ) syncSubscriptions (obj interface {}) (syncError error ) {
199
202
sub , ok := obj .(* v1alpha1.Subscription )
200
203
if ! ok {
201
- log .Debugf ("wrong type: %#v" , obj )
204
+ o . Log .Debugf ("wrong type: %#v" , obj )
202
205
return fmt .Errorf ("casting Subscription failed" )
203
206
}
204
207
205
- logger := log . WithFields (log .Fields {
208
+ logger := o . Log . WithFields (logrus .Fields {
206
209
"sub" : sub .GetName (),
207
210
"namespace" : sub .GetNamespace (),
208
211
"source" : sub .Spec .CatalogSource ,
@@ -248,18 +251,18 @@ func (o *Operator) requeueInstallPlan(name, namespace string) {
248
251
func (o * Operator ) syncInstallPlans (obj interface {}) (syncError error ) {
249
252
plan , ok := obj .(* v1alpha1.InstallPlan )
250
253
if ! ok {
251
- log .Debugf ("wrong type: %#v" , obj )
254
+ o . Log .Debugf ("wrong type: %#v" , obj )
252
255
return fmt .Errorf ("casting InstallPlan failed" )
253
256
}
254
257
255
- logger := log . WithFields (log .Fields {
258
+ logger := o . Log . WithFields (logrus .Fields {
256
259
"ip" : plan .GetName (),
257
260
"namespace" : plan .GetNamespace (),
258
261
"phase" : plan .Status .Phase ,
259
262
})
260
263
261
264
logger .Info ("syncing" )
262
- outInstallPlan , syncError := transitionInstallPlanState (o , * plan )
265
+ outInstallPlan , syncError := transitionInstallPlanState (logger . Logger , o , * plan )
263
266
264
267
if syncError != nil {
265
268
logger = logger .WithField ("syncError" , syncError )
@@ -297,23 +300,17 @@ type installPlanTransitioner interface {
297
300
298
301
var _ installPlanTransitioner = & Operator {}
299
302
300
- func transitionInstallPlanState (transitioner installPlanTransitioner , in v1alpha1.InstallPlan ) (* v1alpha1.InstallPlan , error ) {
301
- logger := log .WithFields (log.Fields {
302
- "ip" : in .GetName (),
303
- "namespace" : in .GetNamespace (),
304
- "phase" : in .Status .Phase ,
305
- })
306
-
303
+ func transitionInstallPlanState (log * logrus.Logger , transitioner installPlanTransitioner , in v1alpha1.InstallPlan ) (* v1alpha1.InstallPlan , error ) {
307
304
out := in .DeepCopy ()
308
305
309
306
switch in .Status .Phase {
310
307
case v1alpha1 .InstallPlanPhaseNone :
311
- logger .Debugf ("setting phase to %s" , v1alpha1 .InstallPlanPhasePlanning )
308
+ log .Debugf ("setting phase to %s" , v1alpha1 .InstallPlanPhasePlanning )
312
309
out .Status .Phase = v1alpha1 .InstallPlanPhasePlanning
313
310
return out , nil
314
311
315
312
case v1alpha1 .InstallPlanPhasePlanning :
316
- logger .Debug ("attempting to resolve" )
313
+ log .Debug ("attempting to resolve" )
317
314
if err := transitioner .ResolvePlan (out ); err != nil {
318
315
out .Status .SetCondition (v1alpha1 .ConditionFailed (v1alpha1 .InstallPlanResolved ,
319
316
v1alpha1 .InstallPlanReasonInstallCheckFailed , err ))
@@ -331,15 +328,15 @@ func transitionInstallPlanState(transitioner installPlanTransitioner, in v1alpha
331
328
332
329
case v1alpha1 .InstallPlanPhaseRequiresApproval :
333
330
if out .Spec .Approved {
334
- logger .Debugf ("approved, setting to %s" , v1alpha1 .InstallPlanPhasePlanning )
331
+ log .Debugf ("approved, setting to %s" , v1alpha1 .InstallPlanPhasePlanning )
335
332
out .Status .Phase = v1alpha1 .InstallPlanPhaseInstalling
336
333
} else {
337
- logger .Debug ("not approved, skipping sync" )
334
+ log .Debug ("not approved, skipping sync" )
338
335
}
339
336
return out , nil
340
337
341
338
case v1alpha1 .InstallPlanPhaseInstalling :
342
- logger .Debug ("attempting to install" )
339
+ log .Debug ("attempting to install" )
343
340
if err := transitioner .ExecutePlan (out ); err != nil {
344
341
out .Status .SetCondition (v1alpha1 .ConditionFailed (v1alpha1 .InstallPlanInstalled ,
345
342
v1alpha1 .InstallPlanReasonComponentFailed , err ))
@@ -447,8 +444,7 @@ func (o *Operator) ExecutePlan(plan *v1alpha1.InstallPlan) error {
447
444
continue
448
445
449
446
case v1alpha1 .StepStatusUnknown , v1alpha1 .StepStatusNotPresent :
450
- log .Debugf ("resource kind: %s" , step .Resource .Kind )
451
- log .Debugf ("resource name: %s" , step .Resource .Name )
447
+ o .Log .WithFields (logrus.Fields {"kind" : step .Resource .Kind , "name" : step .Resource .Name }).Debug ("execute resource" )
452
448
switch step .Resource .Kind {
453
449
case crdKind :
454
450
// Marshal the manifest into a CRD instance.
0 commit comments