@@ -71,40 +71,37 @@ func (r *Reconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Resu
71
71
return ctrl.Result {}, client .IgnoreNotFound (err )
72
72
}
73
73
74
- // Skip the namespace that is not created in workspace
75
- if _ , ok := namespace .Labels [constants .WorkspaceLabelKey ]; ! ok {
76
- return ctrl.Result {}, nil
77
- }
78
-
79
- if namespace .ObjectMeta .DeletionTimestamp .IsZero () {
80
- // The object is not being deleted, so if it does not have our finalizer,
81
- // then lets add the finalizer and update the object.
82
- if ! controllerutil .ContainsFinalizer (namespace , constants .CascadingDeletionFinalizer ) {
83
- if err := r .initCreatorRoleBinding (ctx , namespace ); err != nil {
84
- return ctrl.Result {}, err
85
- }
86
- updated := namespace .DeepCopy ()
87
- // Remove legacy finalizer
88
- controllerutil .RemoveFinalizer (updated , "finalizers.kubesphere.io/namespaces" )
89
- // Remove legacy ownerReferences
90
- updated .OwnerReferences = make ([]metav1.OwnerReference , 0 )
91
- controllerutil .AddFinalizer (updated , constants .CascadingDeletionFinalizer )
92
- return ctrl.Result {}, r .Patch (ctx , updated , client .MergeFrom (namespace ))
93
- }
94
- } else {
74
+ if ! namespace .ObjectMeta .DeletionTimestamp .IsZero () {
95
75
// The object is being deleted
96
76
if controllerutil .ContainsFinalizer (namespace , constants .CascadingDeletionFinalizer ) {
97
77
controllerutil .RemoveFinalizer (namespace , constants .CascadingDeletionFinalizer )
98
78
if err := r .Update (ctx , namespace ); err != nil {
99
- return ctrl.Result {}, err
79
+ return ctrl.Result {}, fmt . Errorf ( "failed to remove finalizer: %v" , err )
100
80
}
101
81
}
102
82
// Our finalizer has finished, so the reconciler can do nothing.
103
83
return ctrl.Result {}, nil
104
84
}
105
85
86
+ _ , workspaceLabelExists := namespace .Labels [constants .WorkspaceLabelKey ]
87
+
88
+ // The object is not being deleted, so if it does not have our finalizer,
89
+ // then lets add the finalizer and update the object.
90
+ if workspaceLabelExists && ! controllerutil .ContainsFinalizer (namespace , constants .CascadingDeletionFinalizer ) {
91
+ if err := r .initCreatorRoleBinding (ctx , namespace ); err != nil {
92
+ return ctrl.Result {}, fmt .Errorf ("failed to init creator role binding: %v" , err )
93
+ }
94
+ updated := namespace .DeepCopy ()
95
+ // Remove legacy finalizer
96
+ controllerutil .RemoveFinalizer (updated , "finalizers.kubesphere.io/namespaces" )
97
+ // Remove legacy ownerReferences
98
+ updated .OwnerReferences = make ([]metav1.OwnerReference , 0 )
99
+ controllerutil .AddFinalizer (updated , constants .CascadingDeletionFinalizer )
100
+ return ctrl.Result {}, r .Patch (ctx , updated , client .MergeFrom (namespace ))
101
+ }
102
+
106
103
if err := r .initRoles (ctx , namespace ); err != nil {
107
- return ctrl.Result {}, err
104
+ return ctrl.Result {}, fmt . Errorf ( "failed to init builtin roles: %v" , err )
108
105
}
109
106
110
107
r .recorder .Event (namespace , corev1 .EventTypeNormal , kscontroller .Synced , kscontroller .MessageResourceSynced )
0 commit comments