Commit Graph

688 Commits

Author SHA1 Message Date
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
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
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
Kubernetes Prow Robot
bf4e93da57 Merge pull request #75067 from msau42/csi-beta-e2e
make CSI PD tests serial
2019-03-07 02:23:12 -08:00
Kubernetes Prow Robot
6dbe98980f Merge pull request #74909 from NetApp/csi-raw-block-to-beta2
Promote CSI raw blocks to beta
2019-03-06 22:55:46 -08:00
Michelle Au
8b97e2ab7c make CSI PD tests serial 2019-03-06 15:11:50 -08:00
Patrick Ohly
6644db9914 e2e/storage: testing of external storage drivers
It is useful to apply the storage testsuite also to "external" (=
out-of-tree) storage drivers. One way of doing that is setting up a
custom E2E test suite, but that's still quite a bit of work.

An easier alternative is to parameterize the Kubernetes e2e.test
binary at runtime so that it instantiates the testsuite for one or
more drivers. Some parameters have to be provided before starting the
test because they define configuration and capabilities of the driver
and its storage backend that cannot be discovered at runtime. This is
done by populating the DriverDefinition with the content of the file
that the new -storage.testdriver parameters points to.

The universal .yaml and .json decoder from Kubernetes is used. It's
flexible, but has some downsides:
- currently ignores unknown fields (see https://github.com/kubernetes/kubernetes/pull/71589)
- poor error messages when fields have the wrong type

Storage drivers have to be installed in the test cluster before
starting e2e.test. Only tests involving dynamically provisioned
volumes are currently supported.
2019-03-06 22:06:31 +01:00
Ben Swartzlander
1493e684d3 Promote CSI raw blocks to beta 2019-03-06 13:43:52 -05:00
Kubernetes Prow Robot
c4fd78e7c9 Merge pull request #74993 from msau42/csi-beta-e2e
e2e test updates for CSIDriver and CSINode beta
2019-03-06 08:24:38 -08:00
Kubernetes Prow Robot
d99979f8b5 Merge pull request #75015 from cofyc/fix73168-disable-temporarily
Disable "should set different fsGroup for second pod if first pod is deleted" temporarily
2019-03-06 04:46:10 -08:00
Michelle Au
afbc8a5056 e2e test updates for beta 2019-03-05 20:24:59 -08:00
Yecheng Fu
05fe7094d5 Disable "should set different fsGroup for second pod if first pod is deleted" test temporarily 2019-03-06 10:46:17 +08:00
Michelle Au
b90ef213af don't check for container status ready in subpath test 2019-03-05 18:31: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
Kubernetes Prow Robot
6c31101257 Merge pull request #74283 from xing-yang/csi_crd_controller
CSINodeInfo and CSIDriver Controller Changes
2019-03-05 04:44:42 -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
Yecheng Fu
a81b351670 Update persistent_volumes-local.go to use utils.HostExec/utils.LocalTestResourceManager.
This simplifies the code and makes it more maintainable.
2019-03-02 20:38:20 +08:00
Kubernetes Prow Robot
7955a2865c Merge pull request #74764 from msau42/fix-repd-e2e
bump repd min size in e2es
2019-03-01 14:09:19 -08:00
Kubernetes Prow Robot
646145f578 Merge pull request #74125 from tuanvcw/fixing_typo
Fix many typos in both code and comments
2019-03-01 14:08:45 -08:00
Michelle Au
4a5a34b42c bump repd min size in e2es 2019-02-28 18:35:34 -08:00
Kubernetes Prow Robot
ba34591627 Merge pull request #74716 from cofyc/fix73559
Add new e2e test for local PV "Pods sharing a single local PV [Serial]"
2019-02-28 16:07:09 -08:00
Kubernetes Prow Robot
2235a7e9a2 Merge pull request #74554 from mkimuram/issue/74380
Fix resource leaking PDs for volume mode test
2019-02-28 11:51:36 -08:00
Yecheng Fu
1bfd3838e2 Add new e2e test for local PV "Pods sharing a single local PV [Serial]" 2019-02-28 17:22:23 +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
Masaki Kimura
c5155f81a0 Fix resource leaking PDs for volume mode test
fixes #74380
2019-02-27 18:48:34 +00:00
Vu Cong Tuan
c747b7f38d Fix many typos in both code and comments
Signed-off-by: Vu Cong Tuan <tuanvc@vn.fujitsu.com>
2019-02-27 14:41:02 +07: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
Kubernetes Prow Robot
8993fbc543 Merge pull request #74328 from daixiang0/delete-blank
delete all duplicate empty blanks
2019-02-23 01:43:58 -08:00
Xiang Dai
36065c6dd7 delete all duplicate empty blanks
Signed-off-by: Xiang Dai <764524258@qq.com>
2019-02-23 10:28:04 +08:00
Michelle Au
6266c47972 Fix localssd test panic 2019-02-22 17:06:11 -08:00
Yecheng Fu
5c67d55002 Use same fsGroup for both pods until we have a reliable way to detect
volumes are unmounted or not
2019-02-21 15:56:35 +08:00
Hemant Kumar
abf8df7543 clean up duplication 2019-02-20 15:43:12 -05:00
Kubernetes Prow Robot
21e3c15dfe Merge pull request #72732 from sandeeppsunny/vsphere_volume_zone
Added e2e tests for multi-zone volume provisioning through VCP
2019-02-20 09:01:27 -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
Kubernetes Prow Robot
9e55995a31 Merge pull request #73989 from oomichi/golint-e2e-framework-metrics
Fix golint failures under test/e2e/framework/metrics
2019-02-19 16:23:48 -08:00
Kubernetes Prow Robot
e67562dc4c Merge pull request #74143 from oomichi/issue/73771
Call getRandomClusterZone() only if necessary
2019-02-19 09:55:55 -08:00
Sandeep Sunny
5b59c6e08c Added e2e tests for multi-zone volume provisioning 2019-02-19 18:44:20 +05:30
Kubernetes Prow Robot
f7eb5769c2 Merge pull request #71468 from bclau/windows-tests
Windows networking tests
2019-02-18 06:24:24 -08:00
Kubernetes Prow Robot
07a5488b2a Merge pull request #74141 from zetaab/fixtest
disable xfs localvolume test
2019-02-16 00:29:57 -08:00
Kubernetes Prow Robot
95c3cbaf9f Merge pull request #74094 from gnufied/fix-multizone-test-resizing
Use delayed binding for multizone tests
2019-02-15 20:35:51 -08:00
Hemant Kumar
abb2fc656d Use delayed binding for multizone tests 2019-02-15 15:57:21 -05:00
Kenichi Omichi
a01381a7d2 Call getRandomClusterZone() only if necessary
e2e test "[It] should provision storage with different parameters"
depends on cloud providers as gce/gke, aws, openstack, vsphere and
azure. If the other cloud providers like local, the test is skipped.
However getRandomClusterZone() was called before the above cloud
provider check, and if the zone label is not found the test was failed.
This makes the test call getRandomClusterZone() only if necessary
to avoid such unnecessary failures.

Fixes: #73771
2019-02-15 20:07:11 +00:00
Jesse Haka
c75b0bf8ca disable xfs localvolume test 2019-02-15 21:31:25 +02:00
Patrick Ohly
ec3655a1d4 e2e/storage: re-initialize all local variables
There is a risk that the init function does not reset one of the local
variables that was set by a previous test. To avoid this, all
variables set by init are now in a struct which gets cleaned
completely first.
2019-02-15 11:03:28 +01:00
Patrick Ohly
e79cd9efe1 e2e: update bazel BUILD files
Generated via hack/update-bazel.sh.
2019-02-15 11:01:09 +01:00
Patrick Ohly
4643624084 e2e/storage: remove test pattern filtering
The recommended approach for not running unsuitable tests is to skip
them at runtime with an explanation. Filtering out unsuitable test
patters and thus not even defining unsuitable tests was done earlier
because it was faster than skipping tests at runtime.

But now these tests can be skipped efficiently, so this special case
can be removed.
2019-02-15 11:01:08 +01: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