Commit Graph

1056 Commits

Author SHA1 Message Date
Michelle Au
62f0b7df7b Disable kubelet restart tests for file volmode
Change-Id: I016cba4aba11d6e8574d4bc2d1f26284a068e562
2019-08-15 15:08:14 -07:00
Michelle Au
33c213577e Skip preprovisioned and inline volume tests if driver supports dynamic provisioning.
Also remove FS VolMode disruptive tests because they are already covered
through the subpath disruptive test cases.

Change-Id: Ice4b30b0d8fdcb1f7fd61e54d27f53557de9f13a
2019-08-15 15:07:47 -07:00
j-griffith
47facf91b9 Add e2e tests for CSI PVCDataSources
address unit test comments
2019-08-15 13:25:10 -06:00
Kubernetes Prow Robot
d8c8c8eded Merge pull request #79931 from skarthiksrinivas/vsphere_volume_selectednode
Provision vSphere volume as per selectedNode
2019-08-15 11:06:35 -07:00
Jan Safranek
2c79ffe274 Add test for unused volumes 2019-08-15 10:48:41 +02:00
Kubernetes Prow Robot
0d579bfecf Merge pull request #79796 from jsafrane/block-test-mismatch
Add test for mismatched usage of filesystem/block volumes
2019-08-14 19:00:37 -07:00
Kenichi Omichi
cd24b24725 Remove fail argument from ReadOrDie()
Every caller of ReadOrDie() specified ginkgo.Fail as fail argument,
and that was intentional to avoid depending on Ginkgo.
However that just spreaded the dependency on Ginkgo to caller sides.
Especially that was unnecessary e2e test framework "ingress" depended
on Ginkgo only for the above reason.
Now we are cleaning up the dependencies on e2e tests, so let's just
remove such dependencies.
2019-08-14 00:35:51 +00:00
Patrick Ohly
7bbc06fcd4 storage: check CSIDriver.Spec.VolumeLifecycleModes
Using a "normal" CSI driver for an inline ephemeral volume may have
unexpected and potentially harmful effects when the driver gets a
NodePublishVolume call that it isn't expecting. To prevent that mistake,
driver deployments for a driver that supports such volumes must:
- deploy a CSIDriver object for the driver
- set CSIDriver.Spec.VolumeLifecycleModes such that it contains "ephemeral"

The default for that field is "persistent", so existing deployments
continue to work and are automatically protected against incorrect
usage.

For the E2E tests we need a way to specify the driver mode. The
existing cluster-driver-registrar doesn't support that and also was
deprecated, so we stop using it altogether and instead deploy and
patch a CSIDriver object.
2019-08-13 23:12:52 +02:00
Kubernetes Prow Robot
43fa5ca693 Merge pull request #81087 from johnSchnake/addSkipsIfSSHNotPresent
Ensure tests which rely on SSH behavior are skipped if unavailable
2019-08-13 07:56:07 -07:00
Jan Safranek
40b186785f Use events to speed up the test 2019-08-08 14:24:52 +02:00
Jan Safranek
683b9782b2 Add test for mismatched usage of filesystem/block volumes 2019-08-08 14:24:52 +02:00
John Schnake
37212fa934 Ensure tests which rely on SSH behavior are skipped if unavailable
A number of tests rely on SSH behavior but are not marked with
SkipUnlessSSHKeysPresent(). This means that the tests will run and
hang. This can be confusing for users because they may not know why
the tests failed. Instead, we should be reporting on the known issue
and skipping the test (hence why the helper Skip... function exists).
2019-08-07 10:24:39 -05:00
Antonio Ojea
10ef878e08 Add IPv6 support to e2e GlusterDynamicProvisioner 2019-08-07 09:47:36 +02:00
Masaki Kimura
2306d2ff31 Refactor e2e tests 2019-08-01 20:09:47 +00:00
Jan Safranek
d79b7c754f Add in-line filesystem volumes to MakeSecPod 2019-08-01 20:04:11 +00:00
Masaki Kimura
f1d2d9d670 Move disruptive tests to testsuites and add ones for block volume 2019-08-01 20:04:10 +00:00
Kubernetes Prow Robot
e40cfd984d Merge pull request #80378 from davidz627/fix/gceAM
Add a field 'RequiredAccessModes' to the driver info object that is propagated to pvc creation
2019-08-01 08:16:42 -07:00
skarthiksrinivas
73271c1970 Provision vSphere volume as per selectedNode 2019-07-28 22:03:02 -07:00
Kubernetes Prow Robot
a300104f0a Merge pull request #80578 from tsmetana/revert-pr78697
Revert "e2e: Skip multi-node PV test when pods scheduled on the same node
2019-07-26 16:52:10 -07:00
David Zhu
0313dc217e Add a field 'RequiredAccessModes' to the driver info object that is propagated to pvc creation 2019-07-26 15:20:47 -07:00
Kubernetes Prow Robot
fc4cbf743a Merge pull request #80543 from davidz627/fix/makePV
Document and improve defaulting for MakePersistentVolume, dedupe some manual PV creations
2019-07-26 03:24:25 -07:00
Kubernetes Prow Robot
a3750501b0 Merge pull request #79983 from pohly/persistent-and-ephemeral-csi-volumes
persistent and ephemeral csi volumes
2019-07-25 16:01:54 -07:00
David Zhu
862ba3fc05 Document and improve defaulting for MakePersistentVolume, dedupe some manual PV creations 2019-07-25 10:57:29 -07:00
Patrick Ohly
4bc5d065c9 updated Bazel files 2019-07-25 16:45:46 +02:00
Patrick Ohly
608b0e7097 e2e storage: csi-mock tests for ephemeral inline volumes
The PodInfo tests can be extended to also cover the new
csi.storage.k8s.io/ephemeral flag. However, the presence of that flag
depends on whether inline volume support is enabled, so tests that run
with and without the feature have to detect that at runtime.

Other tests have a feature tag and thus can assume that they only run
when that feature is enabled. However, we need a newer csi-mock driver
before we can actually ask it to publish an ephemeral inline volume.
2019-07-25 16:45:46 +02:00
Patrick Ohly
555ff7ef10 CSI: allow drivers that can handle persistent and ephemeral volumes
The conceptual change is that the mode in which a volume gets handled
is derived from it's spec, not from the ability of the driver. In
practice, that is already how the code worked because it didn't
actually look at CSIDriver.Spec.Mode at all.

Therefore the code change itself is mostly just renaming "driver mode"
to "volume mode". In some places (CanDeviceMount, CanAttach) the
feature check that was used elsewhere seemed to be missing. Now their
code path for ephemeral volumes are also only entered if that feature
is enabled.

The sanity check whether a CSI driver is being used correctly still
needs to be implemented.

Related-to: https://github.com/kubernetes/kubernetes/issues/79624
2019-07-25 16:45:46 +02:00
Patrick Ohly
be9f9091ca e2e: remove unused ShortName from external driver definition
The name was meant to be used as shorter replacement for potentially
long CSI driver names, but was never used in practice.
2019-07-25 16:45:46 +02:00
Tomas Smetana
4f3e31e978 Revert "e2e: Skip multi-node PV test when pods scheduled on the same node"
This reverts commit d4f43e8e19.
2019-07-25 13:32:39 +02:00
Kubernetes Prow Robot
a0a0146419 Merge pull request #80382 from davidz627/fix/refactor
Dedupe all Make PVC API object functions into the one MakePersistentVolumeClaim to rule them all
2019-07-25 01:37:53 -07:00
Kubernetes Prow Robot
60c2d44129 Merge pull request #79552 from wongma7/windows-ebs
Add support for AWS EBS on windows
2019-07-23 17:14:28 -07:00
David Zhu
e194cf24cc Dedupe all Make PVC API object functions into the one MakePersistentVolumeClaim to rule them all 2019-07-23 12:59:00 -07:00
Matthew Wong
02530b9ffb Enable windows ntfs e2e storage tests for aws driver 2019-07-23 19:28:14 +00:00
Kubernetes Prow Robot
b1bea169f5 Merge pull request #78000 from mkimuram/issue/77999
Move volume_expand tests to storage e2e testsuites
2019-07-19 14:25:11 -07:00
Kubernetes Prow Robot
b22cbcab75 Merge pull request #80327 from bparees/params
fix parameterization of test error message
2019-07-19 03:27:12 -07:00
Kubernetes Prow Robot
c45b77541b Merge pull request #80329 from BenTheElder/less-sudo
remove sudo from storage tests
2019-07-18 22:55:11 -07:00
Ben Parees
0feca84ea5 fix parameterization of test error message 2019-07-18 18:28:59 -04:00
Jiatong Wang
e24a962821 Fix error log issue, remove OrDie suffix in methods naming 2019-07-17 23:18:21 -07:00
Jiatong Wang
0b37152f17 Refactor and Move node related methods to framework/node package
Signed-off-by: Jiatong Wang <wangjiatong@vmware.com>
2019-07-17 22:54:15 -07:00
Kubernetes Prow Robot
835552ecb6 Merge pull request #80191 from davidz627/fix/mountStage
Add passthrough for MountOptions for NodeStageVolume for CSI
2019-07-17 00:42:33 -07:00
David Zhu
b6a38d7e2b Add supportedMountOptions for GCE PD CSI Driver tests 2019-07-16 16:17:54 -07:00
Kubernetes Prow Robot
77a7366486 Merge pull request #79945 from misterikkit/vsphere-e2e
More consistent env var handling in vsphere e2e test
2019-07-16 15:24:18 -07:00
Benjamin Elder
21aedffe0d remove sudo from storage tests 2019-07-16 11:38:18 -07:00
Kubernetes Prow Robot
40edce1235 Merge pull request #79730 from jsafrane/add-block-tests
Consolidate block and filesystem tests
2019-07-15 20:27:23 -07:00
David Zhu
2820c1d8c8 Add davidz627 (David Zhu) to Approvers for OperationExecutor and GCE PD 2019-07-11 13:14:31 -07:00
Masaki Kimura
ea4f4c8432 Move volume_expand tests to storage e2e testsuites 2019-07-11 18:49:49 +00:00
draveness
d3158b2c71 feat: use framework.ExpectNotEqual in e2e test 2019-07-10 21:36:26 +08:00
Jan Safranek
a9e838f2e9 Remove redundant provisioning tests 2019-07-10 15:27:00 +02:00
Jan Safranek
b5a800e765 Remove redundant tests
We check that block / filesystem volume is writable in volumes.go
2019-07-10 15:17:09 +02:00
Jan Safranek
5fc9e23b50 Add block volume support to InjectContent / TestVolumeClient 2019-07-10 15:17:09 +02:00
Jan Safranek
a2c9052716 Refactor TestVolumeClient and InjectContent into common function
These two functions do almost the same thing - one writes data to volumes
in a pod, the second reads them. Let them share the code.
2019-07-10 15:17:09 +02:00