Commit Graph

93 Commits

Author SHA1 Message Date
Patrick Ohly
0cdd5365a1 storage tests: really wait for pod to disappear
As seen in one case (https://github.com/intel/pmem-csi/issues/587), a
pod can reach the "not running" state although its ephemeral volumes
are still being torn down by kubelet and the CSI driver. What happens
then is that the test returns too early and even deleting the
namespace and thus the pod succeeds before the NodeVolumeUnpublish
really finishes.

To avoid this, StopPod now waits for the pod to really disappear.
2020-04-16 21:10:56 +02:00
drfish
dfab6b637f Update .import-aliases for e2e test framework 2020-03-25 11:40:02 +08:00
Kenichi Omichi
2158989d6f Move WaitForPersistentVolumeDeleted() to e2epv
The function is for persistent volumes and it doesn't have any
reason why it stays in core test framework. So this moves the
function into e2epv package for reducing e2e/framework/util.go
code.
2020-03-24 22:54:07 +00:00
Jordan Liggitt
b7c2faf26c client-go dynamic client: add context to callers 2020-03-06 10:56:23 -05:00
Jordan Liggitt
b19dc3a474 client-go dynamic client: update DeleteOptions callers 2020-03-06 10:21:23 -05:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Jan Safranek
98b9c7b5e8 Fix GCE PD snapshot flakiness
It takes more than 5 minutes to restore a GCE PD snapshot + run a pod with
it. Therefore TestVolumeClientSlow is introduced.
2020-03-04 12:39:13 +01:00
Masaki Kimura
401b85e547 Add FromFile and FromExistingClassName support for SnapshotClass in external storage e2e test 2020-03-03 20:28:32 +00:00
Jan Safranek
104db4f01b Fix block snapshot tests
Use InjectContent / TestVolumeClient to test a snapshot volume, since these
functions support raw block volumes.
2020-03-02 14:18:40 +01:00
Jan Safranek
1f9f2390cb Add block cloning tests
Rework the tests to use InjectContent/TestVolumeClient when at it.
2020-02-27 09:56:15 +01:00
Patrick Ohly
d71829a1fc e2e: avoid setting NodeName for CSI driver deployments
We don't want to set the name directly because then starting the pod
can fail when the node is temporarily out of resources
(https://github.com/kubernetes/kubernetes/issues/87855).

For CSI driver deployments, we have three options:
- modify the pod spec with custom code, similar
  to how the NodeSelection utility code does it
- add variants of SetNodeSelection and SetNodeAffinity which
  work with a pod spec instead of a pod
- change their parameter from pod to pod spec and then use
  them also when patching a pod spec

The last approach is used here because it seems more general. There
might be other cases in the future where there's only a pod spec that
needs to be modified.
2020-02-26 10:33:29 +01:00
Michelle Au
76a4a34dae Pass NodeSelection directly into e2e testsuites so that tests can use them more consistently
Change-Id: I99c8c1d8535a2a2319fbe8216b953c14a56f2763
2020-02-11 20:25:24 -08:00
Michelle Au
fb9f02b5e1 Don't set NodeName directly in Pods so that it still goes through the scheduler
Change-Id: I244b6aac0289a13339f3ac228c4ad9ecf8c07b42
2020-02-11 19:17:41 -08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Mike Danese
d55d6175f8 refactor 2020-01-29 08:50:45 -08:00
yuxiaobo
73fb0ab5ec test/e2e/storage:Use e2eskipper package
Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
2020-01-13 14:04:10 +08:00
Kubernetes Prow Robot
bcff8bf3aa
Merge pull request #86283 from haosdent/clean-e2e-framework-pv
e2e: move funs of framework/pv to e2e/storage
2019-12-26 21:17:39 -08:00
danielqsj
fc738cbb1d unify alias of api errors under test 2019-12-26 16:40:45 +08:00
Haosdent Huang
dbc9929012 e2e: move funs of framework/pv to e2e/storage 2019-12-25 20:39:09 +08:00
SataQiu
3ed535a89a fix staticcheck failures of e2e/storage/drivers e2e/storage/testsuites 2019-12-10 16:09:29 +08:00
Kubernetes Prow Robot
d47e1364c9
Merge pull request #85540 from pohly/testsuites-api
e2e storage: public API for testsuites, support CSIInlineVolume type for generic resource
2019-12-05 17:15:19 -08:00
Patrick Ohly
160da35b23 e2e storage: public API for testsuites, support CSIInlineVolume type for generic resource
Implementing a test suite was impossible outside of the
k8s.io/kubernetes/test/e2e/storage/testsuites package because all
interfaces and structs used by them were private.

As part of revamping the API, genericVolumeTestResource also gets
exported because it is useful for other test suites. Because the
TestResource interface became obsolete a while ago and isn't used
anymore, the new name is just testsuites.VolumeResource.

testpatterns.CSIInlineVolume needs special handling in a few places.
It can now be used in a test pattern for a test suite that uses a
VolumeResource instance.
2019-12-05 20:10:25 +01:00
tanjunchen
9eda99793d use ExpectEqual of framework in test/e2e/storage 2019-12-03 17:41:49 +08:00
Boyil (Elliot) Li
cfa6f83427 Enable snapshottable e2e test for csi pd driver
- add csi pd driver manifests
- modify snapshottable test case
- fix tests of pod has to be created first for delay-binding PVC, otherwise PVC won't be bound
2019-11-15 15:46:48 -08:00
caiweidong
074aba8dce Fix storage e2e clean up 2019-11-06 23:42:20 +08:00
hoyho
23320c958e feat(e2e): refactor hard-coded provision size
test/e2e/storage/testsuites creates volumes dynamically. Initially, the size of those volumes was
hard-coded in the test, which prevented using the tests with storage backends that couldn't support
that hard-coded size
2019-10-08 01:33:19 +08:00
Kubernetes Prow Robot
4ed88d4232
Merge pull request #81819 from msau42/topology-e2es
add volume topology e2es
2019-09-20 20:07:25 -07:00
Kubernetes Prow Robot
a7bd7a925d
Merge pull request #82908 from ZP-AlwaysWin/dev06
Use framework.ExpectNotEqual()
2019-09-20 16:17:58 -07:00
Michelle Au
8d3abb83f9 Rename testCleanup to driverCleanup
Change-Id: I2ee50e2c7eed82724b7a2703819dcefcf7fa915f
2019-09-20 12:26:53 -07:00
Michelle Au
95c7b42340 add topology e2es to storage testsuite
Change-Id: I1ec4247cef5d477ae2a76136113a4ed5ce30bf44
2019-09-20 12:26:53 -07:00
ZP-AlwaysWin
59f766fe0a Use framework.ExpectEqual() 2019-09-20 11:36:03 +08:00
WanLinghao
a6f5d99409 Refactor and clean up e2e framework utils. This patch handles test/e2e/framework/pv_util.go file 2019-09-18 17:57:13 +08:00
Kubernetes Prow Robot
4b6c32c097
Merge pull request #82121 from Zhuzhenghao/typo/bound
Typo fix: binded -> bound
2019-09-11 10:39:28 -07:00
carlory
910bd000ff use log functions of core framework in the 'test/e2e/storage/*' 2019-09-06 10:26:16 +08:00
Kubernetes Prow Robot
b362655242
Merge pull request #81792 from j-griffith/move_cloning_to_beta
Promote VolumePVCDataSource to beta for 1.16
2019-08-29 13:31:25 -07:00
朱正浩,Zhu Zhenghao
aa20910e24 Typo fix: binded -> bound 2019-08-29 18:28:36 +08:00
Patrick Ohly
cead39cc97 e2e storage: wait for pod deletion
After deleting a pod, we need to be sure that it really is gone,
otherwise there is a race condition: if we remove the CSI driver that
is responsible for the volume used by the pod before the pod is
actually deleted, deleting the pod will fail.
2019-08-28 12:20:54 +02:00
alejandrox1
7c161d6a5f Refactoring pod related functions from pv_util to pod pkg
Moving pod related functions from e2e/framework/pv_util.go to
e2e/framework/pod in order to allow refactoring of pv_util.go into its
own package.

Signed-off-by: alejandrox1 <alarcj137@gmail.com>
2019-08-27 12:27:45 -04:00
j-griffith
280b3313a0 Promote VolumePVCDataSource to beta for 1.16
Promotes the VolumePVCDataSource feature (cloning) to beta for the 1.16
release.

Since alpha release in 1.15 there have been a number of minor bug fixes
in the CSI Hospath Provisioner and the CSI provisioner sidecar.  We've
also added e2e tests using the Hostpath provisioner.
2019-08-22 10:22:58 -06:00
Kubernetes Prow Robot
8f0d626228
Merge pull request #81375 from msau42/reduce-storage-e2es
Skip preprovisioned and inline volume tests if driver supports dynamic provisioning
2019-08-16 10:26:24 -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
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
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
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
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
Kubernetes Prow Robot
4b5dc0a06d
Merge pull request #78697 from tsmetana/fix-multinode-e2e
e2e: Skip multi-node PV test when pods scheduled on the same node
2019-07-09 03:10:16 -07:00
Tomas Smetana
d4f43e8e19 e2e: Skip multi-node PV test when pods scheduled on the same node 2019-07-04 17:15:43 +02:00