Commit Graph

82 Commits

Author SHA1 Message Date
SataQiu
332be4b1e3 refactor: replace framework.Failf with e2elog.Failf 2019-06-19 17:52:35 +08:00
Kubernetes Prow Robot
7abf2832bf Merge pull request #78614 from liggitt/remove-beta-e2e-use
Move test/e2e use to v1 APIs
2019-06-14 07:58:38 -07:00
Jordan Liggitt
8229af31d2 Move test/e2e use to v1 APIs 2019-06-03 14:46:08 -04: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
SataQiu
b828e570b1 fix golint failures of test/e2e/storage/drivers 2019-05-20 13:12:38 +08:00
danielqsj
1058877fbf remove dot imports in e2e/storage 2019-05-10 13:56:26 +08:00
Johannes M. Scheuermann
d59c67871c Remove unused code from CSI e2e tests 2019-05-06 21:59:09 +02: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
2b561456ce Merge pull request #77101 from davidz627/feature/migrationTest
Add testing infra for checking whether an in-tree plugin is using backend that is shimmed to CSI
2019-05-01 14:32:30 -07:00
David Zhu
1271237d23 Add migration metrics checking to all test suites 2019-05-01 11:24:03 -07:00
Kubernetes Prow Robot
aedebb23aa Merge pull request #77233 from msau42/remove-pd-external
remove pd-external from e2e config
2019-04-30 14:11:37 -07:00
Michelle Au
80471bf487 remove pd-external from e2e config
Change-Id: I1d734fcc8e8145e586b5df9acd0736c7ba0658d1
2019-04-29 15:25:14 -07:00
David Zhu
213cc99ead Operation generator migration metric fixes and test metrics retrieval code 2019-04-25 16:27:45 -07:00
Kubernetes Prow Robot
29163600fe Merge pull request #76796 from dims/remove-unused-methods
Remove unused code
2019-04-19 11:09:55 -07:00
Davanum Srinivas
7b8c9acc09 remove unused code
Change-Id: If821920ec8872e326b7d85437ad8d2620807799d
2019-04-19 08:36:31 -04:00
John Schnake
028df0451d Refactor of e2e/framework/authorizer_util.go
- moves these helper functions into e2e/framework/auth
 - removes logging from helper functions
 - in some cases explicitly returns errors that were implicitly
ignored/logged. In the situations where they should be ignored,
we explicitly check that the condition is met before ignoring it.
 - fixes references of these methods to use the right package and
return values
2019-04-17 16:39:37 -05:00
SataQiu
252cabf155 [e2e] test/e2e/framework/volume_util.go -> test/e2e/framework/volume/fixtures.go 2019-04-13 16:58:37 +08:00
Jan Safranek
b18dba3794 Parallelize iSCSI tests
iSCSI target (=the server) is implemented in Linux kernel. The "iSCSI
server" pod is not a real server, it just configures the kernel on the
host. In order to run iSCSI tests in parallel, we need to be able to
run multiple such pods on a single node, serving different LUNs to
different tests.

The "server pod" must run with HostNetwork=true to achieve that.
Each pod then creates its own IQN with namespace name, so it can't
collide with other server pods running in another namespaces on the same
node.
2019-04-10 14:43:06 +02:00
Masaki Kimura
b474b28f7b Use framework.ExpectNoError() for rest of under test/e2e/storage 2019-04-04 18:51:51 +00:00
Michelle Au
bbf6683e22 Switch PD tests to use delayed binding 2019-03-27 18:30:13 -07: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
Kubernetes Prow Robot
11b9ebf113 Merge pull request #75225 from jingxu97/pd_windows_test
Add bracket to the sig-window tag and other fixes
2019-03-12 13:19:19 -07:00
Jing Xu
3718f4e0ed Add bracket to the sig-window tag
Need to add bracket in the tag for sig-windows. Also fix an issue: for
current testing structure, it first init driver and then set up the
framework. So when initialize the driver, it does not know what OS is
and we can not set up the capabilities correctly. Instead we have to add
all the capabilities and supported fs types including both linux and
windows. Later in the code, we will check the Node OS and decide how to
run the test.
2019-03-11 18:40:45 -07: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
Kubernetes Prow Robot
788f24583e Merge pull request #74990 from jingxu97/pd_windows_test
Add GCE PD tests for windows cluster
2019-03-07 21:20:23 -08:00
Jing Xu
18be0a49e6 Add GCE PD tests for windows cluster
This PR is the first one to add a few GCE PD tests for windows cluster. Will
add more tests in later PRs
2019-03-07 09:13:56 -08:00
Ben Swartzlander
1493e684d3 Promote CSI raw blocks to beta 2019-03-06 13:43:52 -05:00
Michelle Au
afbc8a5056 e2e test updates for beta 2019-03-05 20:24:59 -08:00
Kubernetes Prow Robot
7dbe426b24 Merge pull request #74320 from gnufied/cleanup-csi-test-dups
Add e2e for CSI volume limit
2019-02-27 12:31:12 -08:00
Hemant Kumar
2516cbd453 Add e2e for CSI volume limit stuff
Also use privileged for driver registra
2019-02-26 13:04:54 -05:00
Michelle Au
6266c47972 Fix localssd test panic 2019-02-22 17:06:11 -08:00
Kubernetes Prow Robot
07cf5fa08e Merge pull request #72434 from pohly/storage-volume-testsuites-config
e2e/storage: delay CreateDriver, simplify APIs and test definition
2019-02-20 05:37:45 -08:00
Jesse Haka
c75b0bf8ca disable xfs localvolume test 2019-02-15 21:31:25 +02:00
Patrick Ohly
05cc31697f e2e/storage: speed up skipping, simplify APIs and test definition
CreateDriver (now called SetupTest) is a potentially expensive
operation, depending on the driver. Creating and tearing down a
framework instance also takes time (measured at 6 seconds on a fast
machine) and produces quite a bit of log output.

Both can be avoided for tests that skip based on static
information (like for instance the current OS, vendor, driver and test
pattern) by making the test suite responsible for creating framework
and driver.

The lifecycle of the TestConfig instance was confusing because it was
stored inside the DriverInfo, a struct which conceptually is static,
while the TestConfig is dynamic. It is cleaner to separate the two,
even if that means that an additional pointer must be passed into some
functions. Now CreateDriver is responsible for initializing the
PerTestConfig that is to be used by the test.

To make this approach simpler to implement (= less functions which
need the pointer) and the tests easier to read, the entire setup and
test definition is now contained in a single function. This is how it
is normally done in Ginkgo. This is easier to read because one can see
at a glance where variables are set, instead of having to trace values
though two additional structs (TestResource and TestInput).

Because we are changing the API already, also other changes are made:
- some function prototypes get simplified
- the naming of functions is changed to match their purpose
  (tests aren't executed by the test suite, they only get defined
  for later execution)
- unused methods get removed (TestSuite.skipUnsupportedTest is redundant)
2019-02-15 11:01:05 +01:00
Patrick Ohly
1cb121d2a9 e2e/storage: introduce TestVolume interface
This increases type safety and makes the code easier to read because
it becomes obvious that the "test resource" passed to some functions
must be the result of a previous CreateVolume.

This makes it possible to remove:
- functions that never did anything (the DeleteVolume methods in
  drivers that never create a volume)
- type casts (in the DeleteVolume implementation)
- the unused DeleteVolume parameters
- the stand-alone DeleteVolume function (which would be just a non-nil
  check)

GetPersistentVolumeSource and GetVolumeSource could also become
methods on more specific interfaces - they don't actually use anything
from TestDriver instance which provides them.

The main motivation however is to reduce the number of methods which
might need an explicit test config parameter.
2019-02-15 08:38:54 +01:00
Jose A. Rivera
6115fc49a6 Use cluster-driver-registrar for CSIDriverRegistry tests
Signed-off-by: Jose A. Rivera <jarrpa@redhat.com>
2019-02-13 15:06:58 -06:00
Patrick Ohly
ecc0c4e4b4 e2e/storage: enable concurrent writes for gcepd
The driver should support multiple pods using the same volume on the
same node.
2019-02-12 09:21:50 +01:00
Patrick Ohly
03d352f7aa e2e/storage: test usage of volume in multiple pods at once
This is a special case that both kubelet and the volume driver should
support, because users might expect it. One Kubernetes mechanism to
deploy pods like this is via pod affinity.

However, strictly speaking the CSI spec does not allow this usage
mode (see https://github.com/container-storage-interface/spec/pull/150) and
there is an on-going debate to enable it (see
https://github.com/container-storage-interface/spec/issues/178). Therefore
this test gets skipped unless explicitly enabled for a driver.

CSI drivers which create a block device for a remote volume in
NodePublishVolume fail this test. They have to make the volume
available in NodeStageVolume and then in NodePublishVolume merely do a
bind mount (as for example in
https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/blob/master/pkg/gce-pd-csi-driver/node.go#L150).
2019-02-12 09:21:50 +01:00
Kubernetes Prow Robot
8f7ccf8d4c Merge pull request #69036 from wackxu/snapshottest
add e2e test for snapshot
2019-02-08 13:14:04 -08:00
Kubernetes Prow Robot
eac19a3ab9 Merge pull request #73616 from dims/move-part-of-kubelet-apis-well-known-lables
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
2019-02-07 19:44:34 -08:00
Yecheng Fu
aa87e4b57c Implement localDriver 2019-02-06 12:28:28 +08:00
Davanum Srinivas
b975573385 move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
Co-Authored-By: Weibin Lin <linweibin1@huawei.com>

Change-Id: I163b2f2833e6b8767f72e2c815dcacd0f4e504ea
2019-02-05 13:39:07 -05:00
xushiwei
7280fcef5c address reviewer comments 2019-02-01 16:34:16 +08:00
xushiwei
3410d435ed add snapshot e2e 2019-01-30 19:04:45 +08:00
Masaki Kimura
b152d435ae Update fsType parameter for csi v1.0 provisioner 2019-01-23 05:26:55 +00:00
Masaki Kimura
30ad1028eb Move xfs test skip logic from driver to testsuites 2019-01-23 05:17:06 +00:00
Masaki Kimura
398bf3929f Skip XFS test for csi gce-pd driver on COS 2019-01-23 05:15:24 +00:00
Masaki Kimura
b767dbdeb5 Fix volumes e2e test to check fsType 2019-01-23 05:12:37 +00:00