Commit Graph

196 Commits

Author SHA1 Message Date
lala123912
165907f60a remove suffixes from generated StorageClasses and VolumeSnapshotClass 2020-12-14 16:48:41 +08: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
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
Kubernetes Prow Robot
198b2fdb14 Merge pull request #95739 from huffmanca/relax-csi-fsgroup-validation
Relax validation for CSIVolumeFSGroupPolicy and move to beta
2020-11-12 17:10:24 -08:00
Kubernetes Prow Robot
927d342aed Merge pull request #96294 from jingxu97/nov/windows-gcepd
Separate in-tree gcepd driver for windows
2020-11-12 16:02:52 -08:00
Christian Huffman
4d2d063635 Included e2e test for CSIDriver FSGroupPolicy 2020-11-12 16:30:38 -05:00
Shihang Zhang
d2859cd89b plumb service account token down to csi driver 2020-11-12 09:26:43 -08:00
Jing Xu
8c953c21ba Separate in-tree gcepd driver for windows
Add a separate in-tree gcepd driver for windows cluster because it does
not support certain features as Linux driver.

Change-Id: I2fca86b3f32f17db7703c46a36944d9ee51f355f
2020-11-11 17:07:00 -08:00
Tim Hockin
819ff9b087 Use topology labels instead of old beta names (#96033)
* Rename const for topology.../zone

* Rename const for topology.../region

* Rename const for failure-domain.../zone

* Rename const for failure-domain.../region

* Restore old names for compat
2020-11-05 20:26:50 -08:00
Kubernetes Prow Robot
0bb732842a Merge pull request #95971 from chrishenzie/e2e-stress-snapshots
Add E2E stress test suite for creation / deletion of VolumeSnapshot resources
2020-11-05 14:25:03 -08:00
Chris Henzie
fb6bc4f8b0 E2E stress test suite for VolumeSnapshots
Introduces a new test suite that creates and deletes many
VolumeSnapshots simultaneously to test snapshottable storage plugins
under load.
2020-11-05 08:58:13 -08:00
shahra
e95af138b5 Volume snapshot e2e test to validate
VolumeSnapshotContent and PVC finalizer
2020-11-04 14:08:24 -08:00
Kubernetes Prow Robot
d66695653c Merge pull request #95003 from jsafrane/cinder-delete-preprovisioned
Fail a test on pre-provisioned Cinder volume deletion error
2020-09-25 14:26:48 -07:00
Jan Safranek
c4e6572912 Remove ext2 + ext3 tests
Testing with the default FS (ext4) is IMO enough, ext2/ext3 does not add much
value. It's handled by the same kernel module anyway.

Leave ext2/ext3 only in GCE PD which is tested in kubernetes/kubernetes CI
jobs regularly to catch regressions.
2020-09-23 17:32:50 +02:00
Jan Safranek
76254d88a5 Fail test when Cinder volume deletion fails 2020-09-23 14:41:29 +02:00
Jan Safranek
b003187053 Add extra log when Cinder volume deletion fails
"cinder show <id>" output will help us to debug what's wrong with the
Cinder volume.
2020-09-23 14:41:10 +02:00
Jan Safranek
ead8707f3a Delete pre-provisioned Cinder volume by ID 2020-09-23 14:38:45 +02:00
Kubernetes Prow Robot
ac6447c76f Merge pull request #94318 from gnufied/fix-namespace-deletion
Prevent deletion  of namespace again
2020-09-10 10:46:03 -07:00
Hemant Kumar
c4ce420667 Prevent deletion of namespace again 2020-09-09 11:22:08 -04:00
Kubernetes Prow Robot
f6d169c7ca Merge pull request #93120 from msau42/e2e-export
Export WaitForCSIDriverRegistrationOnAllNodes
2020-08-28 06:34:53 -07:00
Jan Safranek
fea06a204c Reduce test volume sizes
To reduce costs and to increase speed. Formating 5GiB volume took too long
in a badly overloaded CI cluster.

All in-tree volume plugins support at least 1GiB volumes.
2020-08-12 14:00:30 +02:00
Kubernetes Prow Robot
da5ec168e7 Merge pull request #93618 from Jiawei0227/e2e-csi-mock-flaky
Fix flaky test: wait for mock CSI Driver bringup to perform e2e test
2020-08-10 15:41:59 -07:00
Jiawei Wang
76b4973b42 Wait for mock CSI Driver bringup to perform e2e test
In our current mock CSI driver e2e test, we are not waiting
for the CSI driver register successfully to perform test
including provision PVC. This can lead to timeout when the
csi driver takes longer to register the socket.

This change adds the waiting part so that the system will
wait for up to 10 minutes for the driver to be ready. This
normally won't take this long. However, under a resource
constraint environment it can take longer than expected time.

https://github.com/kubernetes/kubernetes/issues/93358
2020-08-10 11:03:35 -07:00
Hemant Kumar
20934d7e50 Create service for gluster endpoint
Creating an endpoint without a service can cause endpoint to disappear

https://github.com/kubernetes/kubernetes/issues/12964
2020-07-30 16:34:11 -04:00
Michelle Au
10a8c195a1 Export WaitForCSIDriverRegistrationOnAllNodes to be used by external csi driver repos
Change-Id: Ie61430b1050a778d8ba98177e0c995ff2553f9cd
2020-07-15 16:53:37 -07:00
Patrick Ohly
567ce87aee CSIStorageCapacity: E2E test with mock driver
We can create CSIStorageCapacity objects manually, therefore we don't
need the updated external-provisioner for these tests.
2020-07-08 08:02:26 +02:00
Kubernetes Prow Robot
1925eb81ac Merge pull request #91689 from gnufied/fix-after-suite-race
Ensure CleanupActionHandle always completes
2020-06-04 10:51:15 -07:00
Hemant Kumar
74be9f04fa Ensure CleanupActionHandle always completes
The way gingko handles interrupts is:
 - It starts running AfterSuite hooks in a separate goroutine (this includes cleanupAction hooks)
 - Once AfterSuite hook is done executing it calls
   os.Exit(1) on test suite.

So how cleanupFunc() that runs via defer in test can be interrupted
is:
 - cleanupFunc starts running via defer (or AfterEach hook) but first
   thing that function does is to remove cleanupHandle from
   framework.RemoveCleanupAction.
 - Test suite receives interrupt from user and AfterSuite block
   starts executing
 - remember that while cleanupFunc is running in goroutine#1,
   AfterSuite is running concurrently in goroutine#2.
 - AfterSuite hook has bunch of CleanupActions it needs to run which
   were registered via framework.AddCleanupAction(cleanupFunc) but
   once cleanupFunc starts executing via defer in the test, it will
   remove the cleanupHandle from framework's aftersuite hooks.
 - So if AfterSuite did not had anything to run (because
   those actions were removed via framework.RemoveCleanupAction
   then it will simply go to the last framework.AfterEach action and call os.Exit(1)
 - So if os.Exit(1) is called before cleanupFunc has a chance to finish in defer, it will not complete.
2020-06-02 12:40:32 -04:00
Christian Huffman
7a55d3978c Adjust Azure e2e binding mode 2020-06-01 14:55:46 -04:00
Kubernetes Prow Robot
bded41a817 Merge pull request #90689 from aojea/nfsv6
add ipv6 support to the e2e nfs tests
2020-05-21 03:30:36 -07:00
Hemant Kumar
da941d8d3e Create mock CSI driver resources in different namespace 2020-05-13 11:16:00 -04:00
Kubernetes Prow Robot
7f78048594 Merge pull request #90781 from msau42/increase-timeout
Increase timeout waiting for driver to start on nodes
2020-05-06 22:23:08 -07:00
Michelle Au
fc08f74157 Increase timeout waiting for driver to start on nodes to reduce test flakiness
Change-Id: Id553943e4473b387bf0ae14a18a90cb3a1bcd5c1
2020-05-05 18:10:10 -07:00
Antonio Ojea
26a00f9032 add ipv6 support to the e2e nfs tests
nfs mount command need to use the IP enclosed with square brackets
if is an IPv6 address
2020-05-03 11:06:10 +02:00
Kubernetes Prow Robot
07179d0207 Merge pull request #87998 from msau42/e2e-reattach-stress
Add stress test to repeatedly restart Pods with PVCs in parallel
2020-04-21 03:04:57 -07:00
Michelle Au
6596e20b18 Make stress test parameters configurable
Change-Id: Ia062f3433b6043825a51a54c7c07eb4cdf809631
2020-04-16 14:18:21 -07:00
Kubernetes Prow Robot
aa0665dfee Merge pull request #90147 from gnufied/use-random-node-zone-for-inline-e2e
Use random zone for inline volume e2e tests
2020-04-16 13:59:08 -07:00
Hemant Kumar
7d6712632c Use random zone for inline volume e2e tests 2020-04-14 23:37:21 -04:00
Patrick Ohly
f117849582 mock tests: ResourceExhausted error handling in external-provisioner
The mock driver gets instructed to return a ResourceExhausted error
for the first CreateVolume invocation via the storage class
parameters.

How this should be handled depends on the situation: for normal
volumes, we just want external-scheduler to retry. For late binding,
we want to reschedule the pod. It also depends on topology support.
2020-04-07 13:09:31 +02:00
Jan Safranek
a4f080861f Test NodeStage error cases
Especially related to "uncertain" global mounts. A large refactoring of CSI
mock tests were necessary:
- to be able to script the driver to return errors as required by the test
- to parse the CSI driver logs to check kubelet called the right CSI calls
2020-04-06 15:03:22 +02:00
drfish
dfab6b637f Update .import-aliases for e2e test framework 2020-03-25 11:40:02 +08:00
Christian Huffman
c6fd25d100 Updated CSIDriver references 2020-03-06 08:21:26 -05:00
Mike Danese
aaf855c1e6 deref all calls to metav1.NewDeleteOptions that are passed to clients.
This is gross but because NewDeleteOptions is used by various parts of
storage that still pass around pointers, the return type can't be
changed without significant refactoring within the apiserver. I think
this would be good to cleanup, but I want to minimize apiserver side
changes as much as possible in the client signature refactor.
2020-03-05 14:59:46 -08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -08:00
Yu-Ju Hong
bcd975aa65 Replace Beta OS/arch labels with the GA ones
Beta OS/arch labels have been deprecated since 1.14.
This change replaces these labels with the GA ones.
2020-02-13 09:38:51 -08:00
Michelle Au
d9184b75c9 Convert volume.TestConfig to use NodeSelection
Change-Id: I6adbb53b65e4a4f7e220fc0d91a26dc6bc135c36
2020-02-11 21:13:42 -08: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