@@ -33,12 +33,13 @@ type LeafPVController struct {
33
33
RootClient client.Client
34
34
RootClientSet kubernetes.Interface
35
35
ClusterName string
36
+ IsOne2OneMode bool
36
37
}
37
38
38
39
func (l * LeafPVController ) Reconcile (ctx context.Context , request reconcile.Request ) (reconcile.Result , error ) {
39
40
pv := & v1.PersistentVolume {}
40
- err := l .LeafClient .Get (ctx , request .NamespacedName , pv )
41
41
pvNeedDelete := false
42
+ err := l .LeafClient .Get (ctx , request .NamespacedName , pv )
42
43
if err != nil {
43
44
if ! errors .IsNotFound (err ) {
44
45
klog .Errorf ("get pv from leaf cluster failed, error: %v" , err )
@@ -56,7 +57,7 @@ func (l *LeafPVController) Reconcile(ctx context.Context, request reconcile.Requ
56
57
return reconcile.Result {RequeueAfter : LeafPVRequeueTime }, nil
57
58
}
58
59
59
- if pv .DeletionTimestamp != nil {
60
+ if pvNeedDelete || pv .DeletionTimestamp != nil {
60
61
return reconcile.Result {}, nil
61
62
}
62
63
@@ -84,7 +85,7 @@ func (l *LeafPVController) Reconcile(ctx context.Context, request reconcile.Requ
84
85
}
85
86
86
87
rootPV = pv .DeepCopy ()
87
- filterPV (rootPV , l . ClusterName )
88
+ filterPV (rootPV , utils . NodeAffinity4RootPV ( pv , l . IsOne2OneMode , l . ClusterName ) )
88
89
nn := types.NamespacedName {
89
90
Name : rootPV .Spec .ClaimRef .Name ,
90
91
Namespace : rootPV .Spec .ClaimRef .Namespace ,
@@ -128,7 +129,7 @@ func (l *LeafPVController) Reconcile(ctx context.Context, request reconcile.Requ
128
129
return reconcile.Result {}, nil
129
130
}
130
131
131
- filterPV (rootPV , l . ClusterName )
132
+ filterPV (rootPV , utils . NodeAffinity4RootPV ( pv , l . IsOne2OneMode , l . ClusterName ) )
132
133
if pvCopy .Spec .ClaimRef != nil || rootPV .Spec .ClaimRef == nil {
133
134
nn := types.NamespacedName {
134
135
Name : pvCopy .Spec .ClaimRef .Name ,
0 commit comments