Commit Graph

81 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
Kubernetes Prow Robot
dc8208dddc Merge pull request #87871 from msau42/fix-hostexec
Use NodeSelector instead of NodeName in hostexec Pod
2020-02-10 20:44:01 -08:00
Michelle Au
1ee35e788e Use NodeSelector instead of NodeName in hostexec Pod so that the Pod runs through the scheduler
Change-Id: Ia2f7ad39af318bbe707b43dfea706293ecdf5203
2020-02-10 15:36:04 -08:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Kubernetes Prow Robot
334d788f08 Merge pull request #87299 from mikedanese/ctx
context in client-go
2020-02-08 06:43:52 -08:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
John Belamaric
ba38816d42 LogResult if there is an error 2020-02-07 09:36:02 -08:00
Kubernetes Prow Robot
14ed35712c Merge pull request #87168 from misterikkit/timout-err
storage e2e: Add context to timeout errors
2020-01-15 01:22:32 -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
Jing Xu
51d5303662 Fix err variable shadowing issue in storage/utils
Issue: https://github.com/kubernetes/kubernetes/issues/86884
This PR fixes the issue that err variable gets shadowed. Because of
this, it might get nil pointer error.

Change-Id: Ib7da918418a7c8148a6ca598db12b3744eb3b7c8
2020-01-06 12:15:29 -08:00
danielqsj
fc738cbb1d unify alias of api errors under test 2019-12-26 16:40:45 +08:00
hwdef
d45107a00d test/e2e: move funcs from test/e2e/pod to other folders 2019-12-16 11:58:49 +08:00
Kubernetes Prow Robot
4ca93592d2 Merge pull request #86147 from tanjunchen/use-framework-Equal-20191211
test/e2e/storage : use framework.Equal() replace gomega.Expect(...).To(gomega.BeTrue(),...)
2019-12-11 11:32:24 -08:00
tanjunchen
f8e0c6bb41 test/e2e/storage : use framework.Equal() replace gomega.Expect(...).To(gomega.BeTrue(),...) 2019-12-11 16:25:26 +08:00
SataQiu
e70120f083 fix staticcheck failures of e2e/storage/utils e2e/storage/vsphere 2019-12-11 10:33:21 +08:00
tanjunchen
9eda99793d use ExpectEqual of framework in test/e2e/storage 2019-12-03 17:41:49 +08:00
toyoda
5683fe7f51 Use log functions of core framework on e2e/storage/utils 2019-11-13 16:17:11 +09:00
Olev Kartau
373909946e utils.go: Changed bashExec to shExec, bash not guaranteed. 2019-11-12 14:42:24 +02:00
Olev Kartau
2fac3f2c20 test/e2e: Reduce need to use local kubectl
Use POST method instead of running local kubectl.
Use ExecCommandInContainerWithFullOutput() instead of RunKubectl().
PodExec() takes additional framework arg, passed down in call chain.
VerifyExecInPodFail uses different error code cast as original
one causes test code Panic if used with new call method.
2019-11-12 14:42:24 +02:00
Xing Yang
3324722e07 VolumeSnapshot CRD v1beta1: Enable VolumeSnapshotDataSource feature gate and update e2e tests 2019-11-11 02:34:24 +00:00
Kenichi Omichi
94211f1839 Move functions from e2e framework util.go
The following functions are called at some specific places only,
so this moves these functions to the places and makes them local.

- WaitForPersistentVolumeClaimDeleted: Moved to e2e storage
- PrintSummaries: Moved to e2e framework.go
- GetHostExternalAddress: Moved to e2e node
- WaitForMasters: Moved to e2e cloud gcp
- WaitForApiserverUp: Moved to e2e network
- WaitForKubeletUp: Moved to e2e storage vsphere
2019-11-08 19:25:16 +00:00
clarklee92
78d3d52ac2 Move funcs of create.go to e2e/storage
Signed-off-by: clarklee92 <clarklee1992@hotmail.com>
2019-11-01 13:52:24 +08:00
Kubernetes Prow Robot
ed5b038313 Merge pull request #84218 from cofyc/fix74552
Support local filesystem volume with block source reconstruction and add related e2e tests
2019-10-31 21:53:36 -07:00
Yecheng Fu
d8c465c8d7 better HostExec
- separate stdout and stderr
- return command exit code
- remove kubectl dependency
2019-10-28 19:20:26 +08:00
Yecheng Fu
8def74f394 use HostExec and sets.String 2019-10-28 10:35:06 +08:00
Yecheng Fu
25c5ad52fd simplify global mount points check 2019-10-28 10:35:06 +08:00
Yecheng Fu
b536395c07 Add e2e test to check for filesystem volume device mount cleanup 2019-10-28 10:35:02 +08:00
Jan Safranek
612fb1793e Test global block directory in reconstruction tests 2019-10-04 14:03:40 +02:00
Kubernetes Prow Robot
ec05944b13 Merge pull request #83108 from jsafrane/hostexec-volumemode
Use pod + nsenter instead of SSH in block volume tests
2019-10-04 02:46:29 -07:00
John Schnake
2dab911ac2 Use imageutils instead of hardcoded image paths
A number of tests were using hardcoded image paths instead of
going through the imageutils package. The reason for centralizing
the logic there is to keep an eye on what images we use and where
they come from.
2019-09-27 15:01:08 -05:00
Jan Safranek
c1c0ba1c76 Use pod + nsenter instead of SSH in block volume tests
listPodVolumePluginDirectory was moved to break import cycle.
2019-09-25 13:34:27 +02:00
carlory
910bd000ff use log functions of core framework in the 'test/e2e/storage/*' 2019-09-06 10:26:16 +08: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
Kubernetes Prow Robot
087aafc18d Merge pull request #80568 from pohly/ephemeral-mode-check
ephemeral mode check
2019-08-26 11:53:40 -07:00
Patrick Ohly
8270fe81e4 bazel update 2019-08-22 08:57:53 +02:00
Kubernetes Prow Robot
5c68a231ab Merge pull request #81620 from wongma7/nfs-alpha
Bump nfs-provisioner to include GetReference fix
2019-08-20 10:47:15 -07:00
Matthew Wong
9da84cfbdf Bump nfs-provisioner to include GetReference fix 2019-08-16 16:54:08 -07:00
Jan Safranek
2c79ffe274 Add test for unused volumes 2019-08-15 10:48:41 +02: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
Masaki Kimura
2306d2ff31 Refactor e2e tests 2019-08-01 20:09:47 +00:00
Masaki Kimura
f1d2d9d670 Move disruptive tests to testsuites and add ones for block volume 2019-08-01 20:04:10 +00:00
Benjamin Elder
21aedffe0d remove sudo from storage tests 2019-07-16 11:38:18 -07:00
Kubernetes Prow Robot
a61006bbc4 Merge pull request #75593 from pohly/e2e-no-global-flags
e2e: avoid mandatory command line flags
2019-07-09 03:10:03 -07:00
Patrick Ohly
b86a007057 e2e: avoid mandatory command line flags
Tests should never directly add to the global command line, because
some users of the tests might not want them there. For example,
options might only get set directly from a config file.

To achieve that, e2e/framework/config, e2e/framework/viperconfig, and
e2e/framework/test_context.go avoid using the global flag set and
instead expect to be told by the caller which flag set to use. Tests
that called flag directly either get updated or obsolete flags get
removed.

The exception is framework.HandleFlags, which as before directly
implements global command line handling.

This is a breaking change for test suites which do not use that
function (and only those): they now need to ensure that they copy
individual flags from tests. Because the RegisterCommonFlags prototype
has changed, test suite authors will notice due to the resulting
compilation errors.
2019-07-04 17:15:14 +02:00
draveness
4c2e77a53e feat: use framework.ExpectEqual in storage e2e test 2019-07-04 22:24:29 +08:00
SataQiu
332be4b1e3 refactor: replace framework.Failf with e2elog.Failf 2019-06-19 17:52:35 +08:00
Jiatong Wang
b1c346c295 Move node related methods to framework/node package
- Add a package "node" under e2e/framework and alias e2enode;
- Rename some functions whose name have redundant string.

Signed-off-by: Jiatong Wang <wangjiatong@vmware.com>
2019-06-17 16:59:07 -07:00
Kubernetes Prow Robot
08922a1399 Merge pull request #78148 from endyman/fix-golint-test/e2e/storage/utils
fix golint errors in test/e2e/storage/utils
2019-06-14 02:50:51 -07: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