Skip to content
This repository was archived by the owner on Oct 14, 2020. It is now read-only.

Commit cb4c272

Browse files
J12934jorgestiganigthknight
committed
Extracted setHookStatus from reconciler function
Co-authored-by: Jorge Estigarribia <jorgestiga@hotmail.com> Co-authored-by: Yannik Fuhrmeister <12710254+fuhrmeistery@users.noreply.github.com>
1 parent 7f447d8 commit cb4c272

File tree

1 file changed

+43
-37
lines changed

1 file changed

+43
-37
lines changed

operator/controllers/execution/scan_controller.go

Lines changed: 43 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -113,43 +113,7 @@ func (r *ScanReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
113113
case "Parsing":
114114
err = r.checkIfParsingIsCompleted(&scan)
115115
case "ParseCompleted":
116-
// Hook status erstellen
117-
118-
var scanCompletionHooks executionv1.ScanCompletionHookList
119-
120-
if err := r.List(ctx, &scanCompletionHooks, client.InNamespace(scan.Namespace)); err != nil {
121-
r.Log.V(7).Info("Unable to fetch ScanCompletionHooks")
122-
return ctrl.Result{}, err
123-
}
124-
125-
r.Log.Info("Found ScanCompletionHooks", "ScanCompletionHooks", len(scanCompletionHooks.Items))
126-
127-
readAndWriteHooks := []executionv1.ScanCompletionHook{}
128-
// filter all ReadAndWriteHooks in the scamCompletionHooks list
129-
for _, hook := range scanCompletionHooks.Items {
130-
if hook.Spec.Type == executionv1.ReadAndWrite {
131-
readAndWriteHooks = append(readAndWriteHooks, hook)
132-
}
133-
}
134-
135-
r.Log.Info("Found ReadAndWriteHooks", "ReadAndWriteHooks", len(readAndWriteHooks))
136-
137-
hookStatus := []executionv1.HookStatus{}
138-
139-
for _, hook := range readAndWriteHooks {
140-
hookStatus = append(hookStatus, executionv1.HookStatus{
141-
HookName: hook.Name,
142-
State: executionv1.Pending,
143-
})
144-
}
145-
146-
scan.Status.State = "ReadAndWriteHookProcessing"
147-
scan.Status.ReadAndWriteHookStatus = hookStatus
148-
149-
if err := r.Status().Update(ctx, &scan); err != nil {
150-
r.Log.Error(err, "unable to update Scan status")
151-
return ctrl.Result{}, err
152-
}
116+
err = r.setHookStatus(&scan)
153117
case "ReadAndWriteHookProcessing":
154118
// First Array entry which is not Completed.
155119
var nonCompletedHook *executionv1.HookStatus
@@ -1191,3 +1155,45 @@ func (r *ScanReconciler) SetupWithManager(mgr ctrl.Manager) error {
11911155
Owns(&batch.Job{}).
11921156
Complete(r)
11931157
}
1158+
1159+
func (r *ScanReconciler) setHookStatus(scan *executionv1.Scan) error {
1160+
// Set (pending) Hook status on the scan
1161+
ctx := context.Background()
1162+
var scanCompletionHooks executionv1.ScanCompletionHookList
1163+
1164+
if err := r.List(ctx, &scanCompletionHooks, client.InNamespace(scan.Namespace)); err != nil {
1165+
r.Log.V(7).Info("Unable to fetch ScanCompletionHooks")
1166+
return err
1167+
}
1168+
1169+
r.Log.Info("Found ScanCompletionHooks", "ScanCompletionHooks", len(scanCompletionHooks.Items))
1170+
1171+
readAndWriteHooks := []executionv1.ScanCompletionHook{}
1172+
// filter all ReadAndWriteHooks in the scamCompletionHooks list
1173+
for _, hook := range scanCompletionHooks.Items {
1174+
if hook.Spec.Type == executionv1.ReadAndWrite {
1175+
readAndWriteHooks = append(readAndWriteHooks, hook)
1176+
}
1177+
}
1178+
1179+
r.Log.Info("Found ReadAndWriteHooks", "ReadAndWriteHooks", len(readAndWriteHooks))
1180+
1181+
hookStatus := []executionv1.HookStatus{}
1182+
1183+
for _, hook := range readAndWriteHooks {
1184+
hookStatus = append(hookStatus, executionv1.HookStatus{
1185+
HookName: hook.Name,
1186+
State: executionv1.Pending,
1187+
})
1188+
}
1189+
1190+
scan.Status.State = "ReadAndWriteHookProcessing"
1191+
scan.Status.ReadAndWriteHookStatus = hookStatus
1192+
1193+
if err := r.Status().Update(ctx, scan); err != nil {
1194+
r.Log.Error(err, "unable to update Scan status")
1195+
return err
1196+
}
1197+
1198+
return nil
1199+
}

0 commit comments

Comments
 (0)