Commit Graph

77 Commits

Author SHA1 Message Date
Mauricio Poppe
5d9053014e Update tests to use common pod functions from framework/pod/utils.go 2021-03-11 07:25:56 +00:00
Justin SB
8797738c02 Fix spelling typos: scheduable -> schedulable
Bulk fix of a common typo.
2021-01-09 12:59:33 -05:00
Jiawei Wang
356bea6c9f Add storage framework and address comments 2020-12-10 22:48:06 -08:00
Jiawei Wang
988563f8f5 Extract testsuite api to a separate package
Extract TestSuite, TestDriver, TestPattern, TestConfig
and VolumeResource, SnapshotVolumeResource from testsuite
package and put them into a new package called api.

The ultimate goal here is to make the testsuites as clean
as possible. And only testsuites in the package.
2020-12-10 11:12:51 -08:00
Jiawei Wang
5dc491758c Storage testsuite refactor & cleanup
Cleanup all the f.BeforeEach() before new framework to move all the
testskips in the new SkipUnsupportedTests() to make the structure easier.
And provide the standard way of RegisterTests()

Add a InitCustomXXXTestSuite(patterns []patterns) function for each
TestSuite to enable custom test suite definition.
2020-12-10 11:12:51 -08:00
Fabio Bertinatto
ee082985c2 e2e: promote use of functions that support custom timeouts in storage tests.
WaitForPodSuccessInNamespace[Slow] are replaced by WaitForPodSuccessInNamespaceTimeout(),
so that custom timeouts are used instead of the hardcoded ones.
2020-12-02 16:14:13 -03:00
Fabio Bertinatto
c82626f96f e2e: use custom timeouts in all storage E2E tests 2020-12-02 15:57:58 -03:00
Jing Xu
56373aa10d Update storage test suits for Windows
Update storage test suits to enable some tests on Windows

Change-Id: I1f596bb9f7a0f41ae398aec43406ee5c753cdce3
2020-11-11 15:22:47 -08:00
Kubernetes Prow Robot
4b24dca228 Merge pull request #95078 from jingxu97/sep/subpathtest
Disable one subpath test for windows
2020-09-27 12:46:48 -07:00
Jing Xu
b80acc39a0 Disable one subpath test for windows
Disable subpath test "should be able to unmount after the subpath
directory is deleted" for windows because the test will fail when
deleting a dir while another container still use it.
2020-09-25 16:48:16 -07:00
Claudiu Belu
89eae73323 tests: Refactors agnhost image pod usage in tests
A previous commit created a few agnhost related functions that creates agnhost
pods / containers for general purposes.

Refactors tests to use those functions.
2020-09-22 13:09:49 -07:00
Maciej Szulik
eec4a04c2d Use namespace flag passed to RunKubectl* methods 2020-09-11 14:51:03 +02:00
Jing Xu
0d9c8202d5 Remove file_mode args for Windows test
Due to issue https://github.com/kubernetes/kubernetes/issues/94237,
remove file_mode arg for subPath tests for now.
2020-08-25 20:05:40 -07:00
hasheddan
4e4d629af7 Return error instead of panic if container index outside bounds
Adds check for index out of bounds error instead of panic when passing
container to kubectl exec.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2020-07-19 10:04:53 -05:00
Jing Xu
31db94c848 Fix subPath tests for Windows
Windows test for subPath is failing due to an issue related to
removeUnusedContainers calls. After image is changed to Agnhost, it
automatically has a args by default. However, there are places to use
container commands instead of args and causing issues.

This is the first step to fix this issue. Next plan to replace
busybox used in Linux with Agnhost which can work for both linux and
windows.

I also mark two subPath tests as LinuxOnly. I think they are not ready
for windows yet. Before they were passing due to wrong reason. The tests
checks failed container status but the contain fails due to other
reasons than what we expected.
2020-07-09 11:14:17 -07:00
Kubernetes Prow Robot
d9b084a9d1 Merge pull request #89629 from fatedier/subpath
Modified subpath configmap mount fails when container restarts
2020-07-09 09:06:32 -07:00
fatedier
78b5003e88 update e2e test 2020-07-03 20:31:00 +08:00
Matthew Cary
028176deb2 Avoid grabbing metrics when they're not validated
Change-Id: I0dd23b993b1bbc4908341d092c485566b9725c7a
2020-06-25 02:01:53 +00:00
Kubernetes Prow Robot
fc9d174102 Merge pull request #88248 from claudiubelu/tests/reduce-to-agnhost-mounttest
tests: Replaces mounttest images used with agnhost (part 4)
2020-04-22 04:53:52 -07:00
drfish
dfab6b637f Update .import-aliases for e2e test framework 2020-03-25 11:40:02 +08:00
Claudiu Belu
1b71b2a9a2 tests: Replaces mounttest images used with agnhost (part 4)
Quite a few images are only used a few times in a few tests. Thus,
the images are being centralized into the agnhost image, reducing
the number of images that have to be pulled and used.

This PR replaces the usage of the following images with agnhost:

- mounttest
- mounttest-user

Additionally, removes the usage of the mounttest-user image and removes
it from kubernetes/test/images. RunAsUser is set instead of having that image.
2020-02-29 15:05:57 -08: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
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
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
5ead4974e0 Merge pull request #86000 from timoreimann/e2e-support-long-csi-driver-names
e2e: support long CSI driver names
2019-12-14 16:11:36 -08:00
Timo Reimann
a70bec465d e2e: support long CSI driver names
The storage e2e test suite uses given CSI driver names as pod names. For
pod names that also get enriched by a prefix and suffix, it is very easy
to exceed the 63 character limit that pod names are subject to, thereby
causing tests to fail.

This change fixes the described problem by omitting the driver name from
the pod name suffix.

It also allows us to drop VolumeResource.VolType.
2019-12-13 22:54:06 +01:00
Kubernetes Prow Robot
688149a0c6 Merge pull request #84613 from MorrisLaw/breakout-kubectl-from-utils
move KubectlCmd out of utils into its own package
2019-12-06 15:51:53 -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
MorrisLaw
b85adbf1fd moved WriteFileViaContainer and ReadFileViaContainer to kubectl_utils 2019-12-04 20:31:57 +00:00
caiweidong
074aba8dce Fix storage e2e clean up 2019-11-06 23:42:20 +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
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
Michelle Au
8d3abb83f9 Rename testCleanup to driverCleanup
Change-Id: I2ee50e2c7eed82724b7a2703819dcefcf7fa915f
2019-09-20 12:26:53 -07:00
carlory
910bd000ff use log functions of core framework in the 'test/e2e/storage/*' 2019-09-06 10:26:16 +08: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
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
SataQiu
332be4b1e3 refactor: replace framework.Failf with e2elog.Failf 2019-06-19 17:52:35 +08: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
draveness
d6c600dac0 fix: use framework.ExpectNoError instead of gomega 2019-05-29 23:46:35 +08:00
Jing Xu
e570d27b40 Update subpath e2e test for windows
Modify the current subpath e2e file to allow it run in windows clusters.

Change-Id: I921dfbbae9480c718853a97a76cc0a95b1af9790
2019-05-17 10:13:41 -07:00
danielqsj
1058877fbf remove dot imports in e2e/storage 2019-05-10 13:56:26 +08: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
David Zhu
1271237d23 Add migration metrics checking to all test suites 2019-05-01 11:24:03 -07:00