@@ -8,7 +8,6 @@ package pmemcsidriver
8
8
9
9
import (
10
10
"context"
11
- "errors"
12
11
"fmt"
13
12
14
13
pmemlog "github.com/intel/pmem-csi/pkg/logger"
@@ -74,6 +73,10 @@ type pmemCSIProvisioner struct {
74
73
provisionController * controller.ProvisionController
75
74
}
76
75
76
+ var _ controller.Qualifier = & pmemCSIProvisioner {}
77
+ var _ controller.DeletionGuard = & pmemCSIProvisioner {}
78
+ var _ controller.BlockProvisioner = & pmemCSIProvisioner {}
79
+
77
80
// startRescheduler logs errors and cancels the context when it runs
78
81
// into a problem, either during the startup phase (blocking) or later
79
82
// at runtime (in a go routine).
@@ -131,8 +134,18 @@ func (pcp *pmemCSIProvisioner) Provision(ctx context.Context, opts controller.Pr
131
134
return nil , controller .ProvisioningNoChange , err
132
135
}
133
136
137
+ func (pcp * pmemCSIProvisioner ) ShouldDelete (context.Context , * v1.PersistentVolume ) bool {
138
+ return false
139
+ }
140
+
134
141
func (pcp * pmemCSIProvisioner ) Delete (context.Context , * v1.PersistentVolume ) error {
135
- return errors .New ("not implemented" )
142
+ return & controller.IgnoredError {
143
+ Reason : "deletion must be done on the node" ,
144
+ }
145
+ }
146
+
147
+ func (pcp * pmemCSIProvisioner ) SupportsBlock (context.Context ) bool {
148
+ return true
136
149
}
137
150
138
151
func (pcp * pmemCSIProvisioner ) shouldReschedule (ctx context.Context , pvc * v1.PersistentVolumeClaim , node * v1.Node ) (bool , error ) {
0 commit comments