Commit Graph

33 Commits

Author SHA1 Message Date
drfish
6e933199c9 Change line terminators from CRLF to LF 2020-02-14 09:55:45 +08:00
Michelle Au
d829d9b0fd Update hostpath and mock csi drivers with latest sidecars
Change-Id: Ib1db651a94e49bbfb609ac0470794a6b5d0726ec
2020-01-08 18:54:42 -08:00
Jan Safranek
d3c562f7e0 Run all csi-hostpath containers as privileged
On systems with SELinux enabled, non-privileged containers can't access
data of privileged containers. Since the CSI driver socket is exposed
by a privileged container, all sidecars must be privileged too.
2019-12-05 13:02:53 +01:00
Kubernetes Prow Robot
c580a12c8e Merge pull request #83568 from bertinatto/volume_limits_ga
Promote volume limits to GA
2019-11-12 11:50:22 -08:00
Kubernetes Prow Robot
897ce3073c Merge pull request #84533 from davidz627/fix/deprecatedPath
Remove plugin watching of deprecated directory and CSI v0 support in accordance with deprecation policy
2019-11-12 04:48:20 -08:00
Fabio Bertinatto
bf0182b9d3 Update hostpath CSI driver manifest
This is required for promoting volume limits to GA. The new version of
the driver reports the max number of volumes it supports. Such number
should be specified as a CLI argument when starting the driver.
2019-11-12 09:43:54 +01:00
David Zhu
802fe12803 Remove plugin watching of deprecated directory {kubelet_root_dir}/plugins and support for CSI V0 in accordance with deprecation announcement in https://v1-13.docs.kubernetes.io/docs/setup/release/notes/ 2019-11-11 11:42:58 -08:00
Xing Yang
3324722e07 VolumeSnapshot CRD v1beta1: Enable VolumeSnapshotDataSource feature gate and update e2e tests 2019-11-11 02:34:24 +00:00
Kubernetes Prow Robot
9731b51d23 Merge pull request #84501 from pohly/hostpath-dev-raw-block
e2e: share /dev with host in hostpath driver deployment
2019-10-29 08:22:43 -07:00
Patrick Ohly
327a12cd08 e2e: share /dev with host in hostpath driver deployment
This is needed for raw block volumes. It mirrors a change made in the upstream
deployment in https://github.com/kubernetes-csi/csi-driver-host-path/pull/109

Raw block volumes use loop devices under the hood. "losetup --find
--show" uses LOOP_CTL_GET_FREE to get a free loop device. It then
expects to have the corresponding /dev/loopX already available. When
/dev inside the container is a static tmpfs which doesn't already have
those /dev/loop* devices (*) the new device fails to show up,
resulting in:

I1028 13:25:19.937846       1 server.go:117] GRPC call: /csi.v1.Controller/CreateVolume
I1028 13:25:19.938083       1 server.go:118] GRPC request: {"accessibility_requirements":{"preferred":[{"segments":{"topology.hostpath.csi/node":"pmem-csi-pmem-govm-worker3"}}],"requisite":[{"segments":{"topology.hostpath.csi/node":"pmem-csi-pmem-govm-worker3"}}]},"capacity_range":{"required_bytes":5368709120},"name":"pvc-24985a49-5638-4bf6-b789-bb99a28d1073","volume_capabilities":[{"AccessType":{"Block":{}},"access_mode":{"mode":1}}]}
I1028 13:25:19.961124       1 volume_path_handler_linux.go:41] Creating device for path: /csi-data-dir/635c6569-f986-11e9-baa6-0242ac110004
I1028 13:25:20.391472       1 volume_path_handler_linux.go:75] Failed device create command for path: /csi-data-dir/635c6569-f986-11e9-baa6-0242ac110004 exit status 1 losetup: /csi-data-dir/635c6569-f986-11e9-baa6-0242ac110004: failed to set up loop device: No such file or directory
E1028 13:25:20.392916       1 server.go:121] GRPC error: rpc error: code = Internal desc = failed to create volume 635c6569-f986-11e9-baa6-0242ac110004: failed to attach device /csi-data-dir/635c6569-f986-11e9-baa6-0242ac110004: exit status 1

(*) It seems that the static tmpfs gets populated by Docker based on
what's currently on the host when the container starts. That would
explain why it worked in the Kubernetes Prow testing - the host must
have had enough loop devices already defined.
2019-10-29 08:52:12 +01:00
Patrick Ohly
aacac747a0 e2e storage: bump revision of sidecars and driver
This updates to the releases meant to be used with Kubernetes 1.16
except for external-snapshotter, which is kept at the more recent
2.0.0-rc1 which targets 1.17.

The new external-attacher v2.0.0 needs updated RBAC rules, copied
verbatim from the v2.0.0 release.
2019-10-28 20:21:55 +01:00
Michelle Au
1634ada147 remove hostnetwork from hostpath csi manifest 2019-10-18 18:14:17 -07:00
Patrick Ohly
cf125a2db3 e2e storage: enable testing of ephemeral inline volumes with hostpath CSI driver
We need the 1.2.0 driver for that because that has support for
detecting the volume mode dynamically, and we need to deploy a
CSIDriver object which enables pod info (for the dynamic detection)
and both modes (to satisfy the new mode sanity check).
2019-08-28 12:20:54 +02:00
Patrick Ohly
6c6930a088 e2e storage: synchronize .yaml files with latest upstream releases
This ensures that the files are in sync with:
   hostpath: v1.2.0-rc3
   external-attacher: v2.0.1
   external-provisioner: v1.3.0
   external-resizer: v0.2.0
   external-snapshotter: v1.2.0

driver-registrar/rbac.yaml is obsolete because only
node-driver-registrar is in use now and does not need RBAC rules.

mock/e2e-test-rbac.yaml was not used anywhere.

The README.md files were updated to indicate that these really are
files copied from elsewhere. To avoid the need to constantly edit
these files on each update, <version> is used as placeholder in the URL.
2019-08-28 12:18:36 +02:00
Fabio Bertinatto
81572e5254 Enable CSI e2e tests for volume expansion 2019-08-27 17:33:41 +02:00
Kubernetes Prow Robot
95a5781b9d Merge pull request #81304 from j-griffith/update_hostpathplugin_to_rc4
Update CSI hostpathplugin to include cloning fix
2019-08-14 12:46:11 -07:00
Michelle Au
7c1f55f400 Update csi-provisioner and snapshotter to get selflink fix
Change-Id: I5aa44d5d530dad04968429369aff65e369a86e2e
2019-08-12 15:28:40 -07:00
j-griffith
11f14de6e2 Update CSI hostpathplugin to include cloning fix
Update to hostpathplugin:v1.2.0-rc4 to include storageClass comparison
fix.
2019-08-12 13:09:17 -06:00
Michelle Au
f8a7050d42 Update csi hostpath driver in e2e
Change-Id: I159a9554126b967f76fbb7f76c4336833bf2a910
2019-07-18 13:31:00 -07:00
Michelle Au
cb21282136 update to csi e2es to use official images 2019-04-12 15:48:55 -07:00
Matthew Wong
5d9330aa75 Update csi-hostpath-provisioner to v1.1.0-rc2 2019-04-05 07:38:43 -04:00
Ben Swartzlander
1493e684d3 Promote CSI raw blocks to beta 2019-03-06 13:43:52 -05:00
Xiang Dai
36065c6dd7 delete all duplicate empty blanks
Signed-off-by: Xiang Dai <764524258@qq.com>
2019-02-23 10:28:04 +08:00
xushiwei
3410d435ed add snapshot e2e 2019-01-30 19:04:45 +08:00
Patrick Ohly
5349ce75fa e2e/storage: remove code duplication
The setup of the V0 hostpath driver was done with copy-and-paste and
then changing just the driver name and the manifests. The same can be
achieved by making the base struct a bit more configurable, which
simplifies future changes (less code).

Renaming the provisioner container was unnecessary and was reverted to
make it possible to use the same patch configuration.

While at it, also fix the InitHostV0PathCSIDriver typo.
2018-12-20 13:41:48 +01:00
Patrick Ohly
6ca66d7047 e2e: use quay.io/k8scsi images, bump versions
Commit 503f654d7a, "Update CSI tests to
point to 1.0.0 external bits", changed to images published on gcr.io,
perhaps because the images on quay.io weren't ready yet. We now have
up-to-date images on quay.io and should be using those.
2018-12-12 14:49:23 +01:00
Michelle Au
b02cada150 Revert "CSI: enhance driver tests to update the drivers." 2018-11-28 17:10:13 -08:00
Jan Safranek
8fb3e9fe2a Make HostPath CSI driver persistent across restart.
The driver dynamically provisions its volumes in /tmp. To preserve the data
across driver restarts, the directory must be mapped to more persistent
place, /tmp on the host seems to be the safest choice.
2018-11-27 13:53:48 +01:00
saad-ali
aa8244beb5 Modify CSI to handle both 0.3 and 1.0
Modify the CSI volume plugin to handle CSI version 0.x as well as 1.x
2018-11-21 18:37:31 -08:00
Renaud Gaubert
1a3fbf1f13 Update e2e tests to include CSI 2018-11-17 01:52:57 +01:00
saad-ali
503f654d7a Update CSI tests to point to 1.0.0 external bits. 2018-11-15 20:01:50 -08:00
Patrick Ohly
a56c518292 e2e CSI: bump all containers to v0.4.1 2018-10-27 00:39:44 +02:00
Patrick Ohly
38efff564c e2e: deploy from manifest files + enhance CSI volume output
Ensuring that CSI drivers get deployed for testing exactly as intended
was problematic because the original .yaml files had to be converted
into code. e2e/manifest helped a bit, but not enough:
- could not load all entities
- didn't handle loading .yaml files with multiple entities
- actually creating and deleting entities still had to be done in tests

The new framework utility code handles all of that, including the
tricky cleanup operation that tests got wrong (AfterEach does not get
called after test failures!).

In addition, it is ensuring that each test gets its own instance of the
entities.

The PSP role binding for hostpath is now necessary because we switch
from creating a pod directly to creation via the StatefulSet
controller, which runs with less privileges.

Without this, the hostpath test runs into these errors in the
kubernetes-e2e-gce job:

Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpath-attacher: {statefulset-controller } FailedCreate: create Pod csi-hostpath-attacher-0 in StatefulSet csi-hostpath-attacher failed error: pods "csi-hostpath-attacher-0" is forbidden: unable to validate against any pod security policy: []
Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpath-provisioner: {statefulset-controller } FailedCreate: create Pod csi-hostpath-provisioner-0 in StatefulSet csi-hostpath-provisioner failed error: pods "csi-hostpath-provisioner-0" is forbidden: unable to validate against any pod security policy: []
Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpathplugin: {daemonset-controller } FailedCreate: Error creating: pods "csi-hostpathplugin-" is forbidden: unable to validate against any pod security policy: []

The extra role binding is silently ignored on clusters which don't
have this particular role.
2018-10-26 22:07:34 +02:00