Commit Graph

51 Commits

Author SHA1 Message Date
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
Fabio Bertinatto
cd5cf567d8 Avoid adding labels to nodes in CSI mock driver
It's unnecessary to add labels to nodes because we're already
using NodeSelection to schedule pods on specific nodes.
2020-02-21 14:33:56 +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
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
Jonathan Basseri
99a015705b storage e2e: Add context to timeout errors
Many times an e2e test fails with an unexpected error,
"timed out waiting for the condition".

Useful information may be in the test logs, but debugging e2e test
failures will be much faster if we add context to errors when they
happen.

This change makes sure we add context to all errors returned from
helpers like wait.Poll().
2020-01-14 11:45:38 -08:00
Hemant Kumar
fca9963c24 Move publish and unpublish counting up in test
So as publish and unpublish are counted always
2020-01-06 16:50:55 -05:00
danielqsj
6596a14d39 add missing alias of api errors under test 2019-12-26 17:29:38 +08:00
Kubernetes Prow Robot
449fe0b1ba
Merge pull request #86397 from gnufied/fix-comparison-of-node-publish-unpublish
Expect NodeUnpublish calls when NodePublish is called
2019-12-20 09:09:32 -08:00
Hemant Kumar
d1fb0b57df Expect NodeUnpublish calls when NodePublish is called
While this is looser check than original check, I do not think
we can quite expect NodePublish and NodeUnpublish call counts to match

NodePublishvolume call count may not be same as NodeUnpublishVolume
call count because reconciler may have a mount operation queued up
while previous one is finishing. So, it is not unusual to have more than one
NodePublishVolume call for same pod+volume combination, similarly
unmount may also run more than once.
2019-12-19 14:28:27 -05:00
Hemant Kumar
03df6320e5 Wait for resizing condition 2019-12-18 17:50:29 -05:00
tanjunchen
f8e0c6bb41 test/e2e/storage : use framework.Equal() replace gomega.Expect(...).To(gomega.BeTrue(),...) 2019-12-11 16:25:26 +08:00
SataQiu
27d645dc5b fix staticcheck failures of test/e2e/storage 2019-12-07 21:32:11 +08:00
Michelle Au
2d467ed9d8 Update tests to use v1.CSINode 2019-10-28 13:41:13 -07: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
carlory
910bd000ff use log functions of core framework in the 'test/e2e/storage/*' 2019-09-06 10:26:16 +08:00
Kubernetes Prow Robot
cd9519fe95
Merge pull request #82004 from pohly/ephemeral-beta
ephemeral inline CSI volumes as beta
2019-08-29 09:30:25 -07:00
Patrick Ohly
55334fb9e9 e2e storage: check NodeUnpublishVolume in csi-mock tests
Once we have deleted the pod and the volume, we want to be sure that
NodeUnpublishVolume was called for it. The main motivation was to
check this for inline ephemeral volumes, but the same additional check
also makes sense for other volumes.
2019-08-28 12:20:54 +02:00
Kubernetes Prow Robot
dccd28269a
Merge pull request #81467 from bertinatto/e2e_volume_expand
Graduate Volume Expansion to Beta + e2e tests
2019-08-28 01:37:25 -07:00
Patrick Ohly
482a900e83 storage: make CSIInlineVolume a beta feature
The feature is complete and supported by an increasing number of CSI
drivers, but before it can be really used, it should be moved out of
alpha into beta.
2019-08-28 05:32:44 +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
Fabio Bertinatto
73f31afd5d Graduate volume expansion to beta 2019-08-27 17:33:41 +02:00
Matthew Wong
b125bdda20 Don't overwrite PVC with nil/empty object returned by failed Update 2019-08-22 17:03:06 -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
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
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
Masaki Kimura
ea4f4c8432 Move volume_expand tests to storage e2e testsuites 2019-07-11 18:49:49 +00:00
draveness
4c2e77a53e feat: use framework.ExpectEqual in storage e2e test 2019-07-04 22:24:29 +08:00
Fabio Bertinatto
33c8bacd41 Update nodeinfomanager to store volume limits in CSINode 2019-06-25 16:30:54 +02:00
SataQiu
332be4b1e3 refactor: replace framework.Failf with e2elog.Failf 2019-06-19 17:52:35 +08:00
Kubernetes Prow Robot
b8ba75bcd9
Merge pull request #77526 from alejandrox1/framework_util_pod_refactor
Refactored pod-related functions from framework/util.go
2019-06-13 23:06:19 -07:00
Jorge Alarcon Ochoa
4969a05327 Refactored pod-related functions from framework/util.go
This a refactoring of framework/utils.go into framework/pod.

Signed-off-by: Jorge Alarcon Ochoa <alarcj137@gmail.com>
2019-05-30 09:30:26 -04:00
Kenichi Omichi
63e0507fd9 Check e2e test code to use ExpectError()
We can use framework.ExpectError() for checking the expected error
happens. However Expect(err).To(HaveOccurred()) can be used instead
and that makes the e2e test code unreadable.
This adds the check to use framework.ExpectError() for readable code.
2019-05-29 17:04:58 +00:00
SataQiu
01d38fec16 fix golint failures of test/e2e/storage 2019-05-11 23:30:17 +08:00
danielqsj
1058877fbf remove dot imports in e2e/storage 2019-05-10 13:56:26 +08:00
Daniel (Shijun) Qian
5268f69405 fix duplicated imports of k8s code (#77484)
* fix duplicated imports of api/core/v1

* fix duplicated imports of client-go/kubernetes

* fix duplicated imports of rest code

* change import name to more reasonable
2019-05-08 10:12:47 -07:00
John Schnake
a6f5ebf831 Move storage tests to use the framework/log package
This is part of the transition to using framework/log instead
of the Logf inside the framework package. This will help with
import size/cycles when importing the framework or subpackages.
2019-05-04 12:50:38 -05:00
Kubernetes Prow Robot
73c1e35491
Merge pull request #76174 from msau42/slow-e2es
Mark slow storage e2es
2019-04-04 19:37:19 -07:00
Michelle Au
ce7ac63916 Mark slow storage e2es 2019-04-04 18:01:22 -07:00
Masaki Kimura
b474b28f7b Use framework.ExpectNoError() for rest of under test/e2e/storage 2019-04-04 18:51:51 +00:00
Kubernetes Prow Robot
e05be44808
Merge pull request #74693 from mkimuram/issue/74545
Add e2e tests for multiAttach
2019-03-26 20:44:48 -07:00
Hemant Kumar
cc61632255 Add pod information when max volume condition is missing 2019-03-11 17:11:56 -04:00
Masaki Kimura
b4c88acec6 Add e2e tests for multiAttach 2019-03-09 00:26:00 +00:00
Hemant Kumar
a8f318779b Add CSI volume resizing tests
Add some tests for checking node expansion
Add new tests for expander
2019-03-08 09:23:18 -05:00
Hemant Kumar
9d78c96e56 Fix volume attach limit flake
It looks like node does become unschedulable for the pod
but condition does not get added to the pod in time.

Also ginkgo could retry the test and hence it helps to use
unique node label for scheduling.
2019-03-07 12:35:52 -05:00
Michelle Au
afbc8a5056 e2e test updates for beta 2019-03-05 20:24:59 -08:00
Kubernetes Prow Robot
257205d656
Merge pull request #74811 from gnufied/fix-attachable-csi-mock-driver
When checking for pod info version, make volume attachable
2019-03-05 06:51:39 -08:00
Xing Yang
d69e0ff3f0 Enable CSI test suite and fix test failures 2019-03-04 16:42:13 -08:00
Xing Yang
6265f4f78c CSINodeInfo/CSIDriver controller changes
This is the 2nd PR to move CSINodeInfo/CSIDriver APIs to
v1beta1 core storage APIs. It includes controller side changes.
It depends on the PR with API changes:
https://github.com/kubernetes/kubernetes/pull/73883
2019-03-04 16:41:58 -08:00
Hemant Kumar
2567d1b5dd Always make CSI driver attachable when checking for pod info
Fixes https://github.com/kubernetes/kubernetes/issues/74724
2019-03-04 12:35:16 -05:00