...
|
...
|
@@ -1,6 +1,8 @@
|
1
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/apps_v1alpha1.json cascade-kubernetes/api/swagger-spec/apps_v1alpha1.json
|
2
|
|
-+++ cascade-kubernetes/api/swagger-spec/apps_v1alpha1.json 2018-01-31 02:12:47.000000000 +0000
|
|
1
|
+Binary files kubernetes-original/api/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/api/._.DS_Store differ
|
|
2
|
+Binary files kubernetes-original/api/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/api/.DS_Store differ
|
|
3
|
+diff --no-dereference -uNr kubernetes-original/api/swagger-spec/apps_v1alpha1.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/apps_v1alpha1.json
|
|
4
|
+--- kubernetes-original/api/swagger-spec/apps_v1alpha1.json 2018-03-20 19:21:10.000000000 +0000
|
3
|
5
|
@@ -1459,6 +1459,10 @@
|
4
|
6
|
"photonPersistentDisk": {
|
5
|
7
|
"$ref": "v1.PhotonPersistentDiskVolumeSource",
|
...
|
...
|
@@ -36,10 +38,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/apps_v1alpha1.json
|
36
|
36
|
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
|
37
|
37
|
}
|
38
|
38
|
}
|
39
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/apps_v1beta1.json cascade-kubernetes/api/swagger-spec/apps_v1beta1.json
|
40
|
|
-+++ cascade-kubernetes/api/swagger-spec/apps_v1beta1.json 2018-01-31 02:12:47.000000000 +0000
|
41
|
|
-@@ -4400,6 +4400,10 @@
|
|
39
|
+diff --no-dereference -uNr kubernetes-original/api/swagger-spec/apps_v1beta1.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/apps_v1beta1.json
|
|
40
|
+--- kubernetes-original/api/swagger-spec/apps_v1beta1.json 2018-03-20 19:21:10.000000000 +0000
|
|
41
|
+@@ -4479,6 +4479,10 @@
|
42
|
42
|
"$ref": "v1.PhotonPersistentDiskVolumeSource",
|
43
|
43
|
"description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine"
|
44
|
44
|
},
|
...
|
...
|
@@ -50,7 +52,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/apps_v1beta1.json c
|
50
|
50
|
"projected": {
|
51
|
51
|
"$ref": "v1.ProjectedVolumeSource",
|
52
|
52
|
"description": "Items for all in one resources secrets, configmaps, and downward API"
|
53
|
|
-@@ -5123,6 +5127,23 @@
|
|
53
|
+@@ -5202,6 +5206,23 @@
|
54
|
54
|
},
|
55
|
55
|
"fsType": {
|
56
|
56
|
"type": "string",
|
...
|
...
|
@@ -74,10 +76,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/apps_v1beta1.json c
|
74
|
74
|
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
|
75
|
75
|
}
|
76
|
76
|
}
|
77
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/apps_v1beta2.json cascade-kubernetes/api/swagger-spec/apps_v1beta2.json
|
78
|
|
-+++ cascade-kubernetes/api/swagger-spec/apps_v1beta2.json 2018-01-31 02:12:47.000000000 +0000
|
79
|
|
-@@ -6730,6 +6730,10 @@
|
|
77
|
+diff --no-dereference -uNr kubernetes-original/api/swagger-spec/apps_v1beta2.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/apps_v1beta2.json
|
|
78
|
+--- kubernetes-original/api/swagger-spec/apps_v1beta2.json 2018-03-20 19:21:10.000000000 +0000
|
|
79
|
+@@ -6845,6 +6845,10 @@
|
80
|
80
|
"$ref": "v1.PhotonPersistentDiskVolumeSource",
|
81
|
81
|
"description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine"
|
82
|
82
|
},
|
...
|
...
|
@@ -88,7 +90,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/apps_v1beta2.json c
|
88
|
88
|
"projected": {
|
89
|
89
|
"$ref": "v1.ProjectedVolumeSource",
|
90
|
90
|
"description": "Items for all in one resources secrets, configmaps, and downward API"
|
91
|
|
-@@ -7453,6 +7457,23 @@
|
|
91
|
+@@ -7568,6 +7572,23 @@
|
92
|
92
|
},
|
93
|
93
|
"fsType": {
|
94
|
94
|
"type": "string",
|
...
|
...
|
@@ -112,10 +114,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/apps_v1beta2.json c
|
112
|
112
|
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
|
113
|
113
|
}
|
114
|
114
|
}
|
115
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/batch_v1beta1.json cascade-kubernetes/api/swagger-spec/batch_v1beta1.json
|
116
|
|
-+++ cascade-kubernetes/api/swagger-spec/batch_v1beta1.json 2018-01-31 02:12:47.000000000 +0000
|
117
|
|
-@@ -1850,6 +1850,10 @@
|
|
115
|
+diff --no-dereference -uNr kubernetes-original/api/swagger-spec/batch_v1beta1.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/batch_v1beta1.json
|
|
116
|
+--- kubernetes-original/api/swagger-spec/batch_v1beta1.json 2018-03-20 19:21:10.000000000 +0000
|
|
117
|
+@@ -1874,6 +1874,10 @@
|
118
|
118
|
"$ref": "v1.PhotonPersistentDiskVolumeSource",
|
119
|
119
|
"description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine"
|
120
|
120
|
},
|
...
|
...
|
@@ -126,7 +128,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/batch_v1beta1.json
|
126
|
126
|
"projected": {
|
127
|
127
|
"$ref": "v1.ProjectedVolumeSource",
|
128
|
128
|
"description": "Items for all in one resources secrets, configmaps, and downward API"
|
129
|
|
-@@ -2573,6 +2577,23 @@
|
|
129
|
+@@ -2597,6 +2601,23 @@
|
130
|
130
|
},
|
131
|
131
|
"fsType": {
|
132
|
132
|
"type": "string",
|
...
|
...
|
@@ -150,10 +152,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/batch_v1beta1.json
|
150
|
150
|
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
|
151
|
151
|
}
|
152
|
152
|
}
|
153
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/batch_v1.json cascade-kubernetes/api/swagger-spec/batch_v1.json
|
154
|
|
-+++ cascade-kubernetes/api/swagger-spec/batch_v1.json 2018-01-31 02:12:47.000000000 +0000
|
155
|
|
-@@ -1795,6 +1795,10 @@
|
|
153
|
+diff --no-dereference -uNr kubernetes-original/api/swagger-spec/batch_v1.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/batch_v1.json
|
|
154
|
+--- kubernetes-original/api/swagger-spec/batch_v1.json 2018-03-20 19:21:10.000000000 +0000
|
|
155
|
+@@ -1819,6 +1819,10 @@
|
156
|
156
|
"$ref": "v1.PhotonPersistentDiskVolumeSource",
|
157
|
157
|
"description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine"
|
158
|
158
|
},
|
...
|
...
|
@@ -164,7 +166,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/batch_v1.json casca
|
164
|
164
|
"projected": {
|
165
|
165
|
"$ref": "v1.ProjectedVolumeSource",
|
166
|
166
|
"description": "Items for all in one resources secrets, configmaps, and downward API"
|
167
|
|
-@@ -2518,6 +2522,23 @@
|
|
167
|
+@@ -2542,6 +2546,23 @@
|
168
|
168
|
},
|
169
|
169
|
"fsType": {
|
170
|
170
|
"type": "string",
|
...
|
...
|
@@ -188,10 +190,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/batch_v1.json casca
|
188
|
188
|
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
|
189
|
189
|
}
|
190
|
190
|
}
|
191
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/batch_v2alpha1.json cascade-kubernetes/api/swagger-spec/batch_v2alpha1.json
|
192
|
|
-+++ cascade-kubernetes/api/swagger-spec/batch_v2alpha1.json 2018-01-31 02:12:47.000000000 +0000
|
193
|
|
-@@ -1865,6 +1865,10 @@
|
|
191
|
+diff --no-dereference -uNr kubernetes-original/api/swagger-spec/batch_v2alpha1.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/batch_v2alpha1.json
|
|
192
|
+--- kubernetes-original/api/swagger-spec/batch_v2alpha1.json 2018-03-20 19:21:10.000000000 +0000
|
|
193
|
+@@ -1889,6 +1889,10 @@
|
194
|
194
|
"storageos": {
|
195
|
195
|
"$ref": "v1.StorageOSVolumeSource",
|
196
|
196
|
"description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
|
...
|
...
|
@@ -202,7 +204,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/batch_v2alpha1.json
|
202
|
202
|
}
|
203
|
203
|
}
|
204
|
204
|
},
|
205
|
|
-@@ -2769,6 +2773,23 @@
|
|
205
|
+@@ -2793,6 +2797,23 @@
|
206
|
206
|
}
|
207
|
207
|
}
|
208
|
208
|
},
|
...
|
...
|
@@ -226,10 +228,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/batch_v2alpha1.json
|
226
|
226
|
"v1.Container": {
|
227
|
227
|
"id": "v1.Container",
|
228
|
228
|
"description": "A single application container that you want to run within a pod.",
|
229
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/extensions_v1beta1.json cascade-kubernetes/api/swagger-spec/extensions_v1beta1.json
|
230
|
|
-+++ cascade-kubernetes/api/swagger-spec/extensions_v1beta1.json 2018-01-31 02:12:47.000000000 +0000
|
231
|
|
-@@ -7363,6 +7363,10 @@
|
|
229
|
+diff --no-dereference -uNr kubernetes-original/api/swagger-spec/extensions_v1beta1.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/extensions_v1beta1.json
|
|
230
|
+--- kubernetes-original/api/swagger-spec/extensions_v1beta1.json 2018-03-20 19:21:10.000000000 +0000
|
|
231
|
+@@ -7502,6 +7502,10 @@
|
232
|
232
|
"storageos": {
|
233
|
233
|
"$ref": "v1.StorageOSVolumeSource",
|
234
|
234
|
"description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
|
...
|
...
|
@@ -240,7 +242,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/extensions_v1beta1.
|
240
|
240
|
}
|
241
|
241
|
}
|
242
|
242
|
},
|
243
|
|
-@@ -8071,6 +8075,23 @@
|
|
243
|
+@@ -8210,6 +8214,23 @@
|
244
|
244
|
},
|
245
|
245
|
"fsType": {
|
246
|
246
|
"type": "string",
|
...
|
...
|
@@ -264,10 +266,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/extensions_v1beta1.
|
264
|
264
|
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
|
265
|
265
|
}
|
266
|
266
|
}
|
267
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/settings.k8s.io_v1alpha1.json cascade-kubernetes/api/swagger-spec/settings.k8s.io_v1alpha1.json
|
268
|
|
-+++ cascade-kubernetes/api/swagger-spec/settings.k8s.io_v1alpha1.json 2018-01-31 02:12:47.000000000 +0000
|
269
|
|
-@@ -1661,6 +1661,10 @@
|
|
267
|
+diff --no-dereference -uNr kubernetes-original/api/swagger-spec/settings.k8s.io_v1alpha1.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/settings.k8s.io_v1alpha1.json
|
|
268
|
+--- kubernetes-original/api/swagger-spec/settings.k8s.io_v1alpha1.json 2018-03-20 19:21:10.000000000 +0000
|
|
269
|
+@@ -1676,6 +1676,10 @@
|
270
|
270
|
"storageos": {
|
271
|
271
|
"$ref": "v1.StorageOSVolumeSource",
|
272
|
272
|
"description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
|
...
|
...
|
@@ -278,7 +280,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/settings.k8s.io_v1a
|
278
|
278
|
}
|
279
|
279
|
}
|
280
|
280
|
},
|
281
|
|
-@@ -2331,6 +2335,23 @@
|
|
281
|
+@@ -2346,6 +2350,23 @@
|
282
|
282
|
},
|
283
|
283
|
"fsType": {
|
284
|
284
|
"type": "string",
|
...
|
...
|
@@ -302,10 +304,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/settings.k8s.io_v1a
|
302
|
302
|
"description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified."
|
303
|
303
|
}
|
304
|
304
|
}
|
305
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/v1.json cascade-kubernetes/api/swagger-spec/v1.json
|
306
|
|
-+++ cascade-kubernetes/api/swagger-spec/v1.json 2018-01-31 02:12:47.000000000 +0000
|
307
|
|
-@@ -20271,6 +20271,10 @@
|
|
305
|
+diff --no-dereference -uNr kubernetes-original/api/swagger-spec/v1.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/v1.json
|
|
306
|
+--- kubernetes-original/api/swagger-spec/v1.json 2018-03-20 19:21:10.000000000 +0000
|
|
307
|
+@@ -20629,6 +20629,10 @@
|
308
|
308
|
"$ref": "v1.PhotonPersistentDiskVolumeSource",
|
309
|
309
|
"description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine"
|
310
|
310
|
},
|
...
|
...
|
@@ -316,7 +318,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/v1.json cascade-kub
|
316
|
316
|
"portworxVolume": {
|
317
|
317
|
"$ref": "v1.PortworxVolumeSource",
|
318
|
318
|
"description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine"
|
319
|
|
-@@ -20834,6 +20838,23 @@
|
|
319
|
+@@ -21200,6 +21204,23 @@
|
320
|
320
|
}
|
321
|
321
|
}
|
322
|
322
|
},
|
...
|
...
|
@@ -340,7 +342,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/v1.json cascade-kub
|
340
|
340
|
"v1.PortworxVolumeSource": {
|
341
|
341
|
"id": "v1.PortworxVolumeSource",
|
342
|
342
|
"description": "PortworxVolumeSource represents a Portworx volume resource.",
|
343
|
|
-@@ -21265,6 +21286,10 @@
|
|
343
|
+@@ -21657,6 +21678,10 @@
|
344
|
344
|
"storageos": {
|
345
|
345
|
"$ref": "v1.StorageOSVolumeSource",
|
346
|
346
|
"description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
|
...
|
...
|
@@ -351,73 +353,60 @@ diff -uNr --no-dereference kubernetes-1.8.1/api/swagger-spec/v1.json cascade-kub
|
351
|
351
|
}
|
352
|
352
|
}
|
353
|
353
|
},
|
354
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/cmd/kube-controller-manager/app/BUILD cascade-kubernetes/cmd/kube-controller-manager/app/BUILD
|
355
|
|
-+++ cascade-kubernetes/cmd/kube-controller-manager/app/BUILD 2018-01-31 02:12:47.000000000 +0000
|
356
|
|
-@@ -42,6 +42,7 @@
|
357
|
|
- "//pkg/cloudprovider/providers:go_default_library",
|
358
|
|
- "//pkg/cloudprovider/providers/aws:go_default_library",
|
359
|
|
- "//pkg/cloudprovider/providers/azure:go_default_library",
|
360
|
|
-+ "//pkg/cloudprovider/providers/cascade:go_default_library",
|
361
|
|
- "//pkg/cloudprovider/providers/gce:go_default_library",
|
362
|
|
- "//pkg/cloudprovider/providers/openstack:go_default_library",
|
363
|
|
- "//pkg/cloudprovider/providers/photon:go_default_library",
|
364
|
|
-@@ -84,6 +85,7 @@
|
|
354
|
+Binary files kubernetes-original/cmd/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/cmd/._.DS_Store differ
|
|
355
|
+Binary files kubernetes-original/cmd/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/cmd/.DS_Store differ
|
|
356
|
+diff --no-dereference -uNr kubernetes-original/cmd/kube-controller-manager/app/BUILD kubernetes-modified/src/k8s.io/kubernetes/cmd/kube-controller-manager/app/BUILD
|
|
357
|
+--- kubernetes-original/cmd/kube-controller-manager/app/BUILD 2018-03-20 19:21:10.000000000 +0000
|
|
358
|
+@@ -86,6 +86,7 @@
|
365
|
359
|
"//pkg/volume/aws_ebs:go_default_library",
|
366
|
360
|
"//pkg/volume/azure_dd:go_default_library",
|
367
|
361
|
"//pkg/volume/azure_file:go_default_library",
|
368
|
362
|
+ "//pkg/volume/cascade_disk:go_default_library",
|
369
|
363
|
"//pkg/volume/cinder:go_default_library",
|
|
364
|
+ "//pkg/volume/csi:go_default_library",
|
370
|
365
|
"//pkg/volume/fc:go_default_library",
|
371
|
|
- "//pkg/volume/flexvolume:go_default_library",
|
372
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/cmd/kube-controller-manager/app/plugins.go cascade-kubernetes/cmd/kube-controller-manager/app/plugins.go
|
373
|
|
-+++ cascade-kubernetes/cmd/kube-controller-manager/app/plugins.go 2018-01-31 02:12:47.000000000 +0000
|
374
|
|
-@@ -32,6 +32,7 @@
|
375
|
|
- "k8s.io/kubernetes/pkg/cloudprovider"
|
376
|
|
- "k8s.io/kubernetes/pkg/cloudprovider/providers/aws"
|
377
|
|
- "k8s.io/kubernetes/pkg/cloudprovider/providers/azure"
|
378
|
|
-+ "k8s.io/kubernetes/pkg/cloudprovider/providers/cascade"
|
379
|
|
- "k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
|
380
|
|
- "k8s.io/kubernetes/pkg/cloudprovider/providers/openstack"
|
381
|
|
- "k8s.io/kubernetes/pkg/cloudprovider/providers/photon"
|
382
|
|
-@@ -58,6 +59,7 @@
|
383
|
|
- "k8s.io/kubernetes/pkg/volume/storageos"
|
384
|
|
- volumeutil "k8s.io/kubernetes/pkg/volume/util"
|
385
|
|
- "k8s.io/kubernetes/pkg/volume/vsphere_volume"
|
|
366
|
+diff --no-dereference -uNr kubernetes-original/cmd/kube-controller-manager/app/plugins.go kubernetes-modified/src/k8s.io/kubernetes/cmd/kube-controller-manager/app/plugins.go
|
|
367
|
+--- kubernetes-original/cmd/kube-controller-manager/app/plugins.go 2018-03-20 19:21:10.000000000 +0000
|
|
368
|
+@@ -34,6 +34,7 @@
|
|
369
|
+ "k8s.io/kubernetes/pkg/volume/aws_ebs"
|
|
370
|
+ "k8s.io/kubernetes/pkg/volume/azure_dd"
|
|
371
|
+ "k8s.io/kubernetes/pkg/volume/azure_file"
|
386
|
372
|
+ "k8s.io/kubernetes/pkg/volume/cascade_disk"
|
387
|
|
- )
|
388
|
|
-
|
389
|
|
- // ProbeAttachableVolumePlugins collects all volume plugins for the attach/
|
390
|
|
-@@ -78,6 +80,7 @@
|
391
|
|
- allPlugins = append(allPlugins, storageos.ProbeVolumePlugins()...)
|
|
373
|
+ "k8s.io/kubernetes/pkg/volume/cinder"
|
|
374
|
+ "k8s.io/kubernetes/pkg/volume/csi"
|
|
375
|
+ "k8s.io/kubernetes/pkg/volume/fc"
|
|
376
|
+@@ -77,6 +78,7 @@
|
392
|
377
|
allPlugins = append(allPlugins, fc.ProbeVolumePlugins()...)
|
393
|
378
|
allPlugins = append(allPlugins, iscsi.ProbeVolumePlugins()...)
|
|
379
|
+ allPlugins = append(allPlugins, rbd.ProbeVolumePlugins()...)
|
394
|
380
|
+ allPlugins = append(allPlugins, cascade_disk.ProbeVolumePlugins()...)
|
395
|
|
- return allPlugins
|
396
|
|
- }
|
397
|
|
-
|
398
|
|
-@@ -104,6 +107,7 @@
|
|
381
|
+ if utilfeature.DefaultFeatureGate.Enabled(features.CSIPersistentVolume) {
|
|
382
|
+ allPlugins = append(allPlugins, csi.ProbeVolumePlugins()...)
|
|
383
|
+ }
|
|
384
|
+@@ -106,6 +108,7 @@
|
399
|
385
|
allPlugins = append(allPlugins, scaleio.ProbeVolumePlugins()...)
|
400
|
386
|
allPlugins = append(allPlugins, storageos.ProbeVolumePlugins()...)
|
401
|
387
|
allPlugins = append(allPlugins, fc.ProbeVolumePlugins()...)
|
402
|
388
|
+ allPlugins = append(allPlugins, cascade_disk.ProbeVolumePlugins()...)
|
403
|
|
- return allPlugins
|
404
|
|
- }
|
405
|
|
-
|
406
|
|
-@@ -168,6 +172,8 @@
|
407
|
|
- allPlugins = append(allPlugins, azure_dd.ProbeVolumePlugins()...)
|
408
|
|
- case photon.ProviderName == cloud.ProviderName():
|
409
|
|
- allPlugins = append(allPlugins, photon_pd.ProbeVolumePlugins()...)
|
410
|
|
-+ case cascade.ProviderName == cloud.ProviderName():
|
411
|
|
-+ allPlugins = append(allPlugins, cascade_disk.ProbeVolumePlugins()...)
|
412
|
|
- }
|
|
389
|
+ if !utilfeature.DefaultFeatureGate.Enabled(features.CSIPersistentVolume) {
|
|
390
|
+ allPlugins = append(allPlugins, csi.ProbeVolumePlugins()...)
|
413
|
391
|
}
|
|
392
|
+@@ -165,6 +168,7 @@
|
|
393
|
+ allPlugins = append(allPlugins, vsphere_volume.ProbeVolumePlugins()...)
|
|
394
|
+ allPlugins = append(allPlugins, azure_dd.ProbeVolumePlugins()...)
|
|
395
|
+ allPlugins = append(allPlugins, photon_pd.ProbeVolumePlugins()...)
|
|
396
|
++ allPlugins = append(allPlugins, cascade_disk.ProbeVolumePlugins()...)
|
414
|
397
|
|
415
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/cmd/kubelet/app/BUILD cascade-kubernetes/cmd/kubelet/app/BUILD
|
416
|
|
-+++ cascade-kubernetes/cmd/kubelet/app/BUILD 2018-01-31 02:12:47.000000000 +0000
|
417
|
|
-@@ -73,6 +73,7 @@
|
|
398
|
+ return allPlugins
|
|
399
|
+ }
|
|
400
|
+Binary files kubernetes-original/cmd/kube-controller-manager/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/cmd/kube-controller-manager/._.DS_Store differ
|
|
401
|
+Binary files kubernetes-original/cmd/kube-controller-manager/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/cmd/kube-controller-manager/.DS_Store differ
|
|
402
|
+diff --no-dereference -uNr kubernetes-original/cmd/kubelet/app/BUILD kubernetes-modified/src/k8s.io/kubernetes/cmd/kubelet/app/BUILD
|
|
403
|
+--- kubernetes-original/cmd/kubelet/app/BUILD 2018-03-20 19:21:10.000000000 +0000
|
|
404
|
+@@ -74,6 +74,7 @@
|
418
|
405
|
"//pkg/volume/aws_ebs:go_default_library",
|
419
|
406
|
"//pkg/volume/azure_dd:go_default_library",
|
420
|
407
|
"//pkg/volume/azure_file:go_default_library",
|
...
|
...
|
@@ -425,9 +414,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/cmd/kubelet/app/BUILD cascade-kubern
|
425
|
425
|
"//pkg/volume/cephfs:go_default_library",
|
426
|
426
|
"//pkg/volume/cinder:go_default_library",
|
427
|
427
|
"//pkg/volume/configmap:go_default_library",
|
428
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/cmd/kubelet/app/plugins.go cascade-kubernetes/cmd/kubelet/app/plugins.go
|
429
|
|
-+++ cascade-kubernetes/cmd/kubelet/app/plugins.go 2018-01-31 02:12:47.000000000 +0000
|
|
428
|
+diff --no-dereference -uNr kubernetes-original/cmd/kubelet/app/plugins.go kubernetes-modified/src/k8s.io/kubernetes/cmd/kubelet/app/plugins.go
|
|
429
|
+--- kubernetes-original/cmd/kubelet/app/plugins.go 2018-03-20 19:21:10.000000000 +0000
|
430
|
430
|
@@ -32,6 +32,7 @@
|
431
|
431
|
"k8s.io/kubernetes/pkg/volume/aws_ebs"
|
432
|
432
|
"k8s.io/kubernetes/pkg/volume/azure_dd"
|
...
|
...
|
@@ -436,54 +425,23 @@ diff -uNr --no-dereference kubernetes-1.8.1/cmd/kubelet/app/plugins.go cascade-k
|
436
|
436
|
"k8s.io/kubernetes/pkg/volume/cephfs"
|
437
|
437
|
"k8s.io/kubernetes/pkg/volume/cinder"
|
438
|
438
|
"k8s.io/kubernetes/pkg/volume/configmap"
|
439
|
|
-@@ -96,6 +97,7 @@
|
|
439
|
+@@ -100,6 +101,7 @@
|
440
|
440
|
allPlugins = append(allPlugins, scaleio.ProbeVolumePlugins()...)
|
441
|
441
|
allPlugins = append(allPlugins, local.ProbeVolumePlugins()...)
|
442
|
442
|
allPlugins = append(allPlugins, storageos.ProbeVolumePlugins()...)
|
443
|
443
|
+ allPlugins = append(allPlugins, cascade_disk.ProbeVolumePlugins()...)
|
444
|
|
- return allPlugins
|
445
|
|
- }
|
446
|
|
-
|
447
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/federation/apis/openapi-spec/swagger.json cascade-kubernetes/federation/apis/openapi-spec/swagger.json
|
448
|
|
-+++ cascade-kubernetes/federation/apis/openapi-spec/swagger.json 2018-01-31 02:12:47.000000000 +0000
|
449
|
|
-@@ -10540,6 +10540,22 @@
|
450
|
|
- }
|
451
|
|
- }
|
452
|
|
- },
|
453
|
|
-+ "io.k8s.api.core.v1.CascadeDiskVolumeSource": {
|
454
|
|
-+ "description": "Represents a Cascade persistent disk resource.",
|
455
|
|
-+ "required": [
|
456
|
|
-+ "diskID"
|
457
|
|
-+ ],
|
458
|
|
-+ "properties": {
|
459
|
|
-+ "fsType": {
|
460
|
|
-+ "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
|
461
|
|
-+ "type": "string"
|
462
|
|
-+ },
|
463
|
|
-+ "diskID": {
|
464
|
|
-+ "description": "ID that identifies Cascade persistent disk",
|
465
|
|
-+ "type": "string"
|
466
|
|
-+ }
|
467
|
|
-+ }
|
468
|
|
-+ },
|
469
|
|
- "io.k8s.api.core.v1.Capabilities": {
|
470
|
|
- "description": "Adds and removes POSIX capabilities from running containers.",
|
471
|
|
- "properties": {
|
472
|
|
-@@ -12865,6 +12881,10 @@
|
473
|
|
- "vsphereVolume": {
|
474
|
|
- "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
|
475
|
|
- "$ref": "#/definitions/io.k8s.api.core.v1.VsphereVirtualDiskVolumeSource"
|
476
|
|
-+ },
|
477
|
|
-+ "cascadeDisk": {
|
478
|
|
-+ "description": "CascadeDisk represents a Cascade persistent disk attached and mounted on kubelets host machine",
|
479
|
|
-+ "$ref": "#/definitions/io.k8s.api.core.v1.CascadeDiskVolumeSource"
|
480
|
|
- }
|
481
|
|
- }
|
482
|
|
- },
|
483
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/api/types.go cascade-kubernetes/pkg/api/types.go
|
484
|
|
-+++ cascade-kubernetes/pkg/api/types.go 2018-01-31 02:12:47.000000000 +0000
|
|
444
|
+ if utilfeature.DefaultFeatureGate.Enabled(features.CSIPersistentVolume) {
|
|
445
|
+ allPlugins = append(allPlugins, csi.ProbeVolumePlugins()...)
|
|
446
|
+ }
|
|
447
|
+Binary files kubernetes-original/cmd/kubelet/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/cmd/kubelet/._.DS_Store differ
|
|
448
|
+Binary files kubernetes-original/cmd/kubelet/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/cmd/kubelet/.DS_Store differ
|
|
449
|
+Binary files kubernetes-original/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/._.DS_Store differ
|
|
450
|
+Binary files kubernetes-original/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/.DS_Store differ
|
|
451
|
+Binary files kubernetes-original/pkg/apis/core/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/apis/core/._.DS_Store differ
|
|
452
|
+Binary files kubernetes-original/pkg/apis/core/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/apis/core/.DS_Store differ
|
|
453
|
+diff --no-dereference -uNr kubernetes-original/pkg/apis/core/types.go kubernetes-modified/src/k8s.io/kubernetes/pkg/apis/core/types.go
|
|
454
|
+--- kubernetes-original/pkg/apis/core/types.go 2018-03-20 19:21:10.000000000 +0000
|
485
|
455
|
@@ -316,6 +316,8 @@
|
486
|
456
|
// StorageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod
|
487
|
457
|
// +optional
|
...
|
...
|
@@ -493,16 +451,16 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/api/types.go cascade-kubernetes/
|
493
|
493
|
}
|
494
|
494
|
|
495
|
495
|
// Similar to VolumeSource but meant for the administrator who creates PVs.
|
496
|
|
-@@ -391,6 +393,8 @@
|
497
|
|
- // More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md
|
|
496
|
+@@ -394,6 +396,8 @@
|
|
497
|
+ // CSI (Container Storage Interface) represents storage that handled by an external CSI driver
|
498
|
498
|
// +optional
|
499
|
|
- StorageOS *StorageOSPersistentVolumeSource
|
|
499
|
+ CSI *CSIPersistentVolumeSource
|
500
|
500
|
+ // CascadeDisk represents a Cascade persistent disk attached and mounted on kubelets host machine
|
501
|
501
|
+ CascadeDisk *CascadeDiskVolumeSource
|
502
|
502
|
}
|
503
|
503
|
|
504
|
504
|
type PersistentVolumeClaimVolumeSource struct {
|
505
|
|
-@@ -1333,6 +1337,16 @@
|
|
505
|
+@@ -1471,6 +1475,16 @@
|
506
|
506
|
SecretRef *ObjectReference
|
507
|
507
|
}
|
508
|
508
|
|
...
|
...
|
@@ -519,10 +477,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/api/types.go cascade-kubernetes/
|
519
|
519
|
// Adapts a ConfigMap into a volume.
|
520
|
520
|
//
|
521
|
521
|
// The contents of the target ConfigMap's Data field will be presented in a
|
522
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/api/validation/validation.go cascade-kubernetes/pkg/api/validation/validation.go
|
523
|
|
-+++ cascade-kubernetes/pkg/api/validation/validation.go 2018-01-31 02:12:47.000000000 +0000
|
524
|
|
-@@ -612,6 +612,14 @@
|
|
522
|
+diff --no-dereference -uNr kubernetes-original/pkg/apis/core/validation/validation.go kubernetes-modified/src/k8s.io/kubernetes/pkg/apis/core/validation/validation.go
|
|
523
|
+--- kubernetes-original/pkg/apis/core/validation/validation.go 2018-03-20 19:21:10.000000000 +0000
|
|
524
|
+@@ -681,6 +681,14 @@
|
525
|
525
|
allErrs = append(allErrs, validateScaleIOVolumeSource(source.ScaleIO, fldPath.Child("scaleIO"))...)
|
526
|
526
|
}
|
527
|
527
|
}
|
...
|
...
|
@@ -537,11 +495,11 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/api/validation/validation.go cas
|
537
|
537
|
|
538
|
538
|
if numVolumes == 0 {
|
539
|
539
|
allErrs = append(allErrs, field.Required(fldPath, "must specify a volume type"))
|
540
|
|
-@@ -1283,6 +1291,14 @@
|
|
540
|
+@@ -1440,6 +1448,14 @@
|
541
|
541
|
return allErrs
|
542
|
542
|
}
|
543
|
543
|
|
544
|
|
-+func validateCascadeDiskVolumeSource(cd *api.CascadeDiskVolumeSource, fldPath *field.Path) field.ErrorList {
|
|
544
|
++func validateCascadeDiskVolumeSource(cd *core.CascadeDiskVolumeSource, fldPath *field.Path) field.ErrorList {
|
545
|
545
|
+ allErrs := field.ErrorList{}
|
546
|
546
|
+ if len(cd.DiskID) == 0 {
|
547
|
547
|
+ allErrs = append(allErrs, field.Required(fldPath.Child("diskID"), ""))
|
...
|
...
|
@@ -552,10 +510,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/api/validation/validation.go cas
|
552
|
552
|
// ValidatePersistentVolumeName checks that a name is appropriate for a
|
553
|
553
|
// PersistentVolumeName object.
|
554
|
554
|
var ValidatePersistentVolumeName = NameIsDNSSubdomain
|
555
|
|
-@@ -1504,6 +1520,14 @@
|
556
|
|
- allErrs = append(allErrs, validateStorageOSPersistentVolumeSource(pv.Spec.StorageOS, specPath.Child("storageos"))...)
|
|
555
|
+@@ -1674,6 +1690,15 @@
|
557
|
556
|
}
|
558
|
557
|
}
|
|
558
|
+
|
559
|
559
|
+ if pv.Spec.CascadeDisk != nil {
|
560
|
560
|
+ if numVolumes > 0 {
|
561
|
561
|
+ allErrs = append(allErrs, field.Forbidden(specPath.Child("cascadeDisk"), "may not specify more than 1 volume type"))
|
...
|
...
|
@@ -564,24 +522,29 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/api/validation/validation.go cas
|
564
|
564
|
+ allErrs = append(allErrs, validateCascadeDiskVolumeSource(pv.Spec.CascadeDisk, specPath.Child("cascadeDisk"))...)
|
565
|
565
|
+ }
|
566
|
566
|
+ }
|
567
|
|
-
|
|
567
|
++
|
568
|
568
|
if numVolumes == 0 {
|
569
|
569
|
allErrs = append(allErrs, field.Required(specPath, "must specify a volume type"))
|
570
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/apis/extensions/types.go cascade-kubernetes/pkg/apis/extensions/types.go
|
571
|
|
-+++ cascade-kubernetes/pkg/apis/extensions/types.go 2018-01-31 02:12:47.000000000 +0000
|
572
|
|
-@@ -1002,6 +1002,7 @@
|
573
|
|
- Projected FSType = "projected"
|
|
570
|
+ }
|
|
571
|
+Binary files kubernetes-original/pkg/apis/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/apis/._.DS_Store differ
|
|
572
|
+Binary files kubernetes-original/pkg/apis/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/apis/.DS_Store differ
|
|
573
|
+diff --no-dereference -uNr kubernetes-original/pkg/apis/extensions/types.go kubernetes-modified/src/k8s.io/kubernetes/pkg/apis/extensions/types.go
|
|
574
|
+--- kubernetes-original/pkg/apis/extensions/types.go 2018-03-20 19:21:10.000000000 +0000
|
|
575
|
+@@ -925,6 +925,7 @@
|
574
|
576
|
PortworxVolume FSType = "portworxVolume"
|
575
|
577
|
ScaleIO FSType = "scaleIO"
|
|
578
|
+ CSI FSType = "csi"
|
576
|
579
|
+ CascadeDisk FSType = "cascadeDisk"
|
577
|
580
|
All FSType = "*"
|
578
|
581
|
)
|
579
|
582
|
|
580
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/BUILD cascade-kubernetes/pkg/cloudprovider/providers/BUILD
|
581
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/BUILD 2018-01-31 02:12:47.000000000 +0000
|
582
|
|
-@@ -11,6 +11,7 @@
|
|
583
|
+Binary files kubernetes-original/pkg/cloudprovider/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/._.DS_Store differ
|
|
584
|
+Binary files kubernetes-original/pkg/cloudprovider/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/.DS_Store differ
|
|
585
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/BUILD kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/BUILD
|
|
586
|
+--- kubernetes-original/pkg/cloudprovider/providers/BUILD 2018-03-20 19:21:10.000000000 +0000
|
|
587
|
+@@ -12,6 +12,7 @@
|
583
|
588
|
deps = [
|
584
|
589
|
"//pkg/cloudprovider/providers/aws:go_default_library",
|
585
|
590
|
"//pkg/cloudprovider/providers/azure:go_default_library",
|
...
|
...
|
@@ -597,17 +560,19 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/BUILD ca
|
597
|
597
|
"//pkg/cloudprovider/providers/cloudstack:all-srcs",
|
598
|
598
|
"//pkg/cloudprovider/providers/fake:all-srcs",
|
599
|
599
|
"//pkg/cloudprovider/providers/gce:all-srcs",
|
600
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/apitypes.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/apitypes.go
|
601
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/apitypes.go 2018-01-31 02:12:47.000000000 +0000
|
602
|
|
-@@ -0,0 +1,224 @@
|
|
600
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/apitypes.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/apitypes.go
|
|
601
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/apitypes.go 1970-01-01 00:00:00.000000000 +0000
|
|
602
|
+@@ -0,0 +1,227 @@
|
603
|
603
|
+package cascade
|
604
|
604
|
+
|
605
|
605
|
+import "fmt"
|
606
|
606
|
+
|
607
|
607
|
+const (
|
608
|
608
|
+ NotFoundError = 1408
|
|
609
|
++ VMNotFoundError = 2006
|
609
|
610
|
+ DiskNotFoundError = 3011
|
|
611
|
++ DiskInUseError = 3012
|
610
|
612
|
+)
|
611
|
613
|
+
|
612
|
614
|
+// Represents APIError returned by the API in case of an error.
|
...
|
...
|
@@ -763,7 +728,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
763
|
763
|
+ SelfLink string `json:"selfLink,omitempty"`
|
764
|
764
|
+ State *string `json:"state"`
|
765
|
765
|
+ Tags []string `json:"tags"`
|
766
|
|
-+ VM string `json:"vm"`
|
|
766
|
++ VM string `json:"vm"`
|
767
|
767
|
+ MountDevice string `json:"mountDevice,omitempty"`
|
768
|
768
|
+ Zone *string `json:"zone"`
|
769
|
769
|
+}
|
...
|
...
|
@@ -796,6 +761,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
796
|
796
|
+ Name *string `json:"name"`
|
797
|
797
|
+ PortMaps []*LoadBalancerPortMap `json:"portMaps"`
|
798
|
798
|
+ Type *string `json:"type"`
|
|
799
|
++ SubDomain *string `json:"subDomain"`
|
799
|
800
|
+}
|
800
|
801
|
+
|
801
|
802
|
+// Represents the health check spec for a load balancer.
|
...
|
...
|
@@ -825,10 +791,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
825
|
825
|
+type LoadBalancerVMUpdate struct {
|
826
|
826
|
+ VMIds []*LoadBalancerVM `json:"vmIds"`
|
827
|
827
|
+}
|
828
|
|
-\ No newline at end of file
|
829
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/auth.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/auth.go
|
830
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/auth.go 2018-01-31 02:12:47.000000000 +0000
|
|
828
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/auth.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/auth.go
|
|
829
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/auth.go 1970-01-01 00:00:00.000000000 +0000
|
831
|
830
|
@@ -0,0 +1,145 @@
|
832
|
831
|
+package cascade
|
833
|
832
|
+
|
...
|
...
|
@@ -976,9 +941,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
976
|
976
|
+ return pwd, nil
|
977
|
977
|
+}
|
978
|
978
|
\ No newline at end of file
|
979
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/BUILD cascade-kubernetes/pkg/cloudprovider/providers/cascade/BUILD
|
980
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/BUILD 2018-01-31 02:12:47.000000000 +0000
|
|
979
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/BUILD kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/BUILD
|
|
980
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/BUILD 1970-01-01 00:00:00.000000000 +0000
|
981
|
981
|
@@ -0,0 +1,44 @@
|
982
|
982
|
+package(default_visibility = ["//visibility:public"])
|
983
|
983
|
+
|
...
|
...
|
@@ -1024,45 +989,56 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1024
|
1024
|
+ srcs = [":package-srcs"],
|
1025
|
1025
|
+ tags = ["automanaged"],
|
1026
|
1026
|
+)
|
1027
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/cascade_disks.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/cascade_disks.go
|
1028
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/cascade_disks.go 2018-01-31 02:12:47.000000000 +0000
|
1029
|
|
-@@ -0,0 +1,197 @@
|
|
1027
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/cascade_disks.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/cascade_disks.go
|
|
1028
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/cascade_disks.go 1970-01-01 00:00:00.000000000 +0000
|
|
1029
|
+@@ -0,0 +1,225 @@
|
1030
|
1030
|
+package cascade
|
1031
|
1031
|
+
|
1032
|
1032
|
+import (
|
1033
|
1033
|
+ "github.com/golang/glog"
|
1034
|
1034
|
+ k8stypes "k8s.io/apimachinery/pkg/types"
|
1035
|
|
-+ "k8s.io/kubernetes/pkg/volume"
|
1036
|
1035
|
+ "k8s.io/apimachinery/pkg/util/sets"
|
1037
|
1036
|
+ "k8s.io/kubernetes/pkg/kubelet/apis"
|
|
1037
|
++ "k8s.io/kubernetes/pkg/volume"
|
1038
|
1038
|
+)
|
1039
|
1039
|
+
|
1040
|
1040
|
+// Attaches given virtual disk volume to the node running kubelet.
|
1041
|
1041
|
+func (cc *CascadeCloud) AttachDisk(diskID string, nodeName k8stypes.NodeName) (string, error) {
|
1042
|
|
-+ operation := &VMDiskOperation{
|
1043
|
|
-+ DiskID: StringPtr(diskID),
|
1044
|
|
-+ }
|
1045
|
|
-+
|
1046
|
|
-+ vmID, err := cc.InstanceID(nodeName)
|
|
1042
|
++ // Check if disk is already attached to that node.
|
|
1043
|
++ attached, err := cc.DiskIsAttached(diskID, nodeName)
|
1047
|
1044
|
+ if err != nil {
|
1048
|
|
-+ glog.Errorf("Cascade Cloud Provider: cc.InstanceID failed for AttachDisk. Error[%v]", err)
|
|
1045
|
++ glog.Errorf("Cascade Cloud Provider: cc.DiskIsAttached failed during AttachDisk. Error[%v]", err)
|
1049
|
1046
|
+ return "", err
|
1050
|
1047
|
+ }
|
1051
|
1048
|
+
|
1052
|
|
-+ task, err := cc.apiClient.AttachDisk(vmID, operation)
|
1053
|
|
-+ if err != nil {
|
1054
|
|
-+ glog.Errorf("Cascade Cloud Provider: Failed to attach disk with ID %s. Error[%v]", diskID, err)
|
1055
|
|
-+ return "", err
|
1056
|
|
-+ }
|
|
1049
|
++ // If not already attached, attach the disk.
|
|
1050
|
++ if !attached {
|
|
1051
|
++ operation := &VMDiskOperation{
|
|
1052
|
++ DiskID: StringPtr(diskID),
|
|
1053
|
++ }
|
1057
|
1054
|
+
|
1058
|
|
-+ _, err = cc.apiClient.WaitForTask(StringVal(task.ID))
|
1059
|
|
-+ if err != nil {
|
1060
|
|
-+ glog.Errorf("Cascade Cloud Provider: Failed to wait for task to attach disk with ID %s. Error[%v]",
|
1061
|
|
-+ diskID, err)
|
1062
|
|
-+ return "", err
|
|
1055
|
++ vmID, err := cc.InstanceID(nodeName)
|
|
1056
|
++ if err != nil {
|
|
1057
|
++ glog.Errorf("Cascade Cloud Provider: cc.InstanceID failed for AttachDisk. Error[%v]", err)
|
|
1058
|
++ return "", err
|
|
1059
|
++ }
|
|
1060
|
++
|
|
1061
|
++ task, err := cc.apiClient.AttachDisk(vmID, operation)
|
|
1062
|
++ if err != nil {
|
|
1063
|
++ glog.Errorf("Cascade Cloud Provider: Failed to attach disk with ID %s. Error[%v]", diskID, err)
|
|
1064
|
++ return "", err
|
|
1065
|
++ }
|
|
1066
|
++
|
|
1067
|
++ _, err = cc.apiClient.WaitForTask(StringVal(task.ID))
|
|
1068
|
++ if err != nil {
|
|
1069
|
++ glog.Errorf("Cascade Cloud Provider: Failed to wait for task to attach disk with ID %s. Error[%v]",
|
|
1070
|
++ diskID, err)
|
|
1071
|
++ return "", err
|
|
1072
|
++ }
|
1063
|
1073
|
+ }
|
1064
|
1074
|
+
|
|
1075
|
++ // Get mount device of the attached disk.
|
1065
|
1076
|
+ disk, err := cc.apiClient.GetDisk(diskID)
|
1066
|
1077
|
+ if err != nil {
|
1067
|
1078
|
+ glog.Errorf("Cascade Cloud Provider: Failed to Get disk with diskID %s. Error[%v]", diskID, err)
|
...
|
...
|
@@ -1102,15 +1078,29 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1102
|
1102
|
+
|
1103
|
1103
|
+// DiskIsAttached returns if disk is attached to the VM using controllers supported by the plugin.
|
1104
|
1104
|
+func (cc *CascadeCloud) DiskIsAttached(diskID string, nodeName k8stypes.NodeName) (bool, error) {
|
1105
|
|
-+ disk, err := cc.apiClient.GetDisk(diskID)
|
|
1105
|
++ vmID, err := cc.InstanceID(nodeName)
|
1106
|
1106
|
+ if err != nil {
|
1107
|
|
-+ glog.Errorf("Cascade Cloud Provider: Failed to Get disk with diskID %s. Error[%v]", diskID, err)
|
|
1107
|
++ glog.Errorf("Cascade Cloud Provider: cc.InstanceID failed for DiskIsAttached. Error[%v]", err)
|
1108
|
1108
|
+ return false, err
|
1109
|
1109
|
+ }
|
1110
|
1110
|
+
|
1111
|
|
-+ vmID, err := cc.InstanceID(nodeName)
|
|
1111
|
++ _, err = cc.apiClient.GetVM(vmID)
|
1112
|
1112
|
+ if err != nil {
|
1113
|
|
-+ glog.Errorf("Cascade Cloud Provider: cc.InstanceID failed for DiskIsAttached. Error[%v]", err)
|
|
1113
|
++ switch err.(type) {
|
|
1114
|
++ case APIError:
|
|
1115
|
++ if err.(APIError).ErrorCode == VMNotFoundError {
|
|
1116
|
++ // If instance no longer exists, we will assume that the volume is not attached.
|
|
1117
|
++ glog.Warningf("Cascade Cloud Provider: Instance %s does not exist. DiskIsAttached will assume"+
|
|
1118
|
++ " disk %s is not attached to it.", nodeName, diskID)
|
|
1119
|
++ return false, nil
|
|
1120
|
++ }
|
|
1121
|
++ }
|
|
1122
|
++ return false, err
|
|
1123
|
++ }
|
|
1124
|
++
|
|
1125
|
++ disk, err := cc.apiClient.GetDisk(diskID)
|
|
1126
|
++ if err != nil {
|
|
1127
|
++ glog.Errorf("Cascade Cloud Provider: Failed to Get disk with diskID %s. Error[%v]", diskID, err)
|
1114
|
1128
|
+ return false, err
|
1115
|
1129
|
+ }
|
1116
|
1130
|
+
|
...
|
...
|
@@ -1198,6 +1188,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1198
|
1198
|
+ if err.(APIError).ErrorCode == DiskNotFoundError {
|
1199
|
1199
|
+ return nil
|
1200
|
1200
|
+ }
|
|
1201
|
++ if err.(APIError).ErrorCode == DiskInUseError {
|
|
1202
|
++ return volume.NewDeletedVolumeInUseError(err.Error())
|
|
1203
|
++ }
|
1201
|
1204
|
+ }
|
1202
|
1205
|
+ return err
|
1203
|
1206
|
+ }
|
...
|
...
|
@@ -1223,12 +1216,11 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1223
|
1223
|
+ labels[apis.LabelZoneFailureDomain] = StringVal(disk.Zone)
|
1224
|
1224
|
+ labels[apis.LabelZoneRegion] = cc.cfg.Global.Region
|
1225
|
1225
|
+
|
1226
|
|
-+ return labels,nil
|
|
1226
|
++ return labels, nil
|
1227
|
1227
|
+}
|
1228
|
|
-\ No newline at end of file
|
1229
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/cascade.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/cascade.go
|
1230
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/cascade.go 2018-01-31 02:12:47.000000000 +0000
|
|
1228
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/cascade.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/cascade.go
|
|
1229
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/cascade.go 1970-01-01 00:00:00.000000000 +0000
|
1231
|
1230
|
@@ -0,0 +1,216 @@
|
1232
|
1231
|
+// The use of Cascade cloud provider requires the kubelet, kube-apiserver, and kube-controller-manager to be started
|
1233
|
1232
|
+// with config flag: '--cloud-provider=cascade --cloud-config=[path_to_config_file]'.
|
...
|
...
|
@@ -1447,9 +1439,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1447
|
1447
|
+ return true
|
1448
|
1448
|
+}
|
1449
|
1449
|
\ No newline at end of file
|
1450
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/cascade_instances.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/cascade_instances.go
|
1451
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/cascade_instances.go 2018-01-31 02:12:47.000000000 +0000
|
|
1450
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/cascade_instances.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/cascade_instances.go
|
|
1451
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/cascade_instances.go 1970-01-01 00:00:00.000000000 +0000
|
1452
|
1452
|
@@ -0,0 +1,90 @@
|
1453
|
1453
|
+package cascade
|
1454
|
1454
|
+
|
...
|
...
|
@@ -1541,10 +1533,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1541
|
1541
|
+func (cc *CascadeCloud) InstanceType(nodeName k8stypes.NodeName) (string, error) {
|
1542
|
1542
|
+ return "", nil
|
1543
|
1543
|
+}
|
1544
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/cascade_loadbalancer.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/cascade_loadbalancer.go
|
1545
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/cascade_loadbalancer.go 2018-01-31 02:12:47.000000000 +0000
|
1546
|
|
-@@ -0,0 +1,283 @@
|
|
1544
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/cascade_loadbalancer.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/cascade_loadbalancer.go
|
|
1545
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/cascade_loadbalancer.go 1970-01-01 00:00:00.000000000 +0000
|
|
1546
|
+@@ -0,0 +1,284 @@
|
1547
|
1547
|
+package cascade
|
1548
|
1548
|
+
|
1549
|
1549
|
+import (
|
...
|
...
|
@@ -1624,6 +1616,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1624
|
1624
|
+ Type: StringPtr("PUBLIC"),
|
1625
|
1625
|
+ PortMaps: portMaps,
|
1626
|
1626
|
+ HealthCheck: healthCheck,
|
|
1627
|
++ SubDomain: StringPtr(k8sService.Name),
|
1627
|
1628
|
+ }
|
1628
|
1629
|
+ logger.Infof("Load balancer create spec: %+v", *createSpec)
|
1629
|
1630
|
+
|
...
|
...
|
@@ -1829,22 +1822,22 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1829
|
1829
|
+ glog.Infoln(l.getLogMsg(msgTemplate, args))
|
1830
|
1830
|
+}
|
1831
|
1831
|
\ No newline at end of file
|
1832
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/client.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/client.go
|
1833
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/client.go 2018-01-31 02:12:47.000000000 +0000
|
1834
|
|
-@@ -0,0 +1,382 @@
|
|
1832
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/client.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/client.go
|
|
1833
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/client.go 1970-01-01 00:00:00.000000000 +0000
|
|
1834
|
+@@ -0,0 +1,394 @@
|
1835
|
1835
|
+package cascade
|
1836
|
1836
|
+
|
1837
|
1837
|
+import (
|
|
1838
|
++ "bytes"
|
1838
|
1839
|
+ "crypto/tls"
|
1839
|
1840
|
+ "crypto/x509"
|
1840
|
1841
|
+ "encoding/json"
|
1841
|
1842
|
+ "fmt"
|
|
1843
|
++ "github.com/golang/glog"
|
1842
|
1844
|
+ "net/http"
|
1843
|
1845
|
+ "strings"
|
1844
|
1846
|
+ "time"
|
1845
|
|
-+ "bytes"
|
1846
|
|
-+ "github.com/golang/glog"
|
1847
|
1847
|
+)
|
1848
|
1848
|
+
|
1849
|
1849
|
+// Represents stateless context needed to call Cascade APIs.
|
...
|
...
|
@@ -1891,10 +1884,6 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1891
|
1891
|
+ // nil by default.
|
1892
|
1892
|
+ RootCAs *x509.CertPool
|
1893
|
1893
|
+
|
1894
|
|
-+ // For tasks APIs, defines the delay between each polling attempt.
|
1895
|
|
-+ // Default is 100 milliseconds.
|
1896
|
|
-+ TaskPollDelay time.Duration
|
1897
|
|
-+
|
1898
|
1894
|
+ // For tasks APIs, defines the number of retries to make in the event
|
1899
|
1895
|
+ // of an error. Default is 3.
|
1900
|
1896
|
+ TaskRetryCount int
|
...
|
...
|
@@ -1903,6 +1892,8 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1903
|
1903
|
+ TokenOptions *TokenOptions
|
1904
|
1904
|
+}
|
1905
|
1905
|
+
|
|
1906
|
++const minimumTaskPollDelay = 500 * time.Millisecond
|
|
1907
|
++
|
1906
|
1908
|
+// Creates a new Cascade client which can be used to make API calls to Cascade.
|
1907
|
1909
|
+func NewClient(cfg *CascadeConfig, authClient *AuthClient) (c *Client, err error) {
|
1908
|
1910
|
+ tokenOptions, err := authClient.GetTokensByMachineAccount()
|
...
|
...
|
@@ -1913,7 +1904,6 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1913
|
1913
|
+
|
1914
|
1914
|
+ options := &ClientOptions{
|
1915
|
1915
|
+ TaskPollTimeout: 30 * time.Minute,
|
1916
|
|
-+ TaskPollDelay: 100 * time.Millisecond,
|
1917
|
1916
|
+ TaskRetryCount: 3,
|
1918
|
1917
|
+ TokenOptions: tokenOptions,
|
1919
|
1918
|
+ IgnoreCertificate: false,
|
...
|
...
|
@@ -1936,7 +1926,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1936
|
1936
|
+ UpdateAccessTokenCallback: tokenCallback,
|
1937
|
1937
|
+ }
|
1938
|
1938
|
+
|
1939
|
|
-+ clientConfig := &ClientConfig {
|
|
1939
|
++ clientConfig := &ClientConfig{
|
1940
|
1940
|
+ tenantName: cfg.Global.TenantName,
|
1941
|
1941
|
+ clusterID: cfg.Global.ClusterID,
|
1942
|
1942
|
+ region: cfg.Global.Region,
|
...
|
...
|
@@ -1948,7 +1938,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
1948
|
1948
|
+ restClient: restClient,
|
1949
|
1949
|
+ // Ensure a copy of options is made, rather than using a pointer
|
1950
|
1950
|
+ // which may change out from underneath if misused by the caller.
|
1951
|
|
-+ options: *options,
|
|
1951
|
++ options: *options,
|
1952
|
1952
|
+ }
|
1953
|
1953
|
+
|
1954
|
1954
|
+ return
|
...
|
...
|
@@ -2072,6 +2062,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
2072
|
2072
|
+ start := time.Now()
|
2073
|
2073
|
+ numErrors := 0
|
2074
|
2074
|
+ maxErrors := api.options.TaskRetryCount
|
|
2075
|
++ backoffMultiplier := 1
|
2075
|
2076
|
+
|
2076
|
2077
|
+ for time.Since(start) < api.options.TaskPollTimeout {
|
2077
|
2078
|
+ task, err = api.GetTask(taskID)
|
...
|
...
|
@@ -2098,7 +2089,21 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
2098
|
2098
|
+ return
|
2099
|
2099
|
+ }
|
2100
|
2100
|
+ }
|
2101
|
|
-+ time.Sleep(api.options.TaskPollDelay)
|
|
2101
|
++
|
|
2102
|
++ // Perform backoff based on how long it has been since we started polling. The logic is as follows:
|
|
2103
|
++ // For the first 10 seconds, poll every 500 milliseconds.
|
|
2104
|
++ // From there till the first 1 minute, poll every 1 second.
|
|
2105
|
++ // From there till the first 10 minutes, poll every 5 seconds.
|
|
2106
|
++ // From there till the timeout (30 minutes), poll every 10 seconds.
|
|
2107
|
++ elapsedTime := time.Since(start)
|
|
2108
|
++ if elapsedTime > 10*time.Second && elapsedTime <= 60*time.Second {
|
|
2109
|
++ backoffMultiplier = 2
|
|
2110
|
++ } else if elapsedTime > 60*time.Second && elapsedTime <= 600*time.Second {
|
|
2111
|
++ backoffMultiplier = 10
|
|
2112
|
++ } else if elapsedTime > 600*time.Second && elapsedTime <= api.options.TaskPollTimeout {
|
|
2113
|
++ backoffMultiplier = 20
|
|
2114
|
++ }
|
|
2115
|
++ time.Sleep(time.Duration(backoffMultiplier) * minimumTaskPollDelay)
|
2102
|
2116
|
+ }
|
2103
|
2117
|
+ err = TaskTimeoutError{taskID}
|
2104
|
2118
|
+ return
|
...
|
...
|
@@ -2215,10 +2220,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
2215
|
2215
|
+
|
2216
|
2216
|
+ return errorStep
|
2217
|
2217
|
+}
|
2218
|
|
-\ No newline at end of file
|
2219
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/oidcclient.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/oidcclient.go
|
2220
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/oidcclient.go 2018-01-31 02:12:47.000000000 +0000
|
|
2218
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/oidcclient.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/oidcclient.go
|
|
2219
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/oidcclient.go 1970-01-01 00:00:00.000000000 +0000
|
2221
|
2220
|
@@ -0,0 +1,297 @@
|
2222
|
2221
|
+package cascade
|
2223
|
2222
|
+
|
...
|
...
|
@@ -2517,16 +2521,16 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
2517
|
2517
|
+
|
2518
|
2518
|
+ return oidcErr
|
2519
|
2519
|
+}
|
2520
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/OWNERS cascade-kubernetes/pkg/cloudprovider/providers/cascade/OWNERS
|
2521
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/OWNERS 2018-01-31 02:12:47.000000000 +0000
|
|
2520
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/OWNERS kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/OWNERS
|
|
2521
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/OWNERS 1970-01-01 00:00:00.000000000 +0000
|
2522
|
2522
|
@@ -0,0 +1,3 @@
|
2523
|
2523
|
+maintainers:
|
2524
|
2524
|
+- ashokc
|
2525
|
2525
|
+- ysheng
|
2526
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/restclient.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/restclient.go
|
2527
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/restclient.go 2018-01-31 02:12:47.000000000 +0000
|
|
2526
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/restclient.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/restclient.go
|
|
2527
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/restclient.go 1970-01-01 00:00:00.000000000 +0000
|
2528
|
2528
|
@@ -0,0 +1,262 @@
|
2529
|
2529
|
+package cascade
|
2530
|
2530
|
+
|
...
|
...
|
@@ -2790,9 +2794,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
2790
|
2790
|
+ apiError.HttpStatusCode = res.StatusCode
|
2791
|
2791
|
+ return nil, apiError
|
2792
|
2792
|
+}
|
2793
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/utils.go cascade-kubernetes/pkg/cloudprovider/providers/cascade/utils.go
|
2794
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/cascade/utils.go 2018-01-31 02:12:47.000000000 +0000
|
|
2793
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/cascade/utils.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/utils.go
|
|
2794
|
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/utils.go 1970-01-01 00:00:00.000000000 +0000
|
2795
|
2795
|
@@ -0,0 +1,25 @@
|
2796
|
2796
|
+package cascade
|
2797
|
2797
|
+
|
...
|
...
|
@@ -2820,9 +2824,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/
|
2820
|
2820
|
+ return &s
|
2821
|
2821
|
+}
|
2822
|
2822
|
\ No newline at end of file
|
2823
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/providers.go cascade-kubernetes/pkg/cloudprovider/providers/providers.go
|
2824
|
|
-+++ cascade-kubernetes/pkg/cloudprovider/providers/providers.go 2018-01-31 02:12:47.000000000 +0000
|
|
2823
|
+diff --no-dereference -uNr kubernetes-original/pkg/cloudprovider/providers/providers.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/providers.go
|
|
2824
|
+--- kubernetes-original/pkg/cloudprovider/providers/providers.go 2018-03-20 19:21:10.000000000 +0000
|
2825
|
2825
|
@@ -20,6 +20,7 @@
|
2826
|
2826
|
// Cloud providers
|
2827
|
2827
|
_ "k8s.io/kubernetes/pkg/cloudprovider/providers/aws"
|
...
|
...
|
@@ -2831,10 +2835,14 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/provider
|
2831
|
2831
|
_ "k8s.io/kubernetes/pkg/cloudprovider/providers/cloudstack"
|
2832
|
2832
|
_ "k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
|
2833
|
2833
|
_ "k8s.io/kubernetes/pkg/cloudprovider/providers/openstack"
|
2834
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/printers/internalversion/describe.go cascade-kubernetes/pkg/printers/internalversion/describe.go
|
2835
|
|
-+++ cascade-kubernetes/pkg/printers/internalversion/describe.go 2018-01-31 02:12:47.000000000 +0000
|
2836
|
|
-@@ -764,6 +764,8 @@
|
|
2834
|
+Binary files kubernetes-original/pkg/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/._.DS_Store differ
|
|
2835
|
+Binary files kubernetes-original/pkg/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/.DS_Store differ
|
|
2836
|
+Binary files kubernetes-original/pkg/printers/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/printers/._.DS_Store differ
|
|
2837
|
+Binary files kubernetes-original/pkg/printers/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/printers/.DS_Store differ
|
|
2838
|
+diff --no-dereference -uNr kubernetes-original/pkg/printers/internalversion/describe.go kubernetes-modified/src/k8s.io/kubernetes/pkg/printers/internalversion/describe.go
|
|
2839
|
+--- kubernetes-original/pkg/printers/internalversion/describe.go 2018-03-20 19:21:10.000000000 +0000
|
|
2840
|
+@@ -751,6 +751,8 @@
|
2837
|
2841
|
printFlexVolumeSource(volume.VolumeSource.FlexVolume, w)
|
2838
|
2842
|
case volume.VolumeSource.Flocker != nil:
|
2839
|
2843
|
printFlockerVolumeSource(volume.VolumeSource.Flocker, w)
|
...
|
...
|
@@ -2843,8 +2851,8 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/printers/internalversion/describ
|
2843
|
2843
|
default:
|
2844
|
2844
|
w.Write(LEVEL_1, "<unknown>\n")
|
2845
|
2845
|
}
|
2846
|
|
-@@ -1047,6 +1049,13 @@
|
2847
|
|
- flocker.DatasetName, flocker.DatasetUUID)
|
|
2846
|
+@@ -1101,6 +1103,13 @@
|
|
2847
|
+ csi.Driver, csi.VolumeHandle, csi.ReadOnly)
|
2848
|
2848
|
}
|
2849
|
2849
|
|
2850
|
2850
|
+func printCascadeDiskVolumeSource(cascade *api.CascadeDiskVolumeSource, w PrefixWriter) {
|
...
|
...
|
@@ -2857,27 +2865,31 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/printers/internalversion/describ
|
2857
|
2857
|
type PersistentVolumeDescriber struct {
|
2858
|
2858
|
clientset.Interface
|
2859
|
2859
|
}
|
2860
|
|
-@@ -1130,6 +1139,8 @@
|
2861
|
|
- printFlexVolumeSource(pv.Spec.FlexVolume, w)
|
2862
|
|
- case pv.Spec.Flocker != nil:
|
|
2860
|
+@@ -1189,6 +1198,8 @@
|
2863
|
2861
|
printFlockerVolumeSource(pv.Spec.Flocker, w)
|
|
2862
|
+ case pv.Spec.CSI != nil:
|
|
2863
|
+ printCSIPersistentVolumeSource(pv.Spec.CSI, w)
|
2864
|
2864
|
+ case pv.Spec.CascadeDisk != nil:
|
2865
|
2865
|
+ printCascadeDiskVolumeSource(pv.Spec.CascadeDisk, w)
|
2866
|
2866
|
default:
|
2867
|
2867
|
w.Write(LEVEL_1, "<unknown>\n")
|
2868
|
2868
|
}
|
2869
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/security/podsecuritypolicy/util/util.go cascade-kubernetes/pkg/security/podsecuritypolicy/util/util.go
|
2870
|
|
-+++ cascade-kubernetes/pkg/security/podsecuritypolicy/util/util.go 2018-01-31 02:12:47.000000000 +0000
|
2871
|
|
-@@ -67,6 +67,7 @@
|
2872
|
|
- string(extensions.Projected),
|
|
2869
|
+Binary files kubernetes-original/pkg/security/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/security/._.DS_Store differ
|
|
2870
|
+Binary files kubernetes-original/pkg/security/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/security/.DS_Store differ
|
|
2871
|
+Binary files kubernetes-original/pkg/security/podsecuritypolicy/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/security/podsecuritypolicy/._.DS_Store differ
|
|
2872
|
+Binary files kubernetes-original/pkg/security/podsecuritypolicy/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/security/podsecuritypolicy/.DS_Store differ
|
|
2873
|
+diff --no-dereference -uNr kubernetes-original/pkg/security/podsecuritypolicy/util/util.go kubernetes-modified/src/k8s.io/kubernetes/pkg/security/podsecuritypolicy/util/util.go
|
|
2874
|
+--- kubernetes-original/pkg/security/podsecuritypolicy/util/util.go 2018-03-20 19:21:10.000000000 +0000
|
|
2875
|
+@@ -68,6 +68,7 @@
|
2873
|
2876
|
string(extensions.PortworxVolume),
|
2874
|
2877
|
string(extensions.ScaleIO),
|
|
2878
|
+ string(extensions.CSI),
|
2875
|
2879
|
+ string(extensions.CascadeDisk),
|
2876
|
2880
|
)
|
2877
|
2881
|
return fstypes
|
2878
|
2882
|
}
|
2879
|
|
-@@ -128,6 +129,8 @@
|
|
2883
|
+@@ -129,6 +130,8 @@
|
2880
|
2884
|
return extensions.PortworxVolume, nil
|
2881
|
2885
|
case v.ScaleIO != nil:
|
2882
|
2886
|
return extensions.ScaleIO, nil
|
...
|
...
|
@@ -2886,10 +2898,10 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/security/podsecuritypolicy/util/
|
2886
|
2886
|
}
|
2887
|
2887
|
|
2888
|
2888
|
return "", fmt.Errorf("unknown volume type for volume: %#v", v)
|
2889
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/attacher.go cascade-kubernetes/pkg/volume/cascade_disk/attacher.go
|
2890
|
|
-+++ cascade-kubernetes/pkg/volume/cascade_disk/attacher.go 2018-01-31 02:12:47.000000000 +0000
|
2891
|
|
-@@ -0,0 +1,278 @@
|
|
2889
|
+diff --no-dereference -uNr kubernetes-original/pkg/volume/cascade_disk/attacher.go kubernetes-modified/src/k8s.io/kubernetes/pkg/volume/cascade_disk/attacher.go
|
|
2890
|
+--- kubernetes-original/pkg/volume/cascade_disk/attacher.go 1970-01-01 00:00:00.000000000 +0000
|
|
2891
|
+@@ -0,0 +1,269 @@
|
2892
|
2892
|
+package cascade_disk
|
2893
|
2893
|
+
|
2894
|
2894
|
+import (
|
...
|
...
|
@@ -2925,7 +2937,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/attacher.go
|
2925
|
2925
|
+ }
|
2926
|
2926
|
+
|
2927
|
2927
|
+ return &cascadeDiskAttacher{
|
2928
|
|
-+ host: plugin.host,
|
|
2928
|
++ host: plugin.host,
|
2929
|
2929
|
+ cascadeDisks: cascadeCloud,
|
2930
|
2930
|
+ }, nil
|
2931
|
2931
|
+}
|
...
|
...
|
@@ -2940,22 +2952,13 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/attacher.go
|
2940
|
2940
|
+ return "", err
|
2941
|
2941
|
+ }
|
2942
|
2942
|
+
|
2943
|
|
-+ attached, err := attacher.cascadeDisks.DiskIsAttached(volumeSource.DiskID, nodeName)
|
|
2943
|
++ // cascadeDisks.AttachDisk checks if disk is already attached to the node. So we don't have to do that separately
|
|
2944
|
++ // here.
|
|
2945
|
++ glog.V(4).Infof("Cascade: Attach disk called for host %s", hostName)
|
|
2946
|
++ devicePath, err := attacher.cascadeDisks.AttachDisk(volumeSource.DiskID, nodeName)
|
2944
|
2947
|
+ if err != nil {
|
2945
|
|
-+ glog.Warningf("Cascade: couldn't check if disk is Attached for host %s, will try attach disk: %+v",
|
2946
|
|
-+ hostName, err)
|
2947
|
|
-+ attached = false
|
2948
|
|
-+ }
|
2949
|
|
-+
|
2950
|
|
-+ var devicePath string
|
2951
|
|
-+ if !attached {
|
2952
|
|
-+ glog.V(4).Infof("Cascade: Attach disk called for host %s", hostName)
|
2953
|
|
-+
|
2954
|
|
-+ devicePath, err = attacher.cascadeDisks.AttachDisk(volumeSource.DiskID, nodeName)
|
2955
|
|
-+ if err != nil {
|
2956
|
|
-+ glog.Errorf("Error attaching volume %q to node %q: %+v", volumeSource.DiskID, nodeName, err)
|
2957
|
|
-+ return "", err
|
2958
|
|
-+ }
|
|
2948
|
++ glog.Errorf("Error attaching volume %q to node %q: %+v", volumeSource.DiskID, nodeName, err)
|
|
2949
|
++ return "", err
|
2959
|
2950
|
+ }
|
2960
|
2951
|
+
|
2961
|
2952
|
+ // Cacsade uses device names of the format /dev/sdX, but newer Linux Kernels mount them under /dev/xvdX
|
...
|
...
|
@@ -3026,7 +3029,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/attacher.go
|
3026
|
3026
|
+ checkPath, err := verifyDevicePath(devicePath)
|
3027
|
3027
|
+ if err != nil {
|
3028
|
3028
|
+ // Log error, if any, and continue checking periodically. See issue #11321
|
3029
|
|
-+ glog.Warningf("Cascade attacher: WaitForAttach with devicePath %s Checking PD %s Error verify " +
|
|
3029
|
++ glog.Warningf("Cascade attacher: WaitForAttach with devicePath %s Checking PD %s Error verify "+
|
3030
|
3030
|
+ "path", devicePath, volumeSource.DiskID)
|
3031
|
3031
|
+ } else if checkPath != "" {
|
3032
|
3032
|
+ // A device path has successfully been created for the disk
|
...
|
...
|
@@ -3034,7 +3037,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/attacher.go
|
3034
|
3034
|
+ return devicePath, nil
|
3035
|
3035
|
+ }
|
3036
|
3036
|
+ case <-timer.C:
|
3037
|
|
-+ return "", fmt.Errorf("Could not find attached disk %s. Timeout waiting for mount paths to be " +
|
|
3037
|
++ return "", fmt.Errorf("Could not find attached disk %s. Timeout waiting for mount paths to be "+
|
3038
|
3038
|
+ "created.", volumeSource.DiskID)
|
3039
|
3039
|
+ }
|
3040
|
3040
|
+ }
|
...
|
...
|
@@ -3111,7 +3114,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/attacher.go
|
3111
|
3111
|
+ }
|
3112
|
3112
|
+
|
3113
|
3113
|
+ return &cascadeDiskDetacher{
|
3114
|
|
-+ mounter: plugin.host.GetMounter(plugin.GetPluginName()),
|
|
3114
|
++ mounter: plugin.host.GetMounter(plugin.GetPluginName()),
|
3115
|
3115
|
+ cascadeDisks: cascadeCloud,
|
3116
|
3116
|
+ }, nil
|
3117
|
3117
|
+}
|
...
|
...
|
@@ -3124,13 +3127,13 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/attacher.go
|
3124
|
3124
|
+ if err != nil {
|
3125
|
3125
|
+ // Log error and continue with detach
|
3126
|
3126
|
+ glog.Errorf(
|
3127
|
|
-+ "Error checking if persistent disk (%q) is already attached to current node (%q). " +
|
|
3127
|
++ "Error checking if persistent disk (%q) is already attached to current node (%q). "+
|
3128
|
3128
|
+ "Will continue and try detach anyway. err=%v", diskID, hostName, err)
|
3129
|
3129
|
+ }
|
3130
|
3130
|
+
|
3131
|
3131
|
+ if err == nil && !attached {
|
3132
|
3132
|
+ // Volume is already detached from node.
|
3133
|
|
-+ glog.V(4).Infof("detach operation was successful. persistent disk %q is already detached " +
|
|
3133
|
++ glog.V(4).Infof("detach operation was successful. persistent disk %q is already detached "+
|
3134
|
3134
|
+ "from node %q.", diskID, hostName)
|
3135
|
3135
|
+ return nil
|
3136
|
3136
|
+ }
|
...
|
...
|
@@ -3168,9 +3171,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/attacher.go
|
3168
|
3168
|
+func (detacher *cascadeDiskDetacher) UnmountDevice(deviceMountPath string) error {
|
3169
|
3169
|
+ return volumeutil.UnmountPath(deviceMountPath, detacher.mounter)
|
3170
|
3170
|
+}
|
3171
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/BUILD cascade-kubernetes/pkg/volume/cascade_disk/BUILD
|
3172
|
|
-+++ cascade-kubernetes/pkg/volume/cascade_disk/BUILD 2018-01-31 02:12:47.000000000 +0000
|
|
3171
|
+diff --no-dereference -uNr kubernetes-original/pkg/volume/cascade_disk/BUILD kubernetes-modified/src/k8s.io/kubernetes/pkg/volume/cascade_disk/BUILD
|
|
3172
|
+--- kubernetes-original/pkg/volume/cascade_disk/BUILD 1970-01-01 00:00:00.000000000 +0000
|
3173
|
3173
|
@@ -0,0 +1,43 @@
|
3174
|
3174
|
+package(default_visibility = ["//visibility:public"])
|
3175
|
3175
|
+
|
...
|
...
|
@@ -3215,9 +3218,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/BUILD cascad
|
3215
|
3215
|
+ srcs = [":package-srcs"],
|
3216
|
3216
|
+ tags = ["automanaged"],
|
3217
|
3217
|
+)
|
3218
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/cascade_disk.go cascade-kubernetes/pkg/volume/cascade_disk/cascade_disk.go
|
3219
|
|
-+++ cascade-kubernetes/pkg/volume/cascade_disk/cascade_disk.go 2018-01-31 02:12:47.000000000 +0000
|
|
3218
|
+diff --no-dereference -uNr kubernetes-original/pkg/volume/cascade_disk/cascade_disk.go kubernetes-modified/src/k8s.io/kubernetes/pkg/volume/cascade_disk/cascade_disk.go
|
|
3219
|
+--- kubernetes-original/pkg/volume/cascade_disk/cascade_disk.go 1970-01-01 00:00:00.000000000 +0000
|
3220
|
3220
|
@@ -0,0 +1,391 @@
|
3221
|
3221
|
+package cascade_disk
|
3222
|
3222
|
+
|
...
|
...
|
@@ -3611,9 +3614,9 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/cascade_disk
|
3611
|
3611
|
+ return nil, false, fmt.Errorf("Spec does not reference a Cascade disk type")
|
3612
|
3612
|
+}
|
3613
|
3613
|
\ No newline at end of file
|
3614
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/cascade_util.go cascade-kubernetes/pkg/volume/cascade_disk/cascade_util.go
|
3615
|
|
-+++ cascade-kubernetes/pkg/volume/cascade_disk/cascade_util.go 2018-01-31 02:12:47.000000000 +0000
|
|
3614
|
+diff --no-dereference -uNr kubernetes-original/pkg/volume/cascade_disk/cascade_util.go kubernetes-modified/src/k8s.io/kubernetes/pkg/volume/cascade_disk/cascade_util.go
|
|
3615
|
+--- kubernetes-original/pkg/volume/cascade_disk/cascade_util.go 1970-01-01 00:00:00.000000000 +0000
|
3616
|
3616
|
@@ -0,0 +1,107 @@
|
3617
|
3617
|
+package cascade_disk
|
3618
|
3618
|
+
|
...
|
...
|
@@ -3722,23 +3725,31 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/cascade_util
|
3722
|
3722
|
+ }
|
3723
|
3723
|
+ return cc, nil
|
3724
|
3724
|
+}
|
3725
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/pkg/volume/cascade_disk/OWNERS cascade-kubernetes/pkg/volume/cascade_disk/OWNERS
|
3726
|
|
-+++ cascade-kubernetes/pkg/volume/cascade_disk/OWNERS 2018-01-31 02:12:47.000000000 +0000
|
|
3725
|
+diff --no-dereference -uNr kubernetes-original/pkg/volume/cascade_disk/OWNERS kubernetes-modified/src/k8s.io/kubernetes/pkg/volume/cascade_disk/OWNERS
|
|
3726
|
+--- kubernetes-original/pkg/volume/cascade_disk/OWNERS 1970-01-01 00:00:00.000000000 +0000
|
3727
|
3727
|
@@ -0,0 +1,2 @@
|
3728
|
3728
|
+maintainers:
|
3729
|
3729
|
+- ashokc
|
3730
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/plugin/pkg/admission/persistentvolume/label/admission.go cascade-kubernetes/plugin/pkg/admission/persistentvolume/label/admission.go
|
3731
|
|
-+++ cascade-kubernetes/plugin/pkg/admission/persistentvolume/label/admission.go 2018-01-31 02:12:47.000000000 +0000
|
3732
|
|
-@@ -31,6 +31,7 @@
|
|
3730
|
+Binary files kubernetes-original/pkg/volume/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/volume/._.DS_Store differ
|
|
3731
|
+Binary files kubernetes-original/pkg/volume/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/pkg/volume/.DS_Store differ
|
|
3732
|
+Binary files kubernetes-original/plugin/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/plugin/._.DS_Store differ
|
|
3733
|
+Binary files kubernetes-original/plugin/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/plugin/.DS_Store differ
|
|
3734
|
+Binary files kubernetes-original/plugin/pkg/admission/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/plugin/pkg/admission/._.DS_Store differ
|
|
3735
|
+Binary files kubernetes-original/plugin/pkg/admission/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/plugin/pkg/admission/.DS_Store differ
|
|
3736
|
+Binary files kubernetes-original/plugin/pkg/admission/persistentvolume/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/plugin/pkg/admission/persistentvolume/._.DS_Store differ
|
|
3737
|
+Binary files kubernetes-original/plugin/pkg/admission/persistentvolume/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/plugin/pkg/admission/persistentvolume/.DS_Store differ
|
|
3738
|
+diff --no-dereference -uNr kubernetes-original/plugin/pkg/admission/persistentvolume/label/admission.go kubernetes-modified/src/k8s.io/kubernetes/plugin/pkg/admission/persistentvolume/label/admission.go
|
|
3739
|
+--- kubernetes-original/plugin/pkg/admission/persistentvolume/label/admission.go 2018-03-20 19:21:10.000000000 +0000
|
|
3740
|
+@@ -27,6 +27,7 @@
|
|
3741
|
+ api "k8s.io/kubernetes/pkg/apis/core"
|
|
3742
|
+ "k8s.io/kubernetes/pkg/cloudprovider"
|
|
3743
|
+ "k8s.io/kubernetes/pkg/cloudprovider/providers/aws"
|
|
3744
|
++ "k8s.io/kubernetes/pkg/cloudprovider/providers/cascade"
|
|
3745
|
+ "k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
|
3733
|
3746
|
kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission"
|
3734
|
3747
|
kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis"
|
3735
|
|
- vol "k8s.io/kubernetes/pkg/volume"
|
3736
|
|
-+ "k8s.io/kubernetes/pkg/cloudprovider/providers/cascade"
|
3737
|
|
- )
|
3738
|
|
-
|
3739
|
|
- // Register registers a plugin
|
3740
|
3748
|
@@ -50,6 +51,7 @@
|
3741
|
3749
|
ebsVolumes aws.Volumes
|
3742
|
3750
|
cloudConfig []byte
|
...
|
...
|
@@ -3746,8 +3757,8 @@ diff -uNr --no-dereference kubernetes-1.8.1/plugin/pkg/admission/persistentvolum
|
3746
|
3746
|
+ cascadeDisks cascade.Disks
|
3747
|
3747
|
}
|
3748
|
3748
|
|
3749
|
|
- var _ kubeapiserveradmission.WantsCloudConfig = &persistentVolumeLabel{}
|
3750
|
|
-@@ -101,6 +103,13 @@
|
|
3749
|
+ var _ admission.MutationInterface = &persistentVolumeLabel{}
|
|
3750
|
+@@ -102,6 +104,13 @@
|
3751
|
3751
|
}
|
3752
|
3752
|
volumeLabels = labels
|
3753
|
3753
|
}
|
...
|
...
|
@@ -3761,7 +3772,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/plugin/pkg/admission/persistentvolum
|
3761
|
3761
|
|
3762
|
3762
|
if len(volumeLabels) != 0 {
|
3763
|
3763
|
if volume.Labels == nil {
|
3764
|
|
-@@ -213,3 +222,48 @@
|
|
3764
|
+@@ -214,3 +223,48 @@
|
3765
|
3765
|
}
|
3766
|
3766
|
return l.gceCloudProvider, nil
|
3767
|
3767
|
}
|
...
|
...
|
@@ -3810,40 +3821,61 @@ diff -uNr --no-dereference kubernetes-1.8.1/plugin/pkg/admission/persistentvolum
|
3810
|
3810
|
+ }
|
3811
|
3811
|
+ return l.cascadeDisks, nil
|
3812
|
3812
|
+}
|
3813
|
|
-\ No newline at end of file
|
3814
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/staging/src/k8s.io/api/core/v1/generated.pb.go cascade-kubernetes/staging/src/k8s.io/api/core/v1/generated.pb.go
|
3815
|
|
-+++ cascade-kubernetes/staging/src/k8s.io/api/core/v1/generated.pb.go 2018-01-31 02:12:47.000000000 +0000
|
3816
|
|
-@@ -34,6 +34,7 @@
|
3817
|
|
- AzureFileVolumeSource
|
|
3813
|
+Binary files kubernetes-original/plugin/pkg/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/plugin/pkg/._.DS_Store differ
|
|
3814
|
+Binary files kubernetes-original/plugin/pkg/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/plugin/pkg/.DS_Store differ
|
|
3815
|
+Binary files kubernetes-original/staging/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/._.DS_Store differ
|
|
3816
|
+Binary files kubernetes-original/staging/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/.DS_Store differ
|
|
3817
|
+Binary files kubernetes-original/staging/src/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/src/._.DS_Store differ
|
|
3818
|
+Binary files kubernetes-original/staging/src/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/src/.DS_Store differ
|
|
3819
|
+Binary files kubernetes-original/staging/src/k8s.io/api/core/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/src/k8s.io/api/core/._.DS_Store differ
|
|
3820
|
+Binary files kubernetes-original/staging/src/k8s.io/api/core/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/src/k8s.io/api/core/.DS_Store differ
|
|
3821
|
+diff --no-dereference -uNr kubernetes-original/staging/src/k8s.io/api/core/v1/generated.pb.go kubernetes-modified/src/k8s.io/kubernetes/staging/src/k8s.io/api/core/v1/generated.pb.go
|
|
3822
|
+--- kubernetes-original/staging/src/k8s.io/api/core/v1/generated.pb.go 2018-03-20 19:21:10.000000000 +0000
|
|
3823
|
+@@ -35,6 +35,7 @@
|
3818
|
3824
|
Binding
|
|
3825
|
+ CSIPersistentVolumeSource
|
3819
|
3826
|
Capabilities
|
3820
|
3827
|
+ CascadeDiskVolumeSource
|
3821
|
3828
|
CephFSPersistentVolumeSource
|
3822
|
3829
|
CephFSVolumeSource
|
3823
|
3830
|
CinderVolumeSource
|
3824
|
|
-@@ -992,6 +993,12 @@
|
3825
|
|
- return fileDescriptorGenerated, []int{177}
|
3826
|
|
- }
|
|
3831
|
+@@ -260,9 +261,11 @@
|
|
3832
|
+ func (*AvoidPods) ProtoMessage() {}
|
|
3833
|
+ func (*AvoidPods) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
|
3827
|
3834
|
|
|
3835
|
+-func (m *AzureDiskVolumeSource) Reset() { *m = AzureDiskVolumeSource{} }
|
|
3836
|
+-func (*AzureDiskVolumeSource) ProtoMessage() {}
|
|
3837
|
+-func (*AzureDiskVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
|
3828
|
3838
|
+func (m *CascadeDiskVolumeSource) Reset() { *m = CascadeDiskVolumeSource{} }
|
3829
|
3839
|
+func (*CascadeDiskVolumeSource) ProtoMessage() {}
|
3830
|
3840
|
+func (*CascadeDiskVolumeSource) Descriptor() ([]byte, []int) {
|
3831
|
|
-+ return fileDescriptorGenerated, []int{178}
|
|
3841
|
++ return fileDescriptorGenerated, []int{4}
|
3832
|
3842
|
+}
|
|
3843
|
+
|
|
3844
|
+ func (m *AzureFilePersistentVolumeSource) Reset() { *m = AzureFilePersistentVolumeSource{} }
|
|
3845
|
+ func (*AzureFilePersistentVolumeSource) ProtoMessage() {}
|
|
3846
|
+@@ -1040,6 +1043,11 @@
|
|
3847
|
+ return fileDescriptorGenerated, []int{185}
|
|
3848
|
+ }
|
|
3849
|
+
|
|
3850
|
++func (m *AzureDiskVolumeSource) Reset() { *m = AzureDiskVolumeSource{} }
|
|
3851
|
++func (*AzureDiskVolumeSource) ProtoMessage() {}
|
|
3852
|
++func (*AzureDiskVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{186} }
|
|
3853
|
++
|
3833
|
3854
|
+
|
3834
|
3855
|
func init() {
|
3835
|
3856
|
proto.RegisterType((*AWSElasticBlockStoreVolumeSource)(nil), "k8s.io.api.core.v1.AWSElasticBlockStoreVolumeSource")
|
3836
|
3857
|
proto.RegisterType((*Affinity)(nil), "k8s.io.api.core.v1.Affinity")
|
3837
|
|
-@@ -1002,6 +1009,7 @@
|
3838
|
|
- proto.RegisterType((*AzureFileVolumeSource)(nil), "k8s.io.api.core.v1.AzureFileVolumeSource")
|
|
3858
|
+@@ -1051,6 +1059,7 @@
|
3839
|
3859
|
proto.RegisterType((*Binding)(nil), "k8s.io.api.core.v1.Binding")
|
|
3860
|
+ proto.RegisterType((*CSIPersistentVolumeSource)(nil), "k8s.io.api.core.v1.CSIPersistentVolumeSource")
|
3840
|
3861
|
proto.RegisterType((*Capabilities)(nil), "k8s.io.api.core.v1.Capabilities")
|
3841
|
3862
|
+ proto.RegisterType((*CascadeDiskVolumeSource)(nil), "k8s.io.api.core.v1.CascadeDiskVolumeSource")
|
3842
|
3863
|
proto.RegisterType((*CephFSPersistentVolumeSource)(nil), "k8s.io.api.core.v1.CephFSPersistentVolumeSource")
|
3843
|
3864
|
proto.RegisterType((*CephFSVolumeSource)(nil), "k8s.io.api.core.v1.CephFSVolumeSource")
|
3844
|
3865
|
proto.RegisterType((*CinderVolumeSource)(nil), "k8s.io.api.core.v1.CinderVolumeSource")
|
3845
|
|
-@@ -1523,6 +1531,32 @@
|
|
3866
|
+@@ -1613,6 +1622,32 @@
|
3846
|
3867
|
return i, nil
|
3847
|
3868
|
}
|
3848
|
3869
|
|
...
|
...
|
@@ -3876,45 +3908,79 @@ diff -uNr --no-dereference kubernetes-1.8.1/staging/src/k8s.io/api/core/v1/gener
|
3876
|
3876
|
func (m *CephFSPersistentVolumeSource) Marshal() (dAtA []byte, err error) {
|
3877
|
3877
|
size := m.Size()
|
3878
|
3878
|
dAtA = make([]byte, size)
|
3879
|
|
-@@ -6080,6 +6114,18 @@
|
|
3879
|
+@@ -6283,13 +6318,13 @@
|
3880
|
3880
|
}
|
3881
|
|
- i += n121
|
|
3881
|
+ i += n120
|
3882
|
3882
|
}
|
|
3883
|
+- if m.AzureDisk != nil {
|
3883
|
3884
|
+ if m.CascadeDisk != nil {
|
3884
|
|
-+ dAtA[i] = 0xb2
|
|
3885
|
+ dAtA[i] = 0x82
|
|
3886
|
+ i++
|
|
3887
|
+ dAtA[i] = 0x1
|
|
3888
|
+ i++
|
|
3889
|
+- i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size()))
|
|
3890
|
+- n121, err := m.AzureDisk.MarshalTo(dAtA[i:])
|
|
3891
|
++ i = encodeVarintGenerated(dAtA, i, uint64(m.CascadeDisk.Size()))
|
|
3892
|
++ n121, err := m.CascadeDisk.MarshalTo(dAtA[i:])
|
|
3893
|
+ if err != nil {
|
|
3894
|
+ return 0, err
|
|
3895
|
+ }
|
|
3896
|
+@@ -6367,6 +6402,18 @@
|
|
3897
|
+ }
|
|
3898
|
+ i += n127
|
|
3899
|
+ }
|
|
3900
|
++ if m.AzureDisk != nil {
|
|
3901
|
++ dAtA[i] = 0xba
|
3885
|
3902
|
+ i++
|
3886
|
3903
|
+ dAtA[i] = 0x1
|
3887
|
3904
|
+ i++
|
3888
|
|
-+ i = encodeVarintGenerated(dAtA, i, uint64(m.CascadeDisk.Size()))
|
3889
|
|
-+ n122, err := m.CascadeDisk.MarshalTo(dAtA[i:])
|
|
3905
|
++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size()))
|
|
3906
|
++ n128, err := m.AzureDisk.MarshalTo(dAtA[i:])
|
3890
|
3907
|
+ if err != nil {
|
3891
|
3908
|
+ return 0, err
|
3892
|
3909
|
+ }
|
3893
|
|
-+ i += n122
|
|
3910
|
++ i += n128
|
3894
|
3911
|
+ }
|
3895
|
3912
|
return i, nil
|
3896
|
3913
|
}
|
3897
|
3914
|
|
3898
|
|
-@@ -9824,6 +9870,18 @@
|
|
3915
|
+@@ -10316,13 +10363,13 @@
|
3899
|
3916
|
}
|
3900
|
|
- i += n220
|
|
3917
|
+ i += n223
|
3901
|
3918
|
}
|
|
3919
|
+- if m.AzureDisk != nil {
|
3902
|
3920
|
+ if m.CascadeDisk != nil {
|
|
3921
|
+ dAtA[i] = 0xb2
|
|
3922
|
+ i++
|
|
3923
|
+ dAtA[i] = 0x1
|
|
3924
|
+ i++
|
|
3925
|
+- i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size()))
|
|
3926
|
+- n224, err := m.AzureDisk.MarshalTo(dAtA[i:])
|
|
3927
|
++ i = encodeVarintGenerated(dAtA, i, uint64(m.CascadeDisk.Size()))
|
|
3928
|
++ n224, err := m.CascadeDisk.MarshalTo(dAtA[i:])
|
|
3929
|
+ if err != nil {
|
|
3930
|
+ return 0, err
|
|
3931
|
+ }
|
|
3932
|
+@@ -10388,6 +10435,18 @@
|
|
3933
|
+ }
|
|
3934
|
+ i += n229
|
|
3935
|
+ }
|
|
3936
|
++ if m.AzureDisk != nil {
|
3903
|
3937
|
+ dAtA[i] = 0xe2
|
3904
|
3938
|
+ i++
|
3905
|
3939
|
+ dAtA[i] = 0x1
|
3906
|
3940
|
+ i++
|
3907
|
|
-+ i = encodeVarintGenerated(dAtA, i, uint64(m.CascadeDisk.Size()))
|
3908
|
|
-+ n221, err := m.CascadeDisk.MarshalTo(dAtA[i:])
|
|
3941
|
++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size()))
|
|
3942
|
++ n230, err := m.AzureDisk.MarshalTo(dAtA[i:])
|
3909
|
3943
|
+ if err != nil {
|
3910
|
3944
|
+ return 0, err
|
3911
|
3945
|
+ }
|
3912
|
|
-+ i += n221
|
|
3946
|
++ i += n230
|
3913
|
3947
|
+ }
|
3914
|
3948
|
return i, nil
|
3915
|
3949
|
}
|
3916
|
3950
|
|
3917
|
|
-@@ -10048,6 +10106,16 @@
|
|
3951
|
+@@ -10623,6 +10682,16 @@
|
3918
|
3952
|
return n
|
3919
|
3953
|
}
|
3920
|
3954
|
|
...
|
...
|
@@ -3931,29 +3997,51 @@ diff -uNr --no-dereference kubernetes-1.8.1/staging/src/k8s.io/api/core/v1/gener
|
3931
|
3931
|
func (m *CephFSPersistentVolumeSource) Size() (n int) {
|
3932
|
3932
|
var l int
|
3933
|
3933
|
_ = l
|
3934
|
|
-@@ -11711,6 +11779,10 @@
|
3935
|
|
- l = m.StorageOS.Size()
|
3936
|
|
- n += 2 + l + sovGenerated(uint64(l))
|
|
3934
|
+@@ -12331,8 +12400,8 @@
|
|
3935
|
+ l = m.Quobyte.Size()
|
|
3936
|
+ n += 1 + l + sovGenerated(uint64(l))
|
3937
|
3937
|
}
|
|
3938
|
+- if m.AzureDisk != nil {
|
|
3939
|
+- l = m.AzureDisk.Size()
|
3938
|
3940
|
+ if m.CascadeDisk != nil {
|
3939
|
3941
|
+ l = m.CascadeDisk.Size()
|
|
3942
|
+ n += 2 + l + sovGenerated(uint64(l))
|
|
3943
|
+ }
|
|
3944
|
+ if m.PhotonPersistentDisk != nil {
|
|
3945
|
+@@ -12359,6 +12428,10 @@
|
|
3946
|
+ l = m.CSI.Size()
|
|
3947
|
+ n += 2 + l + sovGenerated(uint64(l))
|
|
3948
|
+ }
|
|
3949
|
++ if m.AzureDisk != nil {
|
|
3950
|
++ l = m.AzureDisk.Size()
|
3940
|
3951
|
+ n += 2 + l + sovGenerated(uint64(l))
|
3941
|
3952
|
+ }
|
3942
|
3953
|
return n
|
3943
|
3954
|
}
|
3944
|
3955
|
|
3945
|
|
-@@ -13055,6 +13127,10 @@
|
3946
|
|
- l = m.StorageOS.Size()
|
|
3956
|
+@@ -13788,8 +13861,8 @@
|
|
3957
|
+ l = m.Quobyte.Size()
|
3947
|
3958
|
n += 2 + l + sovGenerated(uint64(l))
|
3948
|
3959
|
}
|
|
3960
|
+- if m.AzureDisk != nil {
|
|
3961
|
+- l = m.AzureDisk.Size()
|
3949
|
3962
|
+ if m.CascadeDisk != nil {
|
3950
|
3963
|
+ l = m.CascadeDisk.Size()
|
|
3964
|
+ n += 2 + l + sovGenerated(uint64(l))
|
|
3965
|
+ }
|
|
3966
|
+ if m.PhotonPersistentDisk != nil {
|
|
3967
|
+@@ -13812,6 +13885,10 @@
|
|
3968
|
+ l = m.StorageOS.Size()
|
|
3969
|
+ n += 2 + l + sovGenerated(uint64(l))
|
|
3970
|
+ }
|
|
3971
|
++ if m.AzureDisk != nil {
|
|
3972
|
++ l = m.AzureDisk.Size()
|
3951
|
3973
|
+ n += 2 + l + sovGenerated(uint64(l))
|
3952
|
3974
|
+ }
|
3953
|
3975
|
return n
|
3954
|
3976
|
}
|
3955
|
3977
|
|
3956
|
|
-@@ -13202,6 +13278,17 @@
|
|
3978
|
+@@ -13971,6 +14048,17 @@
|
3957
|
3979
|
}, "")
|
3958
|
3980
|
return s
|
3959
|
3981
|
}
|
...
|
...
|
@@ -3971,29 +4059,67 @@ diff -uNr --no-dereference kubernetes-1.8.1/staging/src/k8s.io/api/core/v1/gener
|
3971
|
3971
|
func (this *CephFSPersistentVolumeSource) String() string {
|
3972
|
3972
|
if this == nil {
|
3973
|
3973
|
return "nil"
|
3974
|
|
-@@ -14532,6 +14619,7 @@
|
3975
|
|
- `ScaleIO:` + strings.Replace(fmt.Sprintf("%v", this.ScaleIO), "ScaleIOVolumeSource", "ScaleIOVolumeSource", 1) + `,`,
|
|
3974
|
+@@ -15335,13 +15423,14 @@
|
|
3975
|
+ `AzureFile:` + strings.Replace(fmt.Sprintf("%v", this.AzureFile), "AzureFilePersistentVolumeSource", "AzureFilePersistentVolumeSource", 1) + `,`,
|
|
3976
|
+ `VsphereVolume:` + strings.Replace(fmt.Sprintf("%v", this.VsphereVolume), "VsphereVirtualDiskVolumeSource", "VsphereVirtualDiskVolumeSource", 1) + `,`,
|
|
3977
|
+ `Quobyte:` + strings.Replace(fmt.Sprintf("%v", this.Quobyte), "QuobyteVolumeSource", "QuobyteVolumeSource", 1) + `,`,
|
|
3978
|
+- `AzureDisk:` + strings.Replace(fmt.Sprintf("%v", this.AzureDisk), "AzureDiskVolumeSource", "AzureDiskVolumeSource", 1) + `,`,
|
|
3979
|
++ `CascadeDisk:` + strings.Replace(fmt.Sprintf("%v", this.CascadeDisk), "CascadeDiskVolumeSource", "CascadeDiskVolumeSource", 1) + `,`,
|
|
3980
|
+ `PhotonPersistentDisk:` + strings.Replace(fmt.Sprintf("%v", this.PhotonPersistentDisk), "PhotonPersistentDiskVolumeSource", "PhotonPersistentDiskVolumeSource", 1) + `,`,
|
|
3981
|
+ `PortworxVolume:` + strings.Replace(fmt.Sprintf("%v", this.PortworxVolume), "PortworxVolumeSource", "PortworxVolumeSource", 1) + `,`,
|
|
3982
|
+ `ScaleIO:` + strings.Replace(fmt.Sprintf("%v", this.ScaleIO), "ScaleIOPersistentVolumeSource", "ScaleIOPersistentVolumeSource", 1) + `,`,
|
3976
|
3983
|
`Local:` + strings.Replace(fmt.Sprintf("%v", this.Local), "LocalVolumeSource", "LocalVolumeSource", 1) + `,`,
|
3977
|
3984
|
`StorageOS:` + strings.Replace(fmt.Sprintf("%v", this.StorageOS), "StorageOSPersistentVolumeSource", "StorageOSPersistentVolumeSource", 1) + `,`,
|
3978
|
|
-+ `CascadeDisk:` + strings.Replace(fmt.Sprintf("%v", this.CascadeDisk), "CascadeDiskVolumeSource", "CascadeDiskVolumeSource", 1) + `,`,
|
|
3985
|
+ `CSI:` + strings.Replace(fmt.Sprintf("%v", this.CSI), "CSIPersistentVolumeSource", "CSIPersistentVolumeSource", 1) + `,`,
|
|
3986
|
++ `AzureDisk:` + strings.Replace(fmt.Sprintf("%v", this.AzureDisk), "AzureDiskVolumeSource", "AzureDiskVolumeSource", 1) + `,`,
|
3979
|
3987
|
`}`,
|
3980
|
3988
|
}, "")
|
3981
|
3989
|
return s
|
3982
|
|
-@@ -15592,6 +15680,7 @@
|
|
3990
|
+@@ -16468,12 +16557,13 @@
|
|
3991
|
+ `ConfigMap:` + strings.Replace(fmt.Sprintf("%v", this.ConfigMap), "ConfigMapVolumeSource", "ConfigMapVolumeSource", 1) + `,`,
|
|
3992
|
+ `VsphereVolume:` + strings.Replace(fmt.Sprintf("%v", this.VsphereVolume), "VsphereVirtualDiskVolumeSource", "VsphereVirtualDiskVolumeSource", 1) + `,`,
|
|
3993
|
+ `Quobyte:` + strings.Replace(fmt.Sprintf("%v", this.Quobyte), "QuobyteVolumeSource", "QuobyteVolumeSource", 1) + `,`,
|
|
3994
|
+- `AzureDisk:` + strings.Replace(fmt.Sprintf("%v", this.AzureDisk), "AzureDiskVolumeSource", "AzureDiskVolumeSource", 1) + `,`,
|
|
3995
|
++ `CascadeDisk:` + strings.Replace(fmt.Sprintf("%v", this.CascadeDisk), "CascadeDiskVolumeSource", "CascadeDiskVolumeSource", 1) + `,`,
|
|
3996
|
+ `PhotonPersistentDisk:` + strings.Replace(fmt.Sprintf("%v", this.PhotonPersistentDisk), "PhotonPersistentDiskVolumeSource", "PhotonPersistentDiskVolumeSource", 1) + `,`,
|
|
3997
|
+ `PortworxVolume:` + strings.Replace(fmt.Sprintf("%v", this.PortworxVolume), "PortworxVolumeSource", "PortworxVolumeSource", 1) + `,`,
|
3983
|
3998
|
`ScaleIO:` + strings.Replace(fmt.Sprintf("%v", this.ScaleIO), "ScaleIOVolumeSource", "ScaleIOVolumeSource", 1) + `,`,
|
3984
|
3999
|
`Projected:` + strings.Replace(fmt.Sprintf("%v", this.Projected), "ProjectedVolumeSource", "ProjectedVolumeSource", 1) + `,`,
|
3985
|
4000
|
`StorageOS:` + strings.Replace(fmt.Sprintf("%v", this.StorageOS), "StorageOSVolumeSource", "StorageOSVolumeSource", 1) + `,`,
|
3986
|
|
-+ `CascadeDisk:` + strings.Replace(fmt.Sprintf("%v", this.CascadeDisk), "CascadeDiskVolumeSource", "CascadeDiskVolumeSource", 1) + `,`,
|
|
4001
|
++ `AzureDisk:` + strings.Replace(fmt.Sprintf("%v", this.AzureDisk), "AzureDiskVolumeSource", "AzureDiskVolumeSource", 1) + `,`,
|
3987
|
4002
|
`}`,
|
3988
|
4003
|
}, "")
|
3989
|
4004
|
return s
|
3990
|
|
-@@ -32799,6 +32888,39 @@
|
|
4005
|
+@@ -34322,7 +34412,7 @@
|
|
4006
|
+ iNdEx = postIndex
|
|
4007
|
+ case 16:
|
|
4008
|
+ if wireType != 2 {
|
|
4009
|
+- return fmt.Errorf("proto: wrong wireType = %d for field AzureDisk", wireType)
|
|
4010
|
++ return fmt.Errorf("proto: wrong wireType = %d for field CascadeDisk", wireType)
|
|
4011
|
+ }
|
|
4012
|
+ var msglen int
|
|
4013
|
+ for shift := uint(0); ; shift += 7 {
|
|
4014
|
+@@ -34346,10 +34436,10 @@
|
|
4015
|
+ if postIndex > l {
|
|
4016
|
+ return io.ErrUnexpectedEOF
|
|
4017
|
+ }
|
|
4018
|
+- if m.AzureDisk == nil {
|
|
4019
|
+- m.AzureDisk = &AzureDiskVolumeSource{}
|
|
4020
|
++ if m.CascadeDisk == nil {
|
|
4021
|
++ m.CascadeDisk = &CascadeDiskVolumeSource{}
|
|
4022
|
+ }
|
|
4023
|
+- if err := m.AzureDisk.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
4024
|
++ if err := m.CascadeDisk.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
4025
|
+ return err
|
|
4026
|
+ }
|
|
4027
|
+ iNdEx = postIndex
|
|
4028
|
+@@ -34551,6 +34641,39 @@
|
3991
|
4029
|
return err
|
3992
|
4030
|
}
|
3993
|
4031
|
iNdEx = postIndex
|
3994
|
|
-+ case 22:
|
|
4032
|
++ case 23:
|
3995
|
4033
|
+ if wireType != 2 {
|
3996
|
|
-+ return fmt.Errorf("proto: wrong wireType = %d for field CascadeDisk", wireType)
|
|
4034
|
++ return fmt.Errorf("proto: wrong wireType = %d for field AzureDisk", wireType)
|
3997
|
4035
|
+ }
|
3998
|
4036
|
+ var msglen int
|
3999
|
4037
|
+ for shift := uint(0); ; shift += 7 {
|
...
|
...
|
@@ -4017,17 +4143,17 @@ diff -uNr --no-dereference kubernetes-1.8.1/staging/src/k8s.io/api/core/v1/gener
|
4017
|
4017
|
+ if postIndex > l {
|
4018
|
4018
|
+ return io.ErrUnexpectedEOF
|
4019
|
4019
|
+ }
|
4020
|
|
-+ if m.CascadeDisk == nil {
|
4021
|
|
-+ m.CascadeDisk = &CascadeDiskVolumeSource{}
|
|
4020
|
++ if m.AzureDisk == nil {
|
|
4021
|
++ m.AzureDisk = &AzureDiskVolumeSource{}
|
4022
|
4022
|
+ }
|
4023
|
|
-+ if err := m.CascadeDisk.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
4023
|
++ if err := m.AzureDisk.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
4024
|
4024
|
+ return err
|
4025
|
4025
|
+ }
|
4026
|
4026
|
+ iNdEx = postIndex
|
4027
|
4027
|
default:
|
4028
|
4028
|
iNdEx = preIndex
|
4029
|
4029
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
4030
|
|
-@@ -33307,6 +33429,114 @@
|
|
4030
|
+@@ -35089,6 +35212,114 @@
|
4031
|
4031
|
}
|
4032
|
4032
|
return nil
|
4033
|
4033
|
}
|
...
|
...
|
@@ -4142,13 +4268,36 @@ diff -uNr --no-dereference kubernetes-1.8.1/staging/src/k8s.io/api/core/v1/gener
|
4142
|
4142
|
func (m *PhotonPersistentDiskVolumeSource) Unmarshal(dAtA []byte) error {
|
4143
|
4143
|
l := len(dAtA)
|
4144
|
4144
|
iNdEx := 0
|
4145
|
|
-@@ -45941,6 +46171,39 @@
|
|
4145
|
+@@ -48522,7 +48753,7 @@
|
|
4146
|
+ iNdEx = postIndex
|
|
4147
|
+ case 22:
|
|
4148
|
+ if wireType != 2 {
|
|
4149
|
+- return fmt.Errorf("proto: wrong wireType = %d for field AzureDisk", wireType)
|
|
4150
|
++ return fmt.Errorf("proto: wrong wireType = %d for field CascadeDisk", wireType)
|
|
4151
|
+ }
|
|
4152
|
+ var msglen int
|
|
4153
|
+ for shift := uint(0); ; shift += 7 {
|
|
4154
|
+@@ -48546,10 +48777,10 @@
|
|
4155
|
+ if postIndex > l {
|
|
4156
|
+ return io.ErrUnexpectedEOF
|
|
4157
|
+ }
|
|
4158
|
+- if m.AzureDisk == nil {
|
|
4159
|
+- m.AzureDisk = &AzureDiskVolumeSource{}
|
|
4160
|
++ if m.CascadeDisk == nil {
|
|
4161
|
++ m.CascadeDisk = &CascadeDiskVolumeSource{}
|
|
4162
|
+ }
|
|
4163
|
+- if err := m.AzureDisk.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
4164
|
++ if err := m.CascadeDisk.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
4165
|
+ return err
|
|
4166
|
+ }
|
|
4167
|
+ iNdEx = postIndex
|
|
4168
|
+@@ -48718,6 +48949,39 @@
|
4146
|
4169
|
return err
|
4147
|
4170
|
}
|
4148
|
4171
|
iNdEx = postIndex
|
4149
|
4172
|
+ case 28:
|
4150
|
4173
|
+ if wireType != 2 {
|
4151
|
|
-+ return fmt.Errorf("proto: wrong wireType = %d for field CascadeDisk", wireType)
|
|
4174
|
++ return fmt.Errorf("proto: wrong wireType = %d for field AzureDisk", wireType)
|
4152
|
4175
|
+ }
|
4153
|
4176
|
+ var msglen int
|
4154
|
4177
|
+ for shift := uint(0); ; shift += 7 {
|
...
|
...
|
@@ -4172,38 +4321,64 @@ diff -uNr --no-dereference kubernetes-1.8.1/staging/src/k8s.io/api/core/v1/gener
|
4172
|
4172
|
+ if postIndex > l {
|
4173
|
4173
|
+ return io.ErrUnexpectedEOF
|
4174
|
4174
|
+ }
|
4175
|
|
-+ if m.CascadeDisk == nil {
|
4176
|
|
-+ m.CascadeDisk = &CascadeDiskVolumeSource{}
|
|
4175
|
++ if m.AzureDisk == nil {
|
|
4176
|
++ m.AzureDisk = &AzureDiskVolumeSource{}
|
4177
|
4177
|
+ }
|
4178
|
|
-+ if err := m.CascadeDisk.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
4178
|
++ if err := m.AzureDisk.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
4179
|
4179
|
+ return err
|
4180
|
4180
|
+ }
|
4181
|
4181
|
+ iNdEx = postIndex
|
4182
|
4182
|
default:
|
4183
|
4183
|
iNdEx = preIndex
|
4184
|
4184
|
skippy, err := skipGenerated(dAtA[iNdEx:])
|
4185
|
|
-diff -uNr --no-dereference kubernetes-1.8.1/staging/src/k8s.io/api/core/v1/types.go cascade-kubernetes/staging/src/k8s.io/api/core/v1/types.go
|
4186
|
|
-+++ cascade-kubernetes/staging/src/k8s.io/api/core/v1/types.go 2018-01-31 02:12:47.000000000 +0000
|
4187
|
|
-@@ -350,6 +350,8 @@
|
|
4185
|
+diff --no-dereference -uNr kubernetes-original/staging/src/k8s.io/api/core/v1/types.go kubernetes-modified/src/k8s.io/kubernetes/staging/src/k8s.io/api/core/v1/types.go
|
|
4186
|
+--- kubernetes-original/staging/src/k8s.io/api/core/v1/types.go 2018-03-20 19:21:10.000000000 +0000
|
|
4187
|
+@@ -333,9 +333,8 @@
|
|
4188
|
+ // Quobyte represents a Quobyte mount on the host that shares a pod's lifetime
|
|
4189
|
+ // +optional
|
|
4190
|
+ Quobyte *QuobyteVolumeSource `json:"quobyte,omitempty" protobuf:"bytes,21,opt,name=quobyte"`
|
|
4191
|
+- // AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
|
|
4192
|
+- // +optional
|
|
4193
|
+- AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty" protobuf:"bytes,22,opt,name=azureDisk"`
|
|
4194
|
++ // CascadeDisk represents a Cascade persistent disk attached and mounted on kubelets host machine
|
|
4195
|
++ CascadeDisk *CascadeDiskVolumeSource `json:"cascadeDisk,omitempty" protobuf:"bytes,22,opt,name=cascadeDisk"`
|
|
4196
|
+ // PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
|
|
4197
|
+ PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty" protobuf:"bytes,23,opt,name=photonPersistentDisk"`
|
|
4198
|
+ // Items for all in one resources secrets, configmaps, and downward API
|
|
4199
|
+@@ -349,6 +348,9 @@
|
4188
|
4200
|
// StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
|
4189
|
4201
|
// +optional
|
4190
|
4202
|
StorageOS *StorageOSVolumeSource `json:"storageos,omitempty" protobuf:"bytes,27,opt,name=storageos"`
|
4191
|
|
-+ // CascadeDisk represents a Cascade persistent disk attached and mounted on kubelets host machine
|
4192
|
|
-+ CascadeDisk *CascadeDiskVolumeSource `json:"cascadeDisk,omitempty" protobuf:"bytes,28,opt,name=cascadeDisk"`
|
|
4203
|
++ // AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
|
|
4204
|
++ // +optional
|
|
4205
|
++ AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty" protobuf:"bytes,28,opt,name=azureDisk"`
|
4193
|
4206
|
}
|
4194
|
4207
|
|
4195
|
4208
|
// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.
|
4196
|
|
-@@ -448,6 +450,8 @@
|
4197
|
|
- // More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md
|
|
4209
|
+@@ -428,9 +430,8 @@
|
|
4210
|
+ // Quobyte represents a Quobyte mount on the host that shares a pod's lifetime
|
4198
|
4211
|
// +optional
|
4199
|
|
- StorageOS *StorageOSPersistentVolumeSource `json:"storageos,omitempty" protobuf:"bytes,21,opt,name=storageos"`
|
|
4212
|
+ Quobyte *QuobyteVolumeSource `json:"quobyte,omitempty" protobuf:"bytes,15,opt,name=quobyte"`
|
|
4213
|
+- // AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
|
|
4214
|
+- // +optional
|
|
4215
|
+- AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty" protobuf:"bytes,16,opt,name=azureDisk"`
|
4200
|
4216
|
+ // CascadeDisk represents a Cascade persistent disk attached and mounted on kubelets host machine
|
4201
|
|
-+ CascadeDisk *CascadeDiskVolumeSource `json:"cascadeDisk,omitempty" protobuf:"bytes,22,opt,name=cascadeDisk"`
|
|
4217
|
++ CascadeDisk *CascadeDiskVolumeSource `json:"cascadeDisk,omitempty" protobuf:"bytes,16,opt,name=cascadeDisk"`
|
|
4218
|
+ // PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
|
|
4219
|
+ PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty" protobuf:"bytes,17,opt,name=photonPersistentDisk"`
|
|
4220
|
+ // PortworxVolume represents a portworx volume attached and mounted on kubelets host machine
|
|
4221
|
+@@ -449,6 +450,9 @@
|
|
4222
|
+ // CSI represents storage that handled by an external CSI driver
|
|
4223
|
+ // +optional
|
|
4224
|
+ CSI *CSIPersistentVolumeSource `json:"csi,omitempty" protobuf:"bytes,22,opt,name=csi"`
|
|
4225
|
++ // AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
|
|
4226
|
++ // +optional
|
|
4227
|
++ AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty" protobuf:"bytes,23,opt,name=azureDisk"`
|
4202
|
4228
|
}
|
4203
|
4229
|
|
4204
|
4230
|
const (
|
4205
|
|
-@@ -1431,6 +1435,16 @@
|
|
4231
|
+@@ -1578,6 +1582,16 @@
|
4206
|
4232
|
SecretRef *ObjectReference `json:"secretRef,omitempty" protobuf:"bytes,5,opt,name=secretRef"`
|
4207
|
4233
|
}
|
4208
|
4234
|
|
...
|
...
|
@@ -4220,3 +4395,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/staging/src/k8s.io/api/core/v1/types
|
4220
|
4220
|
// Adapts a ConfigMap into a volume.
|
4221
|
4221
|
//
|
4222
|
4222
|
// The contents of the target ConfigMap's Data field will be presented in a
|
|
4223
|
+Binary files kubernetes-original/staging/src/k8s.io/api/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/src/k8s.io/api/._.DS_Store differ
|
|
4224
|
+Binary files kubernetes-original/staging/src/k8s.io/api/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/src/k8s.io/api/.DS_Store differ
|
|
4225
|
+Binary files kubernetes-original/staging/src/k8s.io/._.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/src/k8s.io/._.DS_Store differ
|
|
4226
|
+Binary files kubernetes-original/staging/src/k8s.io/.DS_Store and kubernetes-modified/src/k8s.io/kubernetes/staging/src/k8s.io/.DS_Store differ
|