Change-Id: Ic1b90ff28b4bc56fe8618feefb720f6463b173ce
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/5122
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Sharath George
... | ... |
@@ -1,6 +1,6 @@ |
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 |
+diff -uNr --no-dereference kubernetes-original/api/swagger-spec/apps_v1alpha1.json kubernetes-modified/src/k8s.io/kubernetes/api/swagger-spec/apps_v1alpha1.json |
|
2 |
+--- kubernetes-original/api/swagger-spec/apps_v1alpha1.json 2018-03-20 19:21:10.000000000 +0000 |
|
3 | 3 |
@@ -1459,6 +1459,10 @@ |
4 | 4 |
"photonPersistentDisk": { |
5 | 5 |
"$ref": "v1.PhotonPersistentDiskVolumeSource", |
... | ... |
@@ -36,10 +36,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 -uNr --no-dereference 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 +50,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 +74,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 -uNr --no-dereference 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 +88,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 +112,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 -uNr --no-dereference 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 +126,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 +150,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 -uNr --no-dereference 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 +164,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 +188,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 -uNr --no-dereference 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 +202,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 +226,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 -uNr --no-dereference 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 +240,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 +264,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 -uNr --no-dereference 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 +278,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 +302,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 -uNr --no-dereference 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 +316,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 +340,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 +351,56 @@ 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 |
+diff -uNr --no-dereference kubernetes-original/cmd/kube-controller-manager/app/BUILD kubernetes-modified/src/k8s.io/kubernetes/cmd/kube-controller-manager/app/BUILD |
|
355 |
+--- kubernetes-original/cmd/kube-controller-manager/app/BUILD 2018-03-20 19:21:10.000000000 +0000 |
|
356 |
+@@ -86,6 +86,7 @@ |
|
365 | 357 |
"//pkg/volume/aws_ebs:go_default_library", |
366 | 358 |
"//pkg/volume/azure_dd:go_default_library", |
367 | 359 |
"//pkg/volume/azure_file:go_default_library", |
368 | 360 |
+ "//pkg/volume/cascade_disk:go_default_library", |
369 | 361 |
"//pkg/volume/cinder:go_default_library", |
362 |
+ "//pkg/volume/csi:go_default_library", |
|
370 | 363 |
"//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" |
|
364 |
+diff -uNr --no-dereference kubernetes-original/cmd/kube-controller-manager/app/plugins.go kubernetes-modified/src/k8s.io/kubernetes/cmd/kube-controller-manager/app/plugins.go |
|
365 |
+--- kubernetes-original/cmd/kube-controller-manager/app/plugins.go 2018-03-20 19:21:10.000000000 +0000 |
|
366 |
+@@ -34,6 +34,7 @@ |
|
367 |
+ "k8s.io/kubernetes/pkg/volume/aws_ebs" |
|
368 |
+ "k8s.io/kubernetes/pkg/volume/azure_dd" |
|
369 |
+ "k8s.io/kubernetes/pkg/volume/azure_file" |
|
386 | 370 |
+ "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()...) |
|
371 |
+ "k8s.io/kubernetes/pkg/volume/cinder" |
|
372 |
+ "k8s.io/kubernetes/pkg/volume/csi" |
|
373 |
+ "k8s.io/kubernetes/pkg/volume/fc" |
|
374 |
+@@ -77,6 +78,7 @@ |
|
392 | 375 |
allPlugins = append(allPlugins, fc.ProbeVolumePlugins()...) |
393 | 376 |
allPlugins = append(allPlugins, iscsi.ProbeVolumePlugins()...) |
377 |
+ allPlugins = append(allPlugins, rbd.ProbeVolumePlugins()...) |
|
394 | 378 |
+ allPlugins = append(allPlugins, cascade_disk.ProbeVolumePlugins()...) |
395 |
- return allPlugins |
|
396 |
- } |
|
397 |
- |
|
398 |
-@@ -104,6 +107,7 @@ |
|
379 |
+ if utilfeature.DefaultFeatureGate.Enabled(features.CSIPersistentVolume) { |
|
380 |
+ allPlugins = append(allPlugins, csi.ProbeVolumePlugins()...) |
|
381 |
+ } |
|
382 |
+@@ -106,6 +108,7 @@ |
|
399 | 383 |
allPlugins = append(allPlugins, scaleio.ProbeVolumePlugins()...) |
400 | 384 |
allPlugins = append(allPlugins, storageos.ProbeVolumePlugins()...) |
401 | 385 |
allPlugins = append(allPlugins, fc.ProbeVolumePlugins()...) |
402 | 386 |
+ 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 |
- } |
|
387 |
+ if !utilfeature.DefaultFeatureGate.Enabled(features.CSIPersistentVolume) { |
|
388 |
+ allPlugins = append(allPlugins, csi.ProbeVolumePlugins()...) |
|
413 | 389 |
} |
390 |
+@@ -165,6 +168,7 @@ |
|
391 |
+ allPlugins = append(allPlugins, vsphere_volume.ProbeVolumePlugins()...) |
|
392 |
+ allPlugins = append(allPlugins, azure_dd.ProbeVolumePlugins()...) |
|
393 |
+ allPlugins = append(allPlugins, photon_pd.ProbeVolumePlugins()...) |
|
394 |
++ allPlugins = append(allPlugins, cascade_disk.ProbeVolumePlugins()...) |
|
414 | 395 |
|
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 @@ |
|
396 |
+ return allPlugins |
|
397 |
+ } |
|
398 |
+diff -uNr --no-dereference kubernetes-original/cmd/kubelet/app/BUILD kubernetes-modified/src/k8s.io/kubernetes/cmd/kubelet/app/BUILD |
|
399 |
+--- kubernetes-original/cmd/kubelet/app/BUILD 2018-03-20 19:21:10.000000000 +0000 |
|
400 |
+@@ -74,6 +74,7 @@ |
|
418 | 401 |
"//pkg/volume/aws_ebs:go_default_library", |
419 | 402 |
"//pkg/volume/azure_dd:go_default_library", |
420 | 403 |
"//pkg/volume/azure_file:go_default_library", |
... | ... |
@@ -425,9 +408,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 -uNr --no-dereference 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 +419,266 @@ 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 |
+diff -uNr --no-dereference kubernetes-original/.idea/kubernetes.iml kubernetes-modified/src/k8s.io/kubernetes/.idea/kubernetes.iml |
|
448 |
+--- kubernetes-original/.idea/kubernetes.iml 1970-01-01 00:00:00.000000000 +0000 |
|
449 |
+@@ -0,0 +1,9 @@ |
|
450 |
++<?xml version="1.0" encoding="UTF-8"?> |
|
451 |
++<module type="JAVA_MODULE" version="4"> |
|
452 |
++ <component name="NewModuleRootManager" inherit-compiler-output="true"> |
|
453 |
++ <exclude-output /> |
|
454 |
++ <content url="file://$MODULE_DIR$" /> |
|
455 |
++ <orderEntry type="inheritedJdk" /> |
|
456 |
++ <orderEntry type="sourceFolder" forTests="false" /> |
|
457 |
++ </component> |
|
458 |
++</module> |
|
459 |
+\ No newline at end of file |
|
460 |
+diff -uNr --no-dereference kubernetes-original/.idea/modules.xml kubernetes-modified/src/k8s.io/kubernetes/.idea/modules.xml |
|
461 |
+--- kubernetes-original/.idea/modules.xml 1970-01-01 00:00:00.000000000 +0000 |
|
462 |
+@@ -0,0 +1,8 @@ |
|
463 |
++<?xml version="1.0" encoding="UTF-8"?> |
|
464 |
++<project version="4"> |
|
465 |
++ <component name="ProjectModuleManager"> |
|
466 |
++ <modules> |
|
467 |
++ <module fileurl="file://$PROJECT_DIR$/.idea/kubernetes.iml" filepath="$PROJECT_DIR$/.idea/kubernetes.iml" /> |
|
468 |
++ </modules> |
|
469 |
++ </component> |
|
470 |
++</project> |
|
471 |
+\ No newline at end of file |
|
472 |
+diff -uNr --no-dereference kubernetes-original/.idea/workspace.xml kubernetes-modified/src/k8s.io/kubernetes/.idea/workspace.xml |
|
473 |
+--- kubernetes-original/.idea/workspace.xml 1970-01-01 00:00:00.000000000 +0000 |
|
474 |
+@@ -0,0 +1,217 @@ |
|
475 |
++<?xml version="1.0" encoding="UTF-8"?> |
|
476 |
++<project version="4"> |
|
477 |
++ <component name="ChangeListManager"> |
|
478 |
++ <list default="true" id="76c7d3c7-31f8-4430-8717-7c15514d1ce9" name="Default" comment="" /> |
|
479 |
++ <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> |
|
480 |
++ <option name="TRACKING_ENABLED" value="true" /> |
|
481 |
++ <option name="SHOW_DIALOG" value="false" /> |
|
482 |
++ <option name="HIGHLIGHT_CONFLICTS" value="true" /> |
|
483 |
++ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> |
|
484 |
++ <option name="LAST_RESOLUTION" value="IGNORE" /> |
|
485 |
++ </component> |
|
486 |
++ <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" /> |
|
487 |
++ <component name="GradleLocalSettings"> |
|
488 |
++ <option name="externalProjectsViewState"> |
|
489 |
++ <projects_view /> |
|
490 |
++ </option> |
|
491 |
++ </component> |
|
492 |
++ <component name="ProjectFrameBounds"> |
|
493 |
++ <option name="x" value="1680" /> |
|
494 |
++ <option name="y" value="-235" /> |
|
495 |
++ <option name="width" value="2560" /> |
|
496 |
++ <option name="height" value="1417" /> |
|
497 |
++ </component> |
|
498 |
++ <component name="ProjectView"> |
|
499 |
++ <navigator currentView="ProjectPane" proportions="" version="1"> |
|
500 |
++ <flattenPackages /> |
|
501 |
++ <showMembers /> |
|
502 |
++ <showModules /> |
|
503 |
++ <showLibraryContents /> |
|
504 |
++ <hideEmptyPackages /> |
|
505 |
++ <abbreviatePackageNames /> |
|
506 |
++ <autoscrollToSource /> |
|
507 |
++ <autoscrollFromSource /> |
|
508 |
++ <sortByType /> |
|
509 |
++ <manualOrder /> |
|
510 |
++ <foldersAlwaysOnTop value="true" /> |
|
511 |
++ </navigator> |
|
512 |
++ <panes> |
|
513 |
++ <pane id="Scope" /> |
|
514 |
++ <pane id="Scratches" /> |
|
515 |
++ <pane id="PackagesPane" /> |
|
516 |
++ <pane id="ProjectPane"> |
|
517 |
++ <subPane> |
|
518 |
++ <PATH> |
|
519 |
++ <PATH_ELEMENT> |
|
520 |
++ <option name="myItemId" value="kubernetes" /> |
|
521 |
++ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" /> |
|
522 |
++ </PATH_ELEMENT> |
|
523 |
++ <PATH_ELEMENT> |
|
524 |
++ <option name="myItemId" value="kubernetes" /> |
|
525 |
++ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> |
|
526 |
++ </PATH_ELEMENT> |
|
527 |
++ </PATH> |
|
528 |
++ </subPane> |
|
529 |
++ </pane> |
|
530 |
++ </panes> |
|
531 |
++ </component> |
|
532 |
++ <component name="PropertiesComponent"> |
|
533 |
++ <property name="settings.editor.selected.configurable" value="com.goide.configuration.GoLibrariesConfigurableProvider$1" /> |
|
534 |
++ <property name="configurable.Global.libraries.is.expanded" value="true" /> |
|
535 |
++ <property name="last_opened_file_path" value="$PROJECT_DIR$" /> |
|
536 |
++ </component> |
|
537 |
++ <component name="RunDashboard"> |
|
538 |
++ <option name="ruleStates"> |
|
539 |
++ <list> |
|
540 |
++ <RuleState> |
|
541 |
++ <option name="name" value="ConfigurationTypeDashboardGroupingRule" /> |
|
542 |
++ </RuleState> |
|
543 |
++ <RuleState> |
|
544 |
++ <option name="name" value="StatusDashboardGroupingRule" /> |
|
545 |
++ </RuleState> |
|
546 |
++ </list> |
|
547 |
++ </option> |
|
548 |
++ </component> |
|
549 |
++ <component name="RunManager"> |
|
550 |
++ <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin"> |
|
551 |
++ <module name="" /> |
|
552 |
++ <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" /> |
|
553 |
++ <option name="PROGRAM_PARAMETERS" /> |
|
554 |
++ <predefined_log_file id="idea.log" enabled="true" /> |
|
555 |
++ <method /> |
|
556 |
++ </configuration> |
|
557 |
++ <configuration default="true" type="Applet" factoryName="Applet"> |
|
558 |
++ <option name="HTML_USED" value="false" /> |
|
559 |
++ <option name="WIDTH" value="400" /> |
|
560 |
++ <option name="HEIGHT" value="300" /> |
|
561 |
++ <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" /> |
|
562 |
++ <module /> |
|
563 |
++ <method /> |
|
564 |
++ </configuration> |
|
565 |
++ <configuration default="true" type="Application" factoryName="Application"> |
|
566 |
++ <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> |
|
567 |
++ <option name="MAIN_CLASS_NAME" /> |
|
568 |
++ <option name="VM_PARAMETERS" /> |
|
569 |
++ <option name="PROGRAM_PARAMETERS" /> |
|
570 |
++ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> |
|
571 |
++ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> |
|
572 |
++ <option name="ALTERNATIVE_JRE_PATH" /> |
|
573 |
++ <option name="ENABLE_SWING_INSPECTOR" value="false" /> |
|
574 |
++ <option name="ENV_VARIABLES" /> |
|
575 |
++ <option name="PASS_PARENT_ENVS" value="true" /> |
|
576 |
++ <module name="" /> |
|
577 |
++ <envs /> |
|
578 |
++ <method /> |
|
579 |
++ </configuration> |
|
580 |
++ <configuration default="true" type="JUnit" factoryName="JUnit"> |
|
581 |
++ <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> |
|
582 |
++ <module name="" /> |
|
583 |
++ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> |
|
584 |
++ <option name="ALTERNATIVE_JRE_PATH" /> |
|
585 |
++ <option name="PACKAGE_NAME" /> |
|
586 |
++ <option name="MAIN_CLASS_NAME" /> |
|
587 |
++ <option name="METHOD_NAME" /> |
|
588 |
++ <option name="TEST_OBJECT" value="class" /> |
|
589 |
++ <option name="VM_PARAMETERS" value="-ea" /> |
|
590 |
++ <option name="PARAMETERS" /> |
|
591 |
++ <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" /> |
|
592 |
++ <option name="ENV_VARIABLES" /> |
|
593 |
++ <option name="PASS_PARENT_ENVS" value="true" /> |
|
594 |
++ <option name="TEST_SEARCH_SCOPE"> |
|
595 |
++ <value defaultName="singleModule" /> |
|
596 |
++ </option> |
|
597 |
++ <envs /> |
|
598 |
++ <patterns /> |
|
599 |
++ <method /> |
|
600 |
++ </configuration> |
|
601 |
++ <configuration default="true" type="Remote" factoryName="Remote"> |
|
602 |
++ <option name="USE_SOCKET_TRANSPORT" value="true" /> |
|
603 |
++ <option name="SERVER_MODE" value="false" /> |
|
604 |
++ <option name="SHMEM_ADDRESS" value="javadebug" /> |
|
605 |
++ <option name="HOST" value="localhost" /> |
|
606 |
++ <option name="PORT" value="5005" /> |
|
607 |
++ <method /> |
|
608 |
++ </configuration> |
|
609 |
++ <configuration default="true" type="TestNG" factoryName="TestNG"> |
|
610 |
++ <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" /> |
|
611 |
++ <module name="" /> |
|
612 |
++ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" /> |
|
613 |
++ <option name="ALTERNATIVE_JRE_PATH" /> |
|
614 |
++ <option name="SUITE_NAME" /> |
|
615 |
++ <option name="PACKAGE_NAME" /> |
|
616 |
++ <option name="MAIN_CLASS_NAME" /> |
|
617 |
++ <option name="METHOD_NAME" /> |
|
618 |
++ <option name="GROUP_NAME" /> |
|
619 |
++ <option name="TEST_OBJECT" value="CLASS" /> |
|
620 |
++ <option name="VM_PARAMETERS" value="-ea" /> |
|
621 |
++ <option name="PARAMETERS" /> |
|
622 |
++ <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" /> |
|
623 |
++ <option name="OUTPUT_DIRECTORY" /> |
|
624 |
++ <option name="ANNOTATION_TYPE" /> |
|
625 |
++ <option name="ENV_VARIABLES" /> |
|
626 |
++ <option name="PASS_PARENT_ENVS" value="true" /> |
|
627 |
++ <option name="TEST_SEARCH_SCOPE"> |
|
628 |
++ <value defaultName="singleModule" /> |
|
629 |
++ </option> |
|
630 |
++ <option name="USE_DEFAULT_REPORTERS" value="false" /> |
|
631 |
++ <option name="PROPERTIES_FILE" /> |
|
632 |
++ <envs /> |
|
633 |
++ <properties /> |
|
634 |
++ <listeners /> |
|
635 |
++ <method /> |
|
636 |
++ </configuration> |
|
637 |
++ </component> |
|
638 |
++ <component name="ShelveChangesManager" show_recycled="false"> |
|
639 |
++ <option name="remove_strategy" value="false" /> |
|
640 |
++ </component> |
|
641 |
++ <component name="TaskManager"> |
|
642 |
++ <task active="true" id="Default" summary="Default task"> |
|
643 |
++ <changelist id="76c7d3c7-31f8-4430-8717-7c15514d1ce9" name="Default" comment="" /> |
|
644 |
++ <created>1510772775522</created> |
|
645 |
++ <option name="number" value="Default" /> |
|
646 |
++ <option name="presentableId" value="Default" /> |
|
647 |
++ <updated>1510772775522</updated> |
|
648 |
++ </task> |
|
649 |
++ <servers /> |
|
650 |
++ </component> |
|
651 |
++ <component name="ToolWindowManager"> |
|
652 |
++ <frame x="1680" y="-235" width="2560" height="1417" extended-state="6" /> |
|
653 |
++ <layout> |
|
654 |
++ <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
|
655 |
++ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> |
|
656 |
++ <window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
|
657 |
++ <window_info id="Palette	" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
|
658 |
++ <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
|
659 |
++ <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
|
660 |
++ <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> |
|
661 |
++ <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
|
662 |
++ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
|
663 |
++ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> |
|
664 |
++ <window_info id="Properties" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
|
665 |
++ <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> |
|
666 |
++ <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
|
667 |
++ <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
|
668 |
++ <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25178713" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> |
|
669 |
++ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |
|
670 |
++ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |
|
671 |
++ <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
|
672 |
++ <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
|
673 |
++ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
|
674 |
++ <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> |
|
675 |
++ <window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> |
|
676 |
++ <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> |
|
677 |
++ <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> |
|
678 |
++ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> |
|
679 |
++ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> |
|
680 |
++ <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> |
|
681 |
++ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |
|
682 |
++ </layout> |
|
683 |
++ </component> |
|
684 |
++ <component name="VcsContentAnnotationSettings"> |
|
685 |
++ <option name="myLimit" value="2678400000" /> |
|
686 |
++ </component> |
|
687 |
++ <component name="XDebuggerManager"> |
|
688 |
++ <breakpoint-manager /> |
|
689 |
++ <watches-manager /> |
|
690 |
++ </component> |
|
691 |
++</project> |
|
692 |
+\ No newline at end of file |
|
693 |
+diff -uNr --no-dereference kubernetes-original/pkg/apis/core/types.go kubernetes-modified/src/k8s.io/kubernetes/pkg/apis/core/types.go |
|
694 |
+--- kubernetes-original/pkg/apis/core/types.go 2018-03-20 19:21:10.000000000 +0000 |
|
485 | 695 |
@@ -316,6 +316,8 @@ |
486 | 696 |
// StorageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod |
487 | 697 |
// +optional |
... | ... |
@@ -493,16 +688,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 +714,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 -uNr --no-dereference 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 +732,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 +747,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 +759,25 @@ 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 |
+diff -uNr --no-dereference kubernetes-original/pkg/apis/extensions/types.go kubernetes-modified/src/k8s.io/kubernetes/pkg/apis/extensions/types.go |
|
572 |
+--- kubernetes-original/pkg/apis/extensions/types.go 2018-03-20 19:21:10.000000000 +0000 |
|
573 |
+@@ -925,6 +925,7 @@ |
|
574 | 574 |
PortworxVolume FSType = "portworxVolume" |
575 | 575 |
ScaleIO FSType = "scaleIO" |
576 |
+ CSI FSType = "csi" |
|
576 | 577 |
+ CascadeDisk FSType = "cascadeDisk" |
577 | 578 |
All FSType = "*" |
578 | 579 |
) |
579 | 580 |
|
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 @@ |
|
581 |
+diff -uNr --no-dereference kubernetes-original/pkg/cloudprovider/providers/BUILD kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/BUILD |
|
582 |
+--- kubernetes-original/pkg/cloudprovider/providers/BUILD 2018-03-20 19:21:10.000000000 +0000 |
|
583 |
+@@ -12,6 +12,7 @@ |
|
583 | 584 |
deps = [ |
584 | 585 |
"//pkg/cloudprovider/providers/aws:go_default_library", |
585 | 586 |
"//pkg/cloudprovider/providers/azure:go_default_library", |
... | ... |
@@ -597,17 +793,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 -uNr --no-dereference 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 +961,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 +994,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 +1024,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 -uNr --no-dereference 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 |
+ |
... | ... |
@@ -928,7 +1126,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/ |
928 | 928 |
+ |
929 | 929 |
+func buildOIDCClient(authEndpoint string) (*OIDCClient, error) { |
930 | 930 |
+ options := &OIDCClientOptions{ |
931 |
-+ IgnoreCertificate: true, |
|
931 |
++ IgnoreCertificate: false, |
|
932 | 932 |
+ RootCAs: nil, |
933 | 933 |
+ TokenScope: tScope, |
934 | 934 |
+ } |
... | ... |
@@ -976,9 +1174,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 -uNr --no-dereference 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 +1222,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 -uNr --no-dereference 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 +1311,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 +1421,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 +1449,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 -uNr --no-dereference 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 +1672,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 -uNr --no-dereference 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 +1766,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 -uNr --no-dereference 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 +1849,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 +2055,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 -uNr --no-dereference 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 +2117,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 +2125,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 +2137,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 +2159,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 +2171,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 +2295,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 +2322,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 +2453,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 -uNr --no-dereference 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 |
+ |
... | ... |
@@ -2324,7 +2561,7 @@ diff -uNr --no-dereference kubernetes-1.8.1/pkg/cloudprovider/providers/cascade/ |
2324 | 2324 |
+ |
2325 | 2325 |
+ tr := &http.Transport{ |
2326 | 2326 |
+ TLSClientConfig: &tls.Config{ |
2327 |
-+ InsecureSkipVerify: true, |
|
2327 |
++ InsecureSkipVerify: false, |
|
2328 | 2328 |
+ }, |
2329 | 2329 |
+ } |
2330 | 2330 |
+ client.setTransport(tr) |
... | ... |
@@ -2517,16 +2754,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 -uNr --no-dereference 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 -uNr --no-dereference 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 +3027,18 @@ 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 -uNr --no-dereference kubernetes-original/pkg/cloudprovider/providers/cascade/tests_owed kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/tests_owed |
|
2794 |
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/tests_owed 1970-01-01 00:00:00.000000000 +0000 |
|
2795 |
+@@ -0,0 +1,5 @@ |
|
2796 |
++ |
|
2797 |
++Yu Sheng |
|
2798 |
++Change-Id: Ifc11818f65a3e018aeea6988d9e2c0719b592920 |
|
2799 |
++ |
|
2800 |
++ |
|
2801 |
+diff -uNr --no-dereference kubernetes-original/pkg/cloudprovider/providers/cascade/utils.go kubernetes-modified/src/k8s.io/kubernetes/pkg/cloudprovider/providers/cascade/utils.go |
|
2802 |
+--- kubernetes-original/pkg/cloudprovider/providers/cascade/utils.go 1970-01-01 00:00:00.000000000 +0000 |
|
2795 | 2803 |
@@ -0,0 +1,25 @@ |
2796 | 2804 |
+package cascade |
2797 | 2805 |
+ |
... | ... |
@@ -2820,9 +3066,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 -uNr --no-dereference 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 +3077,10 @@ 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 |
+diff -uNr --no-dereference kubernetes-original/pkg/printers/internalversion/describe.go kubernetes-modified/src/k8s.io/kubernetes/pkg/printers/internalversion/describe.go |
|
2835 |
+--- kubernetes-original/pkg/printers/internalversion/describe.go 2018-03-20 19:21:10.000000000 +0000 |
|
2836 |
+@@ -751,6 +751,8 @@ |
|
2837 | 2837 |
printFlexVolumeSource(volume.VolumeSource.FlexVolume, w) |
2838 | 2838 |
case volume.VolumeSource.Flocker != nil: |
2839 | 2839 |
printFlockerVolumeSource(volume.VolumeSource.Flocker, w) |
... | ... |
@@ -2843,8 +3089,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 +3103,27 @@ 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 |
+diff -uNr --no-dereference kubernetes-original/pkg/security/podsecuritypolicy/util/util.go kubernetes-modified/src/k8s.io/kubernetes/pkg/security/podsecuritypolicy/util/util.go |
|
2870 |
+--- kubernetes-original/pkg/security/podsecuritypolicy/util/util.go 2018-03-20 19:21:10.000000000 +0000 |
|
2871 |
+@@ -68,6 +68,7 @@ |
|
2873 | 2872 |
string(extensions.PortworxVolume), |
2874 | 2873 |
string(extensions.ScaleIO), |
2874 |
+ string(extensions.CSI), |
|
2875 | 2875 |
+ string(extensions.CascadeDisk), |
2876 | 2876 |
) |
2877 | 2877 |
return fstypes |
2878 | 2878 |
} |
2879 |
-@@ -128,6 +129,8 @@ |
|
2879 |
+@@ -129,6 +130,8 @@ |
|
2880 | 2880 |
return extensions.PortworxVolume, nil |
2881 | 2881 |
case v.ScaleIO != nil: |
2882 | 2882 |
return extensions.ScaleIO, nil |
... | ... |
@@ -2886,10 +3132,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 -uNr --no-dereference 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 +3171,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 +3186,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 +3263,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 +3271,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 +3348,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 +3361,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 +3405,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 -uNr --no-dereference 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 +3452,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 -uNr --no-dereference 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 +3848,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 -uNr --no-dereference 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 +3959,23 @@ 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 -uNr --no-dereference 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 |
+diff -uNr --no-dereference kubernetes-original/plugin/pkg/admission/persistentvolume/label/admission.go kubernetes-modified/src/k8s.io/kubernetes/plugin/pkg/admission/persistentvolume/label/admission.go |
|
3731 |
+--- kubernetes-original/plugin/pkg/admission/persistentvolume/label/admission.go 2018-03-20 19:21:10.000000000 +0000 |
|
3732 |
+@@ -27,6 +27,7 @@ |
|
3733 |
+ api "k8s.io/kubernetes/pkg/apis/core" |
|
3734 |
+ "k8s.io/kubernetes/pkg/cloudprovider" |
|
3735 |
+ "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" |
|
3736 |
++ "k8s.io/kubernetes/pkg/cloudprovider/providers/cascade" |
|
3737 |
+ "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" |
|
3733 | 3738 |
kubeapiserveradmission "k8s.io/kubernetes/pkg/kubeapiserver/admission" |
3734 | 3739 |
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 | 3740 |
@@ -50,6 +51,7 @@ |
3741 | 3741 |
ebsVolumes aws.Volumes |
3742 | 3742 |
cloudConfig []byte |
... | ... |
@@ -3746,8 +3983,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 +3998,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 +4047,53 @@ 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 |
+diff -uNr --no-dereference 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 |
|
3814 |
+--- kubernetes-original/staging/src/k8s.io/api/core/v1/generated.pb.go 2018-03-20 19:21:10.000000000 +0000 |
|
3815 |
+@@ -35,6 +35,7 @@ |
|
3818 | 3816 |
Binding |
3817 |
+ CSIPersistentVolumeSource |
|
3819 | 3818 |
Capabilities |
3820 | 3819 |
+ CascadeDiskVolumeSource |
3821 | 3820 |
CephFSPersistentVolumeSource |
3822 | 3821 |
CephFSVolumeSource |
3823 | 3822 |
CinderVolumeSource |
3824 |
-@@ -992,6 +993,12 @@ |
|
3825 |
- return fileDescriptorGenerated, []int{177} |
|
3826 |
- } |
|
3823 |
+@@ -260,9 +261,11 @@ |
|
3824 |
+ func (*AvoidPods) ProtoMessage() {} |
|
3825 |
+ func (*AvoidPods) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } |
|
3827 | 3826 |
|
3827 |
+-func (m *AzureDiskVolumeSource) Reset() { *m = AzureDiskVolumeSource{} } |
|
3828 |
+-func (*AzureDiskVolumeSource) ProtoMessage() {} |
|
3829 |
+-func (*AzureDiskVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } |
|
3828 | 3830 |
+func (m *CascadeDiskVolumeSource) Reset() { *m = CascadeDiskVolumeSource{} } |
3829 | 3831 |
+func (*CascadeDiskVolumeSource) ProtoMessage() {} |
3830 | 3832 |
+func (*CascadeDiskVolumeSource) Descriptor() ([]byte, []int) { |
3831 |
-+ return fileDescriptorGenerated, []int{178} |
|
3833 |
++ return fileDescriptorGenerated, []int{4} |
|
3832 | 3834 |
+} |
3835 |
+ |
|
3836 |
+ func (m *AzureFilePersistentVolumeSource) Reset() { *m = AzureFilePersistentVolumeSource{} } |
|
3837 |
+ func (*AzureFilePersistentVolumeSource) ProtoMessage() {} |
|
3838 |
+@@ -1040,6 +1043,11 @@ |
|
3839 |
+ return fileDescriptorGenerated, []int{185} |
|
3840 |
+ } |
|
3841 |
+ |
|
3842 |
++func (m *AzureDiskVolumeSource) Reset() { *m = AzureDiskVolumeSource{} } |
|
3843 |
++func (*AzureDiskVolumeSource) ProtoMessage() {} |
|
3844 |
++func (*AzureDiskVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{186} } |
|
3845 |
++ |
|
3833 | 3846 |
+ |
3834 | 3847 |
func init() { |
3835 | 3848 |
proto.RegisterType((*AWSElasticBlockStoreVolumeSource)(nil), "k8s.io.api.core.v1.AWSElasticBlockStoreVolumeSource") |
3836 | 3849 |
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") |
|
3850 |
+@@ -1051,6 +1059,7 @@ |
|
3839 | 3851 |
proto.RegisterType((*Binding)(nil), "k8s.io.api.core.v1.Binding") |
3852 |
+ proto.RegisterType((*CSIPersistentVolumeSource)(nil), "k8s.io.api.core.v1.CSIPersistentVolumeSource") |
|
3840 | 3853 |
proto.RegisterType((*Capabilities)(nil), "k8s.io.api.core.v1.Capabilities") |
3841 | 3854 |
+ proto.RegisterType((*CascadeDiskVolumeSource)(nil), "k8s.io.api.core.v1.CascadeDiskVolumeSource") |
3842 | 3855 |
proto.RegisterType((*CephFSPersistentVolumeSource)(nil), "k8s.io.api.core.v1.CephFSPersistentVolumeSource") |
3843 | 3856 |
proto.RegisterType((*CephFSVolumeSource)(nil), "k8s.io.api.core.v1.CephFSVolumeSource") |
3844 | 3857 |
proto.RegisterType((*CinderVolumeSource)(nil), "k8s.io.api.core.v1.CinderVolumeSource") |
3845 |
-@@ -1523,6 +1531,32 @@ |
|
3858 |
+@@ -1613,6 +1622,32 @@ |
|
3846 | 3859 |
return i, nil |
3847 | 3860 |
} |
3848 | 3861 |
|
... | ... |
@@ -3876,45 +4126,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 +4215,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 +4277,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 +4361,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 +4486,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 +4539,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 -uNr --no-dereference 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 |
|
4209 | 4235 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,249 @@ |
0 |
+%ifarch x86_64 |
|
1 |
+%define archname amd64 |
|
2 |
+%endif |
|
3 |
+%ifarch aarch64 |
|
4 |
+%define archname arm64 |
|
5 |
+%endif |
|
6 |
+ |
|
7 |
+Summary: Kubernetes cluster management |
|
8 |
+Name: kubernetes |
|
9 |
+Version: 1.10.2 |
|
10 |
+Release: 1%{?dist} |
|
11 |
+License: ASL 2.0 |
|
12 |
+URL: https://github.com/kubernetes/kubernetes/archive/v%{version}.tar.gz |
|
13 |
+Source0: kubernetes-%{version}.tar.gz |
|
14 |
+%define sha1 kubernetes-%{version}.tar.gz=e1cef85820ff16265788c96a6fd31056bfaf247c |
|
15 |
+Source1: https://github.com/kubernetes/contrib/archive/contrib-0.7.0.tar.gz |
|
16 |
+%define sha1 contrib-0.7.0=47a744da3b396f07114e518226b6313ef4b2203c |
|
17 |
+Group: Development/Tools |
|
18 |
+Vendor: VMware, Inc. |
|
19 |
+Distribution: Photon |
|
20 |
+BuildRequires: go |
|
21 |
+BuildRequires: rsync |
|
22 |
+BuildRequires: which |
|
23 |
+Requires: cni |
|
24 |
+Requires: ebtables |
|
25 |
+Requires: etcd >= 3.0.4 |
|
26 |
+Requires: ethtool |
|
27 |
+Requires: iptables |
|
28 |
+Requires: iproute2 |
|
29 |
+Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd |
|
30 |
+Requires(postun):/usr/sbin/userdel /usr/sbin/groupdel |
|
31 |
+Requires: socat |
|
32 |
+Requires: (util-linux or toybox) |
|
33 |
+ |
|
34 |
+%description |
|
35 |
+Kubernetes is an open source implementation of container cluster management. |
|
36 |
+ |
|
37 |
+%package kubeadm |
|
38 |
+Summary: kubeadm deployment tool |
|
39 |
+Group: Development/Tools |
|
40 |
+Requires: %{name} = %{version} |
|
41 |
+%description kubeadm |
|
42 |
+kubeadm is a tool that enables quick and easy deployment of a kubernetes cluster. |
|
43 |
+ |
|
44 |
+%package pause |
|
45 |
+Summary: pause binary |
|
46 |
+Group: Development/Tools |
|
47 |
+%description pause |
|
48 |
+A pod setup process that holds a pod's namespace. |
|
49 |
+ |
|
50 |
+%prep -p exit |
|
51 |
+%setup -qn %{name}-%{version} |
|
52 |
+cd .. |
|
53 |
+tar xf %{SOURCE1} --no-same-owner |
|
54 |
+sed -i -e 's|127.0.0.1:4001|127.0.0.1:2379|g' contrib-0.7.0/init/systemd/environ/apiserver |
|
55 |
+cd %{name}-%{version} |
|
56 |
+ |
|
57 |
+%build |
|
58 |
+make |
|
59 |
+pushd build/pause |
|
60 |
+mkdir -p bin |
|
61 |
+gcc -Os -Wall -Werror -static -o bin/pause-%{archname} pause.c |
|
62 |
+strip bin/pause-%{archname} |
|
63 |
+popd |
|
64 |
+ |
|
65 |
+%install |
|
66 |
+install -vdm644 %{buildroot}/etc/profile.d |
|
67 |
+install -m 755 -d %{buildroot}%{_bindir} |
|
68 |
+ |
|
69 |
+binaries=(cloud-controller-manager hyperkube kube-aggregator kube-apiserver kube-controller-manager kubelet kube-proxy kube-scheduler kubectl) |
|
70 |
+for bin in "${binaries[@]}"; do |
|
71 |
+ echo "+++ INSTALLING ${bin}" |
|
72 |
+ install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/${bin} |
|
73 |
+done |
|
74 |
+install -p -m 755 -t %{buildroot}%{_bindir} build/pause/bin/pause-%{archname} |
|
75 |
+ |
|
76 |
+# kubeadm install |
|
77 |
+install -vdm644 %{buildroot}/etc/systemd/system/kubelet.service.d |
|
78 |
+install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/kubeadm |
|
79 |
+install -p -m 755 -t %{buildroot}/etc/systemd/system build/rpms/kubelet.service |
|
80 |
+install -p -m 755 -t %{buildroot}/etc/systemd/system/kubelet.service.d build/rpms/10-kubeadm.conf |
|
81 |
+sed -i '/KUBELET_CGROUP_ARGS=--cgroup-driver=systemd/d' %{buildroot}/etc/systemd/system/kubelet.service.d/10-kubeadm.conf |
|
82 |
+ |
|
83 |
+cd .. |
|
84 |
+# install config files |
|
85 |
+install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name} |
|
86 |
+install -m 644 -t %{buildroot}%{_sysconfdir}/%{name} contrib-0.7.0/init/systemd/environ/* |
|
87 |
+cat << EOF >> %{buildroot}%{_sysconfdir}/%{name}/kubeconfig |
|
88 |
+apiVersion: v1 |
|
89 |
+clusters: |
|
90 |
+- cluster: |
|
91 |
+ server: http://127.0.0.1:8080 |
|
92 |
+EOF |
|
93 |
+sed -i '/KUBELET_API_SERVER/c\KUBELET_API_SERVER="--kubeconfig=/etc/kubernetes/kubeconfig"' %{buildroot}%{_sysconfdir}/%{name}/kubelet |
|
94 |
+ |
|
95 |
+# install service files |
|
96 |
+install -d -m 0755 %{buildroot}/usr/lib/systemd/system |
|
97 |
+install -m 0644 -t %{buildroot}/usr/lib/systemd/system contrib-0.7.0/init/systemd/*.service |
|
98 |
+ |
|
99 |
+# install the place the kubelet defaults to put volumes |
|
100 |
+install -dm755 %{buildroot}/var/lib/kubelet |
|
101 |
+install -dm755 %{buildroot}/var/run/kubernetes |
|
102 |
+ |
|
103 |
+mkdir -p %{buildroot}/%{_lib}/tmpfiles.d |
|
104 |
+cat << EOF >> %{buildroot}/%{_lib}/tmpfiles.d/kubernetes.conf |
|
105 |
+d /var/run/kubernetes 0755 kube kube - |
|
106 |
+EOF |
|
107 |
+ |
|
108 |
+%check |
|
109 |
+export GOPATH=%{_builddir} |
|
110 |
+go get golang.org/x/tools/cmd/cover |
|
111 |
+make %{?_smp_mflags} check |
|
112 |
+ |
|
113 |
+%clean |
|
114 |
+rm -rf %{buildroot}/* |
|
115 |
+ |
|
116 |
+%pre |
|
117 |
+if [ $1 -eq 1 ]; then |
|
118 |
+ # Initial installation. |
|
119 |
+ getent group kube >/dev/null || groupadd -r kube |
|
120 |
+ getent passwd kube >/dev/null || useradd -r -g kube -d / -s /sbin/nologin \ |
|
121 |
+ -c "Kubernetes user" kube |
|
122 |
+fi |
|
123 |
+ |
|
124 |
+%post |
|
125 |
+chown -R kube:kube /var/lib/kubelet |
|
126 |
+chown -R kube:kube /var/run/kubernetes |
|
127 |
+systemctl daemon-reload |
|
128 |
+ |
|
129 |
+%post kubeadm |
|
130 |
+systemctl daemon-reload |
|
131 |
+systemctl stop kubelet |
|
132 |
+systemctl enable kubelet |
|
133 |
+ |
|
134 |
+%preun kubeadm |
|
135 |
+if [ $1 -eq 0 ]; then |
|
136 |
+ systemctl stop kubelet |
|
137 |
+fi |
|
138 |
+ |
|
139 |
+%postun |
|
140 |
+if [ $1 -eq 0 ]; then |
|
141 |
+ # Package deletion |
|
142 |
+ userdel kube |
|
143 |
+ groupdel kube |
|
144 |
+ systemctl daemon-reload |
|
145 |
+fi |
|
146 |
+ |
|
147 |
+%postun kubeadm |
|
148 |
+if [ $1 -eq 0 ]; then |
|
149 |
+ systemctl daemon-reload |
|
150 |
+fi |
|
151 |
+ |
|
152 |
+%files |
|
153 |
+%defattr(-,root,root) |
|
154 |
+%{_bindir}/cloud-controller-manager |
|
155 |
+%{_bindir}/hyperkube |
|
156 |
+%{_bindir}/kube-aggregator |
|
157 |
+%{_bindir}/kube-apiserver |
|
158 |
+%{_bindir}/kube-controller-manager |
|
159 |
+%{_bindir}/kubelet |
|
160 |
+%{_bindir}/kube-proxy |
|
161 |
+%{_bindir}/kube-scheduler |
|
162 |
+%{_bindir}/kubectl |
|
163 |
+#%{_bindir}/kubefed |
|
164 |
+%{_lib}/systemd/system/kube-apiserver.service |
|
165 |
+%{_lib}/systemd/system/kubelet.service |
|
166 |
+%{_lib}/systemd/system/kube-scheduler.service |
|
167 |
+%{_lib}/systemd/system/kube-controller-manager.service |
|
168 |
+%{_lib}/systemd/system/kube-proxy.service |
|
169 |
+%{_lib}/tmpfiles.d/kubernetes.conf |
|
170 |
+%dir %{_sysconfdir}/%{name} |
|
171 |
+%dir /var/lib/kubelet |
|
172 |
+%dir /var/run/kubernetes |
|
173 |
+%config(noreplace) %{_sysconfdir}/%{name}/config |
|
174 |
+%config(noreplace) %{_sysconfdir}/%{name}/apiserver |
|
175 |
+%config(noreplace) %{_sysconfdir}/%{name}/controller-manager |
|
176 |
+%config(noreplace) %{_sysconfdir}/%{name}/proxy |
|
177 |
+%config(noreplace) %{_sysconfdir}/%{name}/kubelet |
|
178 |
+%config(noreplace) %{_sysconfdir}/%{name}/kubeconfig |
|
179 |
+%config(noreplace) %{_sysconfdir}/%{name}/scheduler |
|
180 |
+ |
|
181 |
+%files kubeadm |
|
182 |
+%defattr(-,root,root) |
|
183 |
+%{_bindir}/kubeadm |
|
184 |
+/etc/systemd/system/kubelet.service |
|
185 |
+/etc/systemd/system/kubelet.service.d/10-kubeadm.conf |
|
186 |
+ |
|
187 |
+%files pause |
|
188 |
+%defattr(-,root,root) |
|
189 |
+%{_bindir}/pause-%{archname} |
|
190 |
+ |
|
191 |
+%changelog |
|
192 |
+* Thu May 03 2018 Xiaolin Li <xiaolinl@vmware.com> 1.10.2-1 |
|
193 |
+- Add kubernetes 1.10.2. |
|
194 |
+* Tue Jan 30 2018 Ashok Chandrasekar <ashokc@vmware.com> 1.8.1-6 |
|
195 |
+- Fix password issue in cascade cloud provider. |
|
196 |
+* Tue Jan 23 2018 Ashok Chandrasekar <ashokc@vmware.com> 1.8.1-5 |
|
197 |
+- Add Cascade cloud provider. |
|
198 |
+* Wed Nov 15 2017 Alexey Makhalov <amakhalov@vmware.com> 1.8.1-4 |
|
199 |
+- Aarch64 support |
|
200 |
+* Wed Nov 15 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-3 |
|
201 |
+- Specify --kubeconfig to pass in config file. |
|
202 |
+* Tue Nov 07 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-2 |
|
203 |
+- Specify API server via kubeconfig file. |
|
204 |
+* Wed Nov 01 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-1 |
|
205 |
+- k8s v1.8.1. |
|
206 |
+* Mon Sep 18 2017 Alexey Makhalov <amakhalov@vmware.com> 1.7.5-2 |
|
207 |
+- Requires util-linux or toybox |
|
208 |
+- Remove shadow from requires and use explicit tools for post actions |
|
209 |
+* Mon Sep 11 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.5-1 |
|
210 |
+- k8s v1.7.5. |
|
211 |
+* Thu Aug 03 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-3 |
|
212 |
+- PhotonOS based k8s pause container. |
|
213 |
+* Sat Jul 22 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-2 |
|
214 |
+- Split kubeadm into its own pkg. |
|
215 |
+* Fri Jul 14 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-1 |
|
216 |
+- Upgrade kubernetes to v1.7.0. |
|
217 |
+* Tue May 09 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-3 |
|
218 |
+- Fix kubernetes dependencies. |
|
219 |
+* Thu May 04 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-2 |
|
220 |
+- Include cloud-controller-manager, kube-aggregator binaries. |
|
221 |
+* Tue Mar 28 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-1 |
|
222 |
+- Build kubernetes 1.6.0 from source. |
|
223 |
+* Mon Feb 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.5.2-3 |
|
224 |
+- Added kubeadm, kubefed, dns, discovery to package. |
|
225 |
+* Fri Jan 27 2017 Xiaolin Li <xiaolinl@vmware.com> 1.5.2-2 |
|
226 |
+- Added /lib/tmpfiles.d/kubernetes.conf. |
|
227 |
+* Thu Jan 19 2017 Xiaolin Li <xiaolinl@vmware.com> 1.5.2-1 |
|
228 |
+- Upgraded to version 1.5.2 |
|
229 |
+* Fri Oct 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.4.4-1 |
|
230 |
+- Upgraded to version 1.4.4 |
|
231 |
+* Wed Sep 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.4.0-1 |
|
232 |
+- Upgraded to version 1.4.0 |
|
233 |
+* Fri Jun 24 2016 Xiaolin Li <xiaolinl@vmware.com> 1.2.4-1 |
|
234 |
+- Upgraded to version 1.2.4 |
|
235 |
+* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.8-4 |
|
236 |
+- GA - Bump release of all rpms |
|
237 |
+* Wed May 18 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.8-3 |
|
238 |
+- Fix if syntax |
|
239 |
+* Thu May 05 2016 Kumar Kaushik <kaushikk@vmware.com> 1.1.8-2 |
|
240 |
+- Adding support to pre/post/un scripts for package upgrade. |
|
241 |
+* Tue Feb 23 2016 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.1.8-1 |
|
242 |
+- Upgraded to version 1.1.8 |
|
243 |
+* Mon Aug 3 2015 Tom Scanlan <tscanlan@vmware.com> 1.0.2-1 |
|
244 |
+- bump up to latest release |
|
245 |
+* Thu Jul 23 2015 Vinay Kulkarni <kulkarniv@vmware.com> 1.0.1-1 |
|
246 |
+- Upgrade to kubernetes v1.0.1 |
|
247 |
+* Tue Mar 10 2015 Divya Thaluru <dthaluru@vmware.com> 0.12.1-1 |
|
248 |
+- Initial build. First version |
0 | 249 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,251 @@ |
0 |
+%ifarch x86_64 |
|
1 |
+%define archname amd64 |
|
2 |
+%endif |
|
3 |
+%ifarch aarch64 |
|
4 |
+%define archname arm64 |
|
5 |
+%endif |
|
6 |
+ |
|
7 |
+Summary: Kubernetes cluster management |
|
8 |
+Name: kubernetes |
|
9 |
+Version: 1.9.6 |
|
10 |
+Release: 1%{?dist} |
|
11 |
+License: ASL 2.0 |
|
12 |
+URL: https://github.com/kubernetes/kubernetes/archive/v%{version}.tar.gz |
|
13 |
+Source0: kubernetes-v%{version}.tar.gz |
|
14 |
+%define sha1 kubernetes-v%{version}.tar.gz=6996c0690a38cda1ae5479a4dde7ebfeb590e5fb |
|
15 |
+Source1: https://github.com/kubernetes/contrib/archive/contrib-0.7.0.tar.gz |
|
16 |
+%define sha1 contrib-0.7.0=47a744da3b396f07114e518226b6313ef4b2203c |
|
17 |
+Patch0: k8s-cascade.patch |
|
18 |
+Group: Development/Tools |
|
19 |
+Vendor: VMware, Inc. |
|
20 |
+Distribution: Photon |
|
21 |
+BuildRequires: go |
|
22 |
+BuildRequires: rsync |
|
23 |
+BuildRequires: which |
|
24 |
+Requires: cni |
|
25 |
+Requires: ebtables |
|
26 |
+Requires: etcd >= 3.0.4 |
|
27 |
+Requires: ethtool |
|
28 |
+Requires: iptables |
|
29 |
+Requires: iproute2 |
|
30 |
+Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd |
|
31 |
+Requires(postun):/usr/sbin/userdel /usr/sbin/groupdel |
|
32 |
+Requires: socat |
|
33 |
+Requires: (util-linux or toybox) |
|
34 |
+ |
|
35 |
+%description |
|
36 |
+Kubernetes is an open source implementation of container cluster management. |
|
37 |
+ |
|
38 |
+%package kubeadm |
|
39 |
+Summary: kubeadm deployment tool |
|
40 |
+Group: Development/Tools |
|
41 |
+Requires: %{name} = %{version} |
|
42 |
+%description kubeadm |
|
43 |
+kubeadm is a tool that enables quick and easy deployment of a kubernetes cluster. |
|
44 |
+ |
|
45 |
+%package pause |
|
46 |
+Summary: pause binary |
|
47 |
+Group: Development/Tools |
|
48 |
+%description pause |
|
49 |
+A pod setup process that holds a pod's namespace. |
|
50 |
+ |
|
51 |
+%prep -p exit |
|
52 |
+%setup -qn %{name}-%{version} |
|
53 |
+cd .. |
|
54 |
+tar xf %{SOURCE1} --no-same-owner |
|
55 |
+sed -i -e 's|127.0.0.1:4001|127.0.0.1:2379|g' contrib-0.7.0/init/systemd/environ/apiserver |
|
56 |
+cd %{name}-%{version} |
|
57 |
+%patch0 -p1 |
|
58 |
+ |
|
59 |
+%build |
|
60 |
+make |
|
61 |
+pushd build/pause |
|
62 |
+mkdir -p bin |
|
63 |
+gcc -Os -Wall -Werror -static -o bin/pause-%{archname} pause.c |
|
64 |
+strip bin/pause-%{archname} |
|
65 |
+popd |
|
66 |
+ |
|
67 |
+%install |
|
68 |
+install -vdm644 %{buildroot}/etc/profile.d |
|
69 |
+install -m 755 -d %{buildroot}%{_bindir} |
|
70 |
+ |
|
71 |
+binaries=(cloud-controller-manager hyperkube kube-aggregator kube-apiserver kube-controller-manager kubelet kube-proxy kube-scheduler kubectl) |
|
72 |
+for bin in "${binaries[@]}"; do |
|
73 |
+ echo "+++ INSTALLING ${bin}" |
|
74 |
+ install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/${bin} |
|
75 |
+done |
|
76 |
+install -p -m 755 -t %{buildroot}%{_bindir} build/pause/bin/pause-%{archname} |
|
77 |
+ |
|
78 |
+# kubeadm install |
|
79 |
+install -vdm644 %{buildroot}/etc/systemd/system/kubelet.service.d |
|
80 |
+install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/kubeadm |
|
81 |
+install -p -m 755 -t %{buildroot}/etc/systemd/system build/rpms/kubelet.service |
|
82 |
+install -p -m 755 -t %{buildroot}/etc/systemd/system/kubelet.service.d build/rpms/10-kubeadm.conf |
|
83 |
+sed -i '/KUBELET_CGROUP_ARGS=--cgroup-driver=systemd/d' %{buildroot}/etc/systemd/system/kubelet.service.d/10-kubeadm.conf |
|
84 |
+ |
|
85 |
+cd .. |
|
86 |
+# install config files |
|
87 |
+install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name} |
|
88 |
+install -m 644 -t %{buildroot}%{_sysconfdir}/%{name} contrib-0.7.0/init/systemd/environ/* |
|
89 |
+cat << EOF >> %{buildroot}%{_sysconfdir}/%{name}/kubeconfig |
|
90 |
+apiVersion: v1 |
|
91 |
+clusters: |
|
92 |
+- cluster: |
|
93 |
+ server: http://127.0.0.1:8080 |
|
94 |
+EOF |
|
95 |
+sed -i '/KUBELET_API_SERVER/c\KUBELET_API_SERVER="--kubeconfig=/etc/kubernetes/kubeconfig"' %{buildroot}%{_sysconfdir}/%{name}/kubelet |
|
96 |
+ |
|
97 |
+# install service files |
|
98 |
+install -d -m 0755 %{buildroot}/usr/lib/systemd/system |
|
99 |
+install -m 0644 -t %{buildroot}/usr/lib/systemd/system contrib-0.7.0/init/systemd/*.service |
|
100 |
+ |
|
101 |
+# install the place the kubelet defaults to put volumes |
|
102 |
+install -dm755 %{buildroot}/var/lib/kubelet |
|
103 |
+install -dm755 %{buildroot}/var/run/kubernetes |
|
104 |
+ |
|
105 |
+mkdir -p %{buildroot}/%{_lib}/tmpfiles.d |
|
106 |
+cat << EOF >> %{buildroot}/%{_lib}/tmpfiles.d/kubernetes.conf |
|
107 |
+d /var/run/kubernetes 0755 kube kube - |
|
108 |
+EOF |
|
109 |
+ |
|
110 |
+%check |
|
111 |
+export GOPATH=%{_builddir} |
|
112 |
+go get golang.org/x/tools/cmd/cover |
|
113 |
+make %{?_smp_mflags} check |
|
114 |
+ |
|
115 |
+%clean |
|
116 |
+rm -rf %{buildroot}/* |
|
117 |
+ |
|
118 |
+%pre |
|
119 |
+if [ $1 -eq 1 ]; then |
|
120 |
+ # Initial installation. |
|
121 |
+ getent group kube >/dev/null || groupadd -r kube |
|
122 |
+ getent passwd kube >/dev/null || useradd -r -g kube -d / -s /sbin/nologin \ |
|
123 |
+ -c "Kubernetes user" kube |
|
124 |
+fi |
|
125 |
+ |
|
126 |
+%post |
|
127 |
+chown -R kube:kube /var/lib/kubelet |
|
128 |
+chown -R kube:kube /var/run/kubernetes |
|
129 |
+systemctl daemon-reload |
|
130 |
+ |
|
131 |
+%post kubeadm |
|
132 |
+systemctl daemon-reload |
|
133 |
+systemctl stop kubelet |
|
134 |
+systemctl enable kubelet |
|
135 |
+ |
|
136 |
+%preun kubeadm |
|
137 |
+if [ $1 -eq 0 ]; then |
|
138 |
+ systemctl stop kubelet |
|
139 |
+fi |
|
140 |
+ |
|
141 |
+%postun |
|
142 |
+if [ $1 -eq 0 ]; then |
|
143 |
+ # Package deletion |
|
144 |
+ userdel kube |
|
145 |
+ groupdel kube |
|
146 |
+ systemctl daemon-reload |
|
147 |
+fi |
|
148 |
+ |
|
149 |
+%postun kubeadm |
|
150 |
+if [ $1 -eq 0 ]; then |
|
151 |
+ systemctl daemon-reload |
|
152 |
+fi |
|
153 |
+ |
|
154 |
+%files |
|
155 |
+%defattr(-,root,root) |
|
156 |
+%{_bindir}/cloud-controller-manager |
|
157 |
+%{_bindir}/hyperkube |
|
158 |
+%{_bindir}/kube-aggregator |
|
159 |
+%{_bindir}/kube-apiserver |
|
160 |
+%{_bindir}/kube-controller-manager |
|
161 |
+%{_bindir}/kubelet |
|
162 |
+%{_bindir}/kube-proxy |
|
163 |
+%{_bindir}/kube-scheduler |
|
164 |
+%{_bindir}/kubectl |
|
165 |
+#%{_bindir}/kubefed |
|
166 |
+%{_lib}/systemd/system/kube-apiserver.service |
|
167 |
+%{_lib}/systemd/system/kubelet.service |
|
168 |
+%{_lib}/systemd/system/kube-scheduler.service |
|
169 |
+%{_lib}/systemd/system/kube-controller-manager.service |
|
170 |
+%{_lib}/systemd/system/kube-proxy.service |
|
171 |
+%{_lib}/tmpfiles.d/kubernetes.conf |
|
172 |
+%dir %{_sysconfdir}/%{name} |
|
173 |
+%dir /var/lib/kubelet |
|
174 |
+%dir /var/run/kubernetes |
|
175 |
+%config(noreplace) %{_sysconfdir}/%{name}/config |
|
176 |
+%config(noreplace) %{_sysconfdir}/%{name}/apiserver |
|
177 |
+%config(noreplace) %{_sysconfdir}/%{name}/controller-manager |
|
178 |
+%config(noreplace) %{_sysconfdir}/%{name}/proxy |
|
179 |
+%config(noreplace) %{_sysconfdir}/%{name}/kubelet |
|
180 |
+%config(noreplace) %{_sysconfdir}/%{name}/kubeconfig |
|
181 |
+%config(noreplace) %{_sysconfdir}/%{name}/scheduler |
|
182 |
+ |
|
183 |
+%files kubeadm |
|
184 |
+%defattr(-,root,root) |
|
185 |
+%{_bindir}/kubeadm |
|
186 |
+/etc/systemd/system/kubelet.service |
|
187 |
+/etc/systemd/system/kubelet.service.d/10-kubeadm.conf |
|
188 |
+ |
|
189 |
+%files pause |
|
190 |
+%defattr(-,root,root) |
|
191 |
+%{_bindir}/pause-%{archname} |
|
192 |
+ |
|
193 |
+%changelog |
|
194 |
+* Thu May 03 2018 Xiaolin Li <xiaolinl@vmware.com> 1.9.6-1 |
|
195 |
+- Uppdate kubernetes to version 1.9.6. |
|
196 |
+* Tue Jan 30 2018 Ashok Chandrasekar <ashokc@vmware.com> 1.8.1-6 |
|
197 |
+- Fix password issue in cascade cloud provider. |
|
198 |
+* Tue Jan 23 2018 Ashok Chandrasekar <ashokc@vmware.com> 1.8.1-5 |
|
199 |
+- Add Cascade cloud provider. |
|
200 |
+* Wed Nov 15 2017 Alexey Makhalov <amakhalov@vmware.com> 1.8.1-4 |
|
201 |
+- Aarch64 support |
|
202 |
+* Wed Nov 15 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-3 |
|
203 |
+- Specify --kubeconfig to pass in config file. |
|
204 |
+* Tue Nov 07 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-2 |
|
205 |
+- Specify API server via kubeconfig file. |
|
206 |
+* Wed Nov 01 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-1 |
|
207 |
+- k8s v1.8.1. |
|
208 |
+* Mon Sep 18 2017 Alexey Makhalov <amakhalov@vmware.com> 1.7.5-2 |
|
209 |
+- Requires util-linux or toybox |
|
210 |
+- Remove shadow from requires and use explicit tools for post actions |
|
211 |
+* Mon Sep 11 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.5-1 |
|
212 |
+- k8s v1.7.5. |
|
213 |
+* Thu Aug 03 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-3 |
|
214 |
+- PhotonOS based k8s pause container. |
|
215 |
+* Sat Jul 22 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-2 |
|
216 |
+- Split kubeadm into its own pkg. |
|
217 |
+* Fri Jul 14 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-1 |
|
218 |
+- Upgrade kubernetes to v1.7.0. |
|
219 |
+* Tue May 09 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-3 |
|
220 |
+- Fix kubernetes dependencies. |
|
221 |
+* Thu May 04 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-2 |
|
222 |
+- Include cloud-controller-manager, kube-aggregator binaries. |
|
223 |
+* Tue Mar 28 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-1 |
|
224 |
+- Build kubernetes 1.6.0 from source. |
|
225 |
+* Mon Feb 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.5.2-3 |
|
226 |
+- Added kubeadm, kubefed, dns, discovery to package. |
|
227 |
+* Fri Jan 27 2017 Xiaolin Li <xiaolinl@vmware.com> 1.5.2-2 |
|
228 |
+- Added /lib/tmpfiles.d/kubernetes.conf. |
|
229 |
+* Thu Jan 19 2017 Xiaolin Li <xiaolinl@vmware.com> 1.5.2-1 |
|
230 |
+- Upgraded to version 1.5.2 |
|
231 |
+* Fri Oct 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.4.4-1 |
|
232 |
+- Upgraded to version 1.4.4 |
|
233 |
+* Wed Sep 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.4.0-1 |
|
234 |
+- Upgraded to version 1.4.0 |
|
235 |
+* Fri Jun 24 2016 Xiaolin Li <xiaolinl@vmware.com> 1.2.4-1 |
|
236 |
+- Upgraded to version 1.2.4 |
|
237 |
+* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.8-4 |
|
238 |
+- GA - Bump release of all rpms |
|
239 |
+* Wed May 18 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.8-3 |
|
240 |
+- Fix if syntax |
|
241 |
+* Thu May 05 2016 Kumar Kaushik <kaushikk@vmware.com> 1.1.8-2 |
|
242 |
+- Adding support to pre/post/un scripts for package upgrade. |
|
243 |
+* Tue Feb 23 2016 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.1.8-1 |
|
244 |
+- Upgraded to version 1.1.8 |
|
245 |
+* Mon Aug 3 2015 Tom Scanlan <tscanlan@vmware.com> 1.0.2-1 |
|
246 |
+- bump up to latest release |
|
247 |
+* Thu Jul 23 2015 Vinay Kulkarni <kulkarniv@vmware.com> 1.0.1-1 |
|
248 |
+- Upgrade to kubernetes v1.0.1 |
|
249 |
+* Tue Mar 10 2015 Divya Thaluru <dthaluru@vmware.com> 0.12.1-1 |
|
250 |
+- Initial build. First version |
0 | 251 |
deleted file mode 100644 |
... | ... |
@@ -1,250 +0,0 @@ |
1 |
-%ifarch x86_64 |
|
2 |
-%define archname amd64 |
|
3 |
-%endif |
|
4 |
-%ifarch aarch64 |
|
5 |
-%define archname arm64 |
|
6 |
-%endif |
|
7 |
- |
|
8 |
- |
|
9 |
-Summary: Kubernetes cluster management |
|
10 |
-Name: kubernetes |
|
11 |
-Version: 1.8.1 |
|
12 |
-Release: 6%{?dist} |
|
13 |
-License: ASL 2.0 |
|
14 |
-URL: https://github.com/kubernetes/kubernetes/archive/v%{version}.tar.gz |
|
15 |
-Source0: kubernetes-v%{version}.tar.gz |
|
16 |
-%define sha1 kubernetes-v%{version}.tar.gz=74bad7a52f3fc0b3c70e5ccc986a46a9fdfe358b |
|
17 |
-Source1: https://github.com/kubernetes/contrib/archive/contrib-0.7.0.tar.gz |
|
18 |
-%define sha1 contrib-0.7.0=47a744da3b396f07114e518226b6313ef4b2203c |
|
19 |
-Patch0: k8s-cascade.patch |
|
20 |
-Group: Development/Tools |
|
21 |
-Vendor: VMware, Inc. |
|
22 |
-Distribution: Photon |
|
23 |
-BuildRequires: go |
|
24 |
-BuildRequires: rsync |
|
25 |
-BuildRequires: which |
|
26 |
-Requires: cni |
|
27 |
-Requires: ebtables |
|
28 |
-Requires: etcd >= 3.0.4 |
|
29 |
-Requires: ethtool |
|
30 |
-Requires: iptables |
|
31 |
-Requires: iproute2 |
|
32 |
-Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd |
|
33 |
-Requires(postun):/usr/sbin/userdel /usr/sbin/groupdel |
|
34 |
-Requires: socat |
|
35 |
-Requires: (util-linux or toybox) |
|
36 |
- |
|
37 |
-%description |
|
38 |
-Kubernetes is an open source implementation of container cluster management. |
|
39 |
- |
|
40 |
-%package kubeadm |
|
41 |
-Summary: kubeadm deployment tool |
|
42 |
-Group: Development/Tools |
|
43 |
-Requires: %{name} = %{version} |
|
44 |
-%description kubeadm |
|
45 |
-kubeadm is a tool that enables quick and easy deployment of a kubernetes cluster. |
|
46 |
- |
|
47 |
-%package pause |
|
48 |
-Summary: pause binary |
|
49 |
-Group: Development/Tools |
|
50 |
-%description pause |
|
51 |
-A pod setup process that holds a pod's namespace. |
|
52 |
- |
|
53 |
-%prep -p exit |
|
54 |
-%setup -qn %{name}-%{version} |
|
55 |
-cd .. |
|
56 |
-tar xf %{SOURCE1} --no-same-owner |
|
57 |
-sed -i -e 's|127.0.0.1:4001|127.0.0.1:2379|g' contrib-0.7.0/init/systemd/environ/apiserver |
|
58 |
-cd %{name}-%{version} |
|
59 |
-%patch0 -p1 |
|
60 |
- |
|
61 |
-%build |
|
62 |
-make |
|
63 |
-pushd build/pause |
|
64 |
-mkdir -p bin |
|
65 |
-gcc -Os -Wall -Werror -static -o bin/pause-%{archname} pause.c |
|
66 |
-strip bin/pause-%{archname} |
|
67 |
-popd |
|
68 |
- |
|
69 |
-%install |
|
70 |
-install -vdm644 %{buildroot}/etc/profile.d |
|
71 |
-install -m 755 -d %{buildroot}%{_bindir} |
|
72 |
- |
|
73 |
-binaries=(cloud-controller-manager hyperkube kube-aggregator kube-apiserver kube-controller-manager kubelet kube-proxy kube-scheduler kubectl kubefed) |
|
74 |
-for bin in "${binaries[@]}"; do |
|
75 |
- echo "+++ INSTALLING ${bin}" |
|
76 |
- install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/${bin} |
|
77 |
-done |
|
78 |
-install -p -m 755 -t %{buildroot}%{_bindir} build/pause/bin/pause-%{archname} |
|
79 |
- |
|
80 |
-# kubeadm install |
|
81 |
-install -vdm644 %{buildroot}/etc/systemd/system/kubelet.service.d |
|
82 |
-install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/kubeadm |
|
83 |
-install -p -m 755 -t %{buildroot}/etc/systemd/system build/rpms/kubelet.service |
|
84 |
-install -p -m 755 -t %{buildroot}/etc/systemd/system/kubelet.service.d build/rpms/10-kubeadm.conf |
|
85 |
-sed -i '/KUBELET_CGROUP_ARGS=--cgroup-driver=systemd/d' %{buildroot}/etc/systemd/system/kubelet.service.d/10-kubeadm.conf |
|
86 |
- |
|
87 |
-cd .. |
|
88 |
-# install config files |
|
89 |
-install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name} |
|
90 |
-install -m 644 -t %{buildroot}%{_sysconfdir}/%{name} contrib-0.7.0/init/systemd/environ/* |
|
91 |
-cat << EOF >> %{buildroot}%{_sysconfdir}/%{name}/kubeconfig |
|
92 |
-apiVersion: v1 |
|
93 |
-clusters: |
|
94 |
-- cluster: |
|
95 |
- server: http://127.0.0.1:8080 |
|
96 |
-EOF |
|
97 |
-sed -i '/KUBELET_API_SERVER/c\KUBELET_API_SERVER="--kubeconfig=/etc/kubernetes/kubeconfig"' %{buildroot}%{_sysconfdir}/%{name}/kubelet |
|
98 |
- |
|
99 |
-# install service files |
|
100 |
-install -d -m 0755 %{buildroot}/usr/lib/systemd/system |
|
101 |
-install -m 0644 -t %{buildroot}/usr/lib/systemd/system contrib-0.7.0/init/systemd/*.service |
|
102 |
- |
|
103 |
-# install the place the kubelet defaults to put volumes |
|
104 |
-install -dm755 %{buildroot}/var/lib/kubelet |
|
105 |
-install -dm755 %{buildroot}/var/run/kubernetes |
|
106 |
- |
|
107 |
-mkdir -p %{buildroot}/%{_lib}/tmpfiles.d |
|
108 |
-cat << EOF >> %{buildroot}/%{_lib}/tmpfiles.d/kubernetes.conf |
|
109 |
-d /var/run/kubernetes 0755 kube kube - |
|
110 |
-EOF |
|
111 |
- |
|
112 |
-%check |
|
113 |
-export GOPATH=%{_builddir} |
|
114 |
-go get golang.org/x/tools/cmd/cover |
|
115 |
-make %{?_smp_mflags} check |
|
116 |
- |
|
117 |
-%clean |
|
118 |
-rm -rf %{buildroot}/* |
|
119 |
- |
|
120 |
-%pre |
|
121 |
-if [ $1 -eq 1 ]; then |
|
122 |
- # Initial installation. |
|
123 |
- getent group kube >/dev/null || groupadd -r kube |
|
124 |
- getent passwd kube >/dev/null || useradd -r -g kube -d / -s /sbin/nologin \ |
|
125 |
- -c "Kubernetes user" kube |
|
126 |
-fi |
|
127 |
- |
|
128 |
-%post |
|
129 |
-chown -R kube:kube /var/lib/kubelet |
|
130 |
-chown -R kube:kube /var/run/kubernetes |
|
131 |
-systemctl daemon-reload |
|
132 |
- |
|
133 |
-%post kubeadm |
|
134 |
-systemctl daemon-reload |
|
135 |
-systemctl stop kubelet |
|
136 |
-systemctl enable kubelet |
|
137 |
- |
|
138 |
-%preun kubeadm |
|
139 |
-if [ $1 -eq 0 ]; then |
|
140 |
- systemctl stop kubelet |
|
141 |
-fi |
|
142 |
- |
|
143 |
-%postun |
|
144 |
-if [ $1 -eq 0 ]; then |
|
145 |
- # Package deletion |
|
146 |
- userdel kube |
|
147 |
- groupdel kube |
|
148 |
- systemctl daemon-reload |
|
149 |
-fi |
|
150 |
- |
|
151 |
-%postun kubeadm |
|
152 |
-if [ $1 -eq 0 ]; then |
|
153 |
- systemctl daemon-reload |
|
154 |
-fi |
|
155 |
- |
|
156 |
-%files |
|
157 |
-%defattr(-,root,root) |
|
158 |
-%{_bindir}/cloud-controller-manager |
|
159 |
-%{_bindir}/hyperkube |
|
160 |
-%{_bindir}/kube-aggregator |
|
161 |
-%{_bindir}/kube-apiserver |
|
162 |
-%{_bindir}/kube-controller-manager |
|
163 |
-%{_bindir}/kubelet |
|
164 |
-%{_bindir}/kube-proxy |
|
165 |
-%{_bindir}/kube-scheduler |
|
166 |
-%{_bindir}/kubectl |
|
167 |
-%{_bindir}/kubefed |
|
168 |
-%{_lib}/systemd/system/kube-apiserver.service |
|
169 |
-%{_lib}/systemd/system/kubelet.service |
|
170 |
-%{_lib}/systemd/system/kube-scheduler.service |
|
171 |
-%{_lib}/systemd/system/kube-controller-manager.service |
|
172 |
-%{_lib}/systemd/system/kube-proxy.service |
|
173 |
-%{_lib}/tmpfiles.d/kubernetes.conf |
|
174 |
-%dir %{_sysconfdir}/%{name} |
|
175 |
-%dir /var/lib/kubelet |
|
176 |
-%dir /var/run/kubernetes |
|
177 |
-%config(noreplace) %{_sysconfdir}/%{name}/config |
|
178 |
-%config(noreplace) %{_sysconfdir}/%{name}/apiserver |
|
179 |
-%config(noreplace) %{_sysconfdir}/%{name}/controller-manager |
|
180 |
-%config(noreplace) %{_sysconfdir}/%{name}/proxy |
|
181 |
-%config(noreplace) %{_sysconfdir}/%{name}/kubelet |
|
182 |
-%config(noreplace) %{_sysconfdir}/%{name}/kubeconfig |
|
183 |
-%config(noreplace) %{_sysconfdir}/%{name}/scheduler |
|
184 |
- |
|
185 |
-%files kubeadm |
|
186 |
-%defattr(-,root,root) |
|
187 |
-%{_bindir}/kubeadm |
|
188 |
-/etc/systemd/system/kubelet.service |
|
189 |
-/etc/systemd/system/kubelet.service.d/10-kubeadm.conf |
|
190 |
- |
|
191 |
-%files pause |
|
192 |
-%defattr(-,root,root) |
|
193 |
-%{_bindir}/pause-%{archname} |
|
194 |
- |
|
195 |
-%changelog |
|
196 |
-* Tue Jan 30 2018 Ashok Chandrasekar <ashokc@vmware.com> 1.8.1-6 |
|
197 |
-- Fix password issue in cascade cloud provider. |
|
198 |
-* Tue Jan 23 2018 Ashok Chandrasekar <ashokc@vmware.com> 1.8.1-5 |
|
199 |
-- Add Cascade cloud provider. |
|
200 |
-* Wed Nov 15 2017 Alexey Makhalov <amakhalov@vmware.com> 1.8.1-4 |
|
201 |
-- Aarch64 support |
|
202 |
-* Wed Nov 15 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-3 |
|
203 |
-- Specify --kubeconfig to pass in config file. |
|
204 |
-* Tue Nov 07 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-2 |
|
205 |
-- Specify API server via kubeconfig file. |
|
206 |
-* Wed Nov 01 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-1 |
|
207 |
-- k8s v1.8.1. |
|
208 |
-* Mon Sep 18 2017 Alexey Makhalov <amakhalov@vmware.com> 1.7.5-2 |
|
209 |
-- Requires util-linux or toybox |
|
210 |
-- Remove shadow from requires and use explicit tools for post actions |
|
211 |
-* Mon Sep 11 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.5-1 |
|
212 |
-- k8s v1.7.5. |
|
213 |
-* Thu Aug 03 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-3 |
|
214 |
-- PhotonOS based k8s pause container. |
|
215 |
-* Sat Jul 22 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-2 |
|
216 |
-- Split kubeadm into its own pkg. |
|
217 |
-* Fri Jul 14 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-1 |
|
218 |
-- Upgrade kubernetes to v1.7.0. |
|
219 |
-* Tue May 09 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-3 |
|
220 |
-- Fix kubernetes dependencies. |
|
221 |
-* Thu May 04 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-2 |
|
222 |
-- Include cloud-controller-manager, kube-aggregator binaries. |
|
223 |
-* Tue Mar 28 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-1 |
|
224 |
-- Build kubernetes 1.6.0 from source. |
|
225 |
-* Mon Feb 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.5.2-3 |
|
226 |
-- Added kubeadm, kubefed, dns, discovery to package. |
|
227 |
-* Fri Jan 27 2017 Xiaolin Li <xiaolinl@vmware.com> 1.5.2-2 |
|
228 |
-- Added /lib/tmpfiles.d/kubernetes.conf. |
|
229 |
-* Thu Jan 19 2017 Xiaolin Li <xiaolinl@vmware.com> 1.5.2-1 |
|
230 |
-- Upgraded to version 1.5.2 |
|
231 |
-* Fri Oct 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.4.4-1 |
|
232 |
-- Upgraded to version 1.4.4 |
|
233 |
-* Wed Sep 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.4.0-1 |
|
234 |
-- Upgraded to version 1.4.0 |
|
235 |
-* Fri Jun 24 2016 Xiaolin Li <xiaolinl@vmware.com> 1.2.4-1 |
|
236 |
-- Upgraded to version 1.2.4 |
|
237 |
-* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.8-4 |
|
238 |
-- GA - Bump release of all rpms |
|
239 |
-* Wed May 18 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.8-3 |
|
240 |
-- Fix if syntax |
|
241 |
-* Thu May 05 2016 Kumar Kaushik <kaushikk@vmware.com> 1.1.8-2 |
|
242 |
-- Adding support to pre/post/un scripts for package upgrade. |
|
243 |
-* Tue Feb 23 2016 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.1.8-1 |
|
244 |
-- Upgraded to version 1.1.8 |
|
245 |
-* Mon Aug 3 2015 Tom Scanlan <tscanlan@vmware.com> 1.0.2-1 |
|
246 |
-- bump up to latest release |
|
247 |
-* Thu Jul 23 2015 Vinay Kulkarni <kulkarniv@vmware.com> 1.0.1-1 |
|
248 |
-- Upgrade to kubernetes v1.0.1 |
|
249 |
-* Tue Mar 10 2015 Divya Thaluru <dthaluru@vmware.com> 0.12.1-1 |
|
250 |
-- Initial build. First version |
... | ... |
@@ -9,62 +9,64 @@ ARCH=x86_64 |
9 | 9 |
# |
10 | 10 |
# Docker images for kubernetes artifacts |
11 | 11 |
# |
12 |
-K8S_VER=`cat ${SPEC_DIR}/kubernetes/kubernetes.spec | grep "^Version:" | cut -d: -f2 | tr -d ' '` |
|
13 |
-K8S_VER_REL=${K8S_VER}-`cat ${SPEC_DIR}/kubernetes/kubernetes.spec | grep "^Release:" | cut -d: -f2 | tr -d ' ' | cut -d% -f1` |
|
14 |
-K8S_RPM=kubernetes-${K8S_VER_REL}${DIST_TAG}.${ARCH}.rpm |
|
15 |
-K8S_RPM_FILE=../../../stage/RPMS/x86_64/${K8S_RPM} |
|
16 |
-K8S_PAUSE_RPM=kubernetes-pause-${K8S_VER_REL}${DIST_TAG}.${ARCH}.rpm |
|
17 |
-K8S_PAUSE_RPM_FILE=../../../stage/RPMS/x86_64/${K8S_PAUSE_RPM} |
|
12 |
+for file in ${SPEC_DIR}/kubernetes/kubernetes-*.spec; do |
|
13 |
+ K8S_VER=`cat ${file} | grep "^Version:" | cut -d: -f2 | tr -d ' '` |
|
14 |
+ K8S_VER_REL=${K8S_VER}-`cat ${file} | grep "^Release:" | cut -d: -f2 | tr -d ' ' | cut -d% -f1` |
|
15 |
+ K8S_RPM=kubernetes-${K8S_VER_REL}${DIST_TAG}.${ARCH}.rpm |
|
16 |
+ K8S_RPM_FILE=../../../stage/RPMS/x86_64/${K8S_RPM} |
|
17 |
+ K8S_PAUSE_RPM=kubernetes-pause-${K8S_VER_REL}${DIST_TAG}.${ARCH}.rpm |
|
18 |
+ K8S_PAUSE_RPM_FILE=../../../stage/RPMS/x86_64/${K8S_PAUSE_RPM} |
|
18 | 19 |
|
19 |
-if [ ! -f ${K8S_RPM_FILE} ] |
|
20 |
-then |
|
21 |
- echo "Kubernetes RPM ${K8S_RPM_FILE} not found. Exiting.." |
|
22 |
- exit 1 |
|
23 |
-fi |
|
24 |
- |
|
25 |
-K8S_BINS=(kube-apiserver kube-controller-manager kube-proxy kube-scheduler) |
|
26 |
-for K8S_BIN in ${K8S_BINS[*]}; do |
|
27 |
- IMG_NAME=vmware/photon-${DIST_VER}-${K8S_BIN}-amd64:v${K8S_VER} |
|
28 |
- IMG_ID=`docker images -q ${IMG_NAME} 2> /dev/null` |
|
29 |
- if [[ ! -z "${IMG_ID}" ]]; then |
|
30 |
- echo "Removing image ${IMG_NAME}" |
|
31 |
- docker rmi -f ${IMG_NAME} |
|
20 |
+ if [ ! -f ${K8S_RPM_FILE} ] |
|
21 |
+ then |
|
22 |
+ echo "Kubernetes RPM ${K8S_RPM_FILE} not found. Exiting.." |
|
23 |
+ exit 1 |
|
32 | 24 |
fi |
33 |
-done |
|
34 | 25 |
|
35 |
-mkdir -p tmp/k8s |
|
36 |
-cp ${K8S_RPM_FILE} tmp/k8s/ |
|
37 |
-cp ${K8S_PAUSE_RPM_FILE} tmp/k8s/ |
|
38 |
-pushd ./tmp/k8s |
|
39 |
-rpm2cpio ${K8S_RPM} | cpio -vid |
|
40 |
-rpm2cpio ${K8S_PAUSE_RPM} | cpio -vid |
|
41 |
-popd |
|
26 |
+ K8S_BINS=(kube-apiserver kube-controller-manager kube-proxy kube-scheduler) |
|
27 |
+ for K8S_BIN in ${K8S_BINS[*]}; do |
|
28 |
+ IMG_NAME=vmware/photon-${DIST_VER}-${K8S_BIN}-amd64:v${K8S_VER} |
|
29 |
+ IMG_ID=`docker images -q ${IMG_NAME} 2> /dev/null` |
|
30 |
+ if [[ ! -z "${IMG_ID}" ]]; then |
|
31 |
+ echo "Removing image ${IMG_NAME}" |
|
32 |
+ docker rmi -f ${IMG_NAME} |
|
33 |
+ fi |
|
34 |
+ done |
|
42 | 35 |
|
43 |
-for K8S_BIN in ${K8S_BINS[*]}; do |
|
44 |
- IMG_NAME=vmware/photon-${DIST_VER}-${K8S_BIN}-amd64:v${K8S_VER} |
|
45 |
- K8S_TAR_NAME=${K8S_BIN}-v${K8S_VER_REL}.tar |
|
46 |
- docker build --rm -t ${IMG_NAME} -f ./Dockerfile.${K8S_BIN} . |
|
47 |
- docker save -o ${K8S_TAR_NAME} ${IMG_NAME} |
|
48 |
- gzip ${K8S_TAR_NAME} |
|
49 |
- mv -f ${K8S_TAR_NAME}.gz ${STAGE_DIR}/docker_images/ |
|
50 |
-done |
|
36 |
+ mkdir -p tmp/k8s |
|
37 |
+ cp ${K8S_RPM_FILE} tmp/k8s/ |
|
38 |
+ cp ${K8S_PAUSE_RPM_FILE} tmp/k8s/ |
|
39 |
+ pushd ./tmp/k8s |
|
40 |
+ rpm2cpio ${K8S_RPM} | cpio -vid |
|
41 |
+ rpm2cpio ${K8S_PAUSE_RPM} | cpio -vid |
|
42 |
+ popd |
|
51 | 43 |
|
44 |
+ for K8S_BIN in ${K8S_BINS[*]}; do |
|
45 |
+ IMG_NAME=vmware/photon-${DIST_VER}-${K8S_BIN}-amd64:v${K8S_VER} |
|
46 |
+ K8S_TAR_NAME=${K8S_BIN}-v${K8S_VER_REL}.tar |
|
47 |
+ docker build --rm -t ${IMG_NAME} -f ./Dockerfile.${K8S_BIN} . |
|
48 |
+ docker save -o ${K8S_TAR_NAME} ${IMG_NAME} |
|
49 |
+ gzip ${K8S_TAR_NAME} |
|
50 |
+ mv -f ${K8S_TAR_NAME}.gz ${STAGE_DIR}/docker_images/ |
|
51 |
+ done |
|
52 | 52 |
|
53 |
-# |
|
54 |
-# K8S Pause container |
|
55 |
-# |
|
56 |
-PAUSE_IMG_NAME=vmware/photon-${DIST_VER}-pause-amd64:v${K8S_VER} |
|
57 |
-PAUSE_TAR_NAME=k8s-pause-v${K8S_VER_REL}.tar |
|
58 | 53 |
|
59 |
-PAUSE_IMG_ID=`docker images -q ${PAUSE_IMG_NAME} 2> /dev/null` |
|
60 |
-if [[ ! -z "${PAUSE_IMG_ID}" ]]; then |
|
61 |
- echo "Removing image ${PAUSE_IMG_NAME}" |
|
62 |
- docker rmi -f ${PAUSE_IMG_NAME} |
|
63 |
-fi |
|
54 |
+ # |
|
55 |
+ # K8S Pause container |
|
56 |
+ # |
|
57 |
+ PAUSE_IMG_NAME=vmware/photon-${DIST_VER}-pause-amd64:v${K8S_VER} |
|
58 |
+ PAUSE_TAR_NAME=k8s-pause-v${K8S_VER_REL}.tar |
|
59 |
+ |
|
60 |
+ PAUSE_IMG_ID=`docker images -q ${PAUSE_IMG_NAME} 2> /dev/null` |
|
61 |
+ if [[ ! -z "${PAUSE_IMG_ID}" ]]; then |
|
62 |
+ echo "Removing image ${PAUSE_IMG_NAME}" |
|
63 |
+ docker rmi -f ${PAUSE_IMG_NAME} |
|
64 |
+ fi |
|
64 | 65 |
|
65 |
-docker build --rm -t ${PAUSE_IMG_NAME} -f ./Dockerfile.pause . |
|
66 |
-docker save -o ${PAUSE_TAR_NAME} ${PAUSE_IMG_NAME} |
|
67 |
-gzip ${PAUSE_TAR_NAME} |
|
68 |
-mv -f ${PAUSE_TAR_NAME}.gz ${STAGE_DIR}/docker_images/ |
|
66 |
+ docker build --rm -t ${PAUSE_IMG_NAME} -f ./Dockerfile.pause . |
|
67 |
+ docker save -o ${PAUSE_TAR_NAME} ${PAUSE_IMG_NAME} |
|
68 |
+ gzip ${PAUSE_TAR_NAME} |
|
69 |
+ mv -f ${PAUSE_TAR_NAME}.gz ${STAGE_DIR}/docker_images/ |
|
69 | 70 |
|
70 |
-rm -rf ./tmp |
|
71 |
+ rm -rf ./tmp |
|
72 |
+done |