@@ -23,7 +23,6 @@ import (
2323
2424 crdv1 "github.com/kubernetes-csi/external-snapshotter/client/v3/apis/volumesnapshot/v1beta1"
2525 v1 "k8s.io/api/core/v1"
26- storage "k8s.io/api/storage/v1"
2726 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2827)
2928
@@ -39,27 +38,6 @@ var metaTimeNowUnix = &metav1.Time{
3938var defaultSize int64 = 1000
4039var deletePolicy = crdv1 .VolumeSnapshotContentDelete
4140var retainPolicy = crdv1 .VolumeSnapshotContentRetain
42- var sameDriverStorageClass = & storage.StorageClass {
43- TypeMeta : metav1.TypeMeta {
44- Kind : "StorageClass" ,
45- },
46- ObjectMeta : metav1.ObjectMeta {
47- Name : sameDriver ,
48- },
49- Provisioner : mockDriverName ,
50- Parameters : class1Parameters ,
51- }
52-
53- var diffDriverStorageClass = & storage.StorageClass {
54- TypeMeta : metav1.TypeMeta {
55- Kind : "StorageClass" ,
56- },
57- ObjectMeta : metav1.ObjectMeta {
58- Name : diffDriver ,
59- },
60- Provisioner : mockDriverName ,
61- Parameters : class1Parameters ,
62- }
6341
6442// Test single call to SyncSnapshot, expecting create snapshot to happen.
6543// 1. Fill in the controller with initial data
@@ -73,8 +51,8 @@ func TestCreateSnapshotSync(t *testing.T) {
7351 expectedContents : newContentArrayNoStatus ("snapcontent-snapuid6-1" , "snapuid6-1" , "snap6-1" , "sid6-1" , classGold , "" , "pv-handle6-1" , deletionPolicy , nil , nil , false , false ),
7452 initialSnapshots : newSnapshotArray ("snap6-1" , "snapuid6-1" , "claim6-1" , "" , classGold , "" , & False , nil , nil , nil , false , true , nil ),
7553 expectedSnapshots : newSnapshotArray ("snap6-1" , "snapuid6-1" , "claim6-1" , "" , classGold , "snapcontent-snapuid6-1" , & False , nil , nil , nil , false , true , nil ),
76- initialClaims : newClaimArray ("claim6-1" , "pvc-uid6-1" , "1Gi" , "volume6-1" , v1 .ClaimBound , & classEmpty ),
77- initialVolumes : newVolumeArray ("volume6-1" , "pv-uid6-1" , "pv-handle6-1" , "1Gi" , "pvc-uid6-1" , "claim6-1" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
54+ initialClaims : newClaimArray ("claim6-1" , "pvc-uid6-1" , "1Gi" , "volume6-1" , v1 .ClaimBound , & classGold ),
55+ initialVolumes : newVolumeArray ("volume6-1" , "pv-uid6-1" , "pv-handle6-1" , "1Gi" , "pvc-uid6-1" , "claim6-1" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classGold ),
7856 errors : noerrors ,
7957 test : testSyncSnapshot ,
8058 },
@@ -108,26 +86,25 @@ func TestCreateSnapshotSync(t *testing.T) {
10886 test : testSyncSnapshot ,
10987 },
11088 {
111- name : "7-3 - fail to create snapshot without snapshot class " ,
112- initialContents : nocontents ,
113- expectedContents : nocontents ,
114- initialSnapshots : newSnapshotArray ("snap7-3" , "snapuid7-3" , "claim7-3" , "" , "" , "" , & False , nil , nil , nil , false , true , nil ),
115- expectedSnapshots : newSnapshotArray ("snap7-3" , "snapuid7-3" , "claim7-3" , "" , "" , "" , & False , nil , nil , newVolumeError ("Failed to create snapshot content with error failed to get input parameters to create snapshot snap7-3: \" failed to take snapshot snap7-3 without a snapshot class\" " ), false , true , nil ),
116- initialClaims : newClaimArray ("claim7-3" , "pvc-uid7-3" , "1Gi" , "volume7-3" , v1 .ClaimBound , & classEmpty ),
117- initialVolumes : newVolumeArray ("volume7-3" , "pv-uid7-3" , "pv-handle7-3" , "1Gi" , "pvc-uid7-3" , "claim7-3" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
118- initialStorageClasses : []* storage.StorageClass {diffDriverStorageClass },
119- expectedEvents : []string {"Warning SnapshotContentCreationFailed" },
120- errors : noerrors ,
121- expectSuccess : false ,
122- test : testSyncSnapshot ,
89+ name : "7-3 - fail to create snapshot without snapshot class " ,
90+ initialContents : nocontents ,
91+ expectedContents : nocontents ,
92+ initialSnapshots : newSnapshotArray ("snap7-3" , "snapuid7-3" , "claim7-3" , "" , "" , "" , & False , nil , nil , nil , false , true , nil ),
93+ expectedSnapshots : newSnapshotArray ("snap7-3" , "snapuid7-3" , "claim7-3" , "" , "" , "" , & False , nil , nil , newVolumeError ("Failed to create snapshot content with error failed to get input parameters to create snapshot snap7-3: \" failed to take snapshot snap7-3 without a snapshot class\" " ), false , true , nil ),
94+ initialClaims : newClaimArray ("claim7-3" , "pvc-uid7-3" , "1Gi" , "volume7-3" , v1 .ClaimBound , & classEmpty ),
95+ initialVolumes : newVolumeArray ("volume7-3" , "pv-uid7-3" , "pv-handle7-3" , "1Gi" , "pvc-uid7-3" , "claim7-3" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
96+ expectedEvents : []string {"Warning SnapshotContentCreationFailed" },
97+ errors : noerrors ,
98+ expectSuccess : false ,
99+ test : testSyncSnapshot ,
123100 },
124101 {
125102 name : "7-4 - fail create snapshot with no-existing claim" ,
126103 initialContents : nocontents ,
127104 expectedContents : nocontents ,
128105 initialSnapshots : newSnapshotArray ("snap7-4" , "snapuid7-4" , "claim7-4" , "" , classGold , "" , & False , nil , nil , nil , false , true , nil ),
129106 expectedSnapshots : newSnapshotArray ("snap7-4" , "snapuid7-4" , "claim7-4" , "" , classGold , "" , & False , nil , nil , newVolumeError ("Failed to create snapshot content with error snapshot controller failed to update snap7-4 on API server: cannot get claim from snapshot" ), false , true , nil ),
130- initialVolumes : newVolumeArray ("volume7-4" , "pv-uid7-4" , "pv-handle7-4" , "1Gi" , "pvc-uid7-4" , "claim7-4" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
107+ initialVolumes : newVolumeArray ("volume7-4" , "pv-uid7-4" , "pv-handle7-4" , "1Gi" , "pvc-uid7-4" , "claim7-4" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classGold ),
131108 expectedEvents : []string {"Warning SnapshotContentCreationFailed" },
132109 errors : noerrors ,
133110 expectSuccess : false ,
@@ -139,7 +116,7 @@ func TestCreateSnapshotSync(t *testing.T) {
139116 expectedContents : nocontents ,
140117 initialSnapshots : newSnapshotArray ("snap7-5" , "snapuid7-5" , "claim7-5" , "" , classGold , "" , & False , nil , nil , nil , false , true , nil ),
141118 expectedSnapshots : newSnapshotArray ("snap7-5" , "snapuid7-5" , "claim7-5" , "" , classGold , "" , & False , nil , nil , newVolumeError ("Failed to create snapshot content with error failed to get input parameters to create snapshot snap7-5: \" failed to retrieve PV volume7-5 from the API server: \\ \" cannot find volume volume7-5\\ \" \" " ), false , true , nil ),
142- initialClaims : newClaimArray ("claim7-5" , "pvc-uid7-5" , "1Gi" , "volume7-5" , v1 .ClaimBound , & classEmpty ),
119+ initialClaims : newClaimArray ("claim7-5" , "pvc-uid7-5" , "1Gi" , "volume7-5" , v1 .ClaimBound , & classGold ),
143120 expectedEvents : []string {"Warning SnapshotContentCreationFailed" },
144121 errors : noerrors ,
145122 expectSuccess : false ,
@@ -152,7 +129,7 @@ func TestCreateSnapshotSync(t *testing.T) {
152129 expectedContents : nocontents ,
153130 initialSnapshots : newSnapshotArray ("snap7-6" , "snapuid7-6" , "claim7-6" , "" , classGold , "" , & False , nil , nil , nil , false , true , nil ),
154131 expectedSnapshots : newSnapshotArray ("snap7-6" , "snapuid7-6" , "claim7-6" , "" , classGold , "" , & False , nil , nil , newVolumeError ("Failed to create snapshot content with error failed to get input parameters to create snapshot snap7-6: \" the PVC claim7-6 is not yet bound to a PV, will not attempt to take a snapshot\" " ), false , true , nil ),
155- initialClaims : newClaimArray ("claim7-6" , "pvc-uid7-6" , "1Gi" , "" , v1 .ClaimPending , & classEmpty ),
132+ initialClaims : newClaimArray ("claim7-6" , "pvc-uid7-6" , "1Gi" , "" , v1 .ClaimPending , & classGold ),
156133 expectedEvents : []string {"Warning SnapshotContentCreationFailed" },
157134 errors : noerrors ,
158135 expectSuccess : false ,
@@ -165,8 +142,8 @@ func TestCreateSnapshotSync(t *testing.T) {
165142 expectedContents : newContentArray ("snapcontent-snapuid7-7" , "snapuid7-7" , "snap7-7" , "sid7-7" , classGold , "" , "pv-handle7-7" , deletionPolicy , nil , nil , false ),
166143 initialSnapshots : newSnapshotArray ("snap7-7" , "snapuid7-7" , "claim7-7" , "" , classGold , "snapcontent-snapuid7-7" , & True , nil , nil , nil , false , true , nil ),
167144 expectedSnapshots : newSnapshotArray ("snap7-7" , "snapuid7-7" , "claim7-7" , "" , classGold , "snapcontent-snapuid7-7" , & True , nil , nil , nil , false , true , nil ),
168- initialClaims : newClaimArrayFinalizer ("claim7-7" , "pvc-uid7-7" , "1Gi" , "volume7-7" , v1 .ClaimBound , & classEmpty ),
169- initialVolumes : newVolumeArray ("volume7-7" , "pv-uid7-7" , "pv-handle7-7" , "1Gi" , "pvc-uid7-7" , "claim7-7" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
145+ initialClaims : newClaimArrayFinalizer ("claim7-7" , "pvc-uid7-7" , "1Gi" , "volume7-7" , v1 .ClaimBound , & classGold ),
146+ initialVolumes : newVolumeArray ("volume7-7" , "pv-uid7-7" , "pv-handle7-7" , "1Gi" , "pvc-uid7-7" , "claim7-7" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classGold ),
170147 errors : []reactorError {
171148 {"update" , "persistentvolumeclaims" , errors .New ("mock update error" )},
172149 {"update" , "persistentvolumeclaims" , errors .New ("mock update error" )},
@@ -181,8 +158,8 @@ func TestCreateSnapshotSync(t *testing.T) {
181158 expectedContents : newContentArrayNoStatus ("snapcontent-snapuid7-9" , "snapuid7-9" , "snap7-9" , "sid7-9" , classGold , "" , "pv-handle7-9" , deletionPolicy , nil , nil , false , false ),
182159 initialSnapshots : newSnapshotArray ("snap7-9" , "snapuid7-9" , "claim7-9" , "" , classGold , "" , & False , nil , nil , nil , false , true , nil ),
183160 expectedSnapshots : newSnapshotArray ("snap7-9" , "snapuid7-9" , "claim7-9" , "" , classGold , "" , & False , nil , nil , nil , false , true , nil ),
184- initialClaims : newClaimArray ("claim7-9" , "pvc-uid7-9" , "1Gi" , "volume7-9" , v1 .ClaimBound , & classEmpty ),
185- initialVolumes : newVolumeArray ("volume7-9" , "pv-uid7-9" , "pv-handle7-9" , "1Gi" , "pvc-uid7-9" , "claim7-9" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
161+ initialClaims : newClaimArray ("claim7-9" , "pvc-uid7-9" , "1Gi" , "volume7-9" , v1 .ClaimBound , & classGold ),
162+ initialVolumes : newVolumeArray ("volume7-9" , "pv-uid7-9" , "pv-handle7-9" , "1Gi" , "pvc-uid7-9" , "claim7-9" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classGold ),
186163 errors : []reactorError {
187164 {"update" , "volumesnapshots" , errors .New ("mock update error" )},
188165 {"update" , "volumesnapshots" , errors .New ("mock update error" )},
@@ -204,17 +181,13 @@ func TestCreateSnapshotSync(t *testing.T) {
204181 test : testSyncSnapshot ,
205182 },
206183 {
207- // TODO(xiangqian): this test case needs to be
208- // revisited the scenario
209- // of VolumeSnapshotContent saving failure. Since there will be no content object
210- // in API server, it could potentially cause leaking issue
211184 name : "7-11 - fail create snapshot due to cannot save snapshot content" ,
212185 initialContents : nocontents ,
213186 expectedContents : nocontents ,
214187 initialSnapshots : newSnapshotArray ("snap7-11" , "snapuid7-11" , "claim7-11" , "" , classGold , "" , & False , nil , nil , nil , false , true , nil ),
215188 expectedSnapshots : newSnapshotArray ("snap7-11" , "snapuid7-11" , "claim7-11" , "" , classGold , "" , & False , nil , nil , newVolumeError ("Failed to create snapshot content with error snapshot controller failed to update default/snap7-11 on API server: mock create error" ), false , true , nil ),
216- initialClaims : newClaimArray ("claim7-11" , "pvc-uid7-11" , "1Gi" , "volume7-11" , v1 .ClaimBound , & classEmpty ),
217- initialVolumes : newVolumeArray ("volume7-11" , "pv-uid7-11" , "pv-handle7-11" , "1Gi" , "pvc-uid7-11" , "claim7-11" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classEmpty ),
189+ initialClaims : newClaimArray ("claim7-11" , "pvc-uid7-11" , "1Gi" , "volume7-11" , v1 .ClaimBound , & classGold ),
190+ initialVolumes : newVolumeArray ("volume7-11" , "pv-uid7-11" , "pv-handle7-11" , "1Gi" , "pvc-uid7-11" , "claim7-11" , v1 .VolumeBound , v1 .PersistentVolumeReclaimDelete , classGold ),
218191 errors : []reactorError {
219192 {"create" , "volumesnapshotcontents" , errors .New ("mock create error" )},
220193 {"create" , "volumesnapshotcontents" , errors .New ("mock create error" )},
0 commit comments