Commit Graph

429 Commits

Author SHA1 Message Date
Cheng Xing
23509a0852 Remove feature gate check when skipping OnRootMismatch fsgroupchangepolicy tests 2021-11-15 14:32:57 -08:00
Cheng Xing
4836fd1510 Skip OnRootMismatch tests if the CSI driver supports VOLUME_MOUNT_GROUP. 2021-11-12 18:27:22 -08:00
Kubernetes Prow Robot
a2960dc277 Merge pull request #106120 from jsafrane/fix-test-name
Fix ephemeral test description
2021-11-03 09:11:25 -07:00
Jan Safranek
f0bc04f169 Fix ephemeral test description
It looks like it tests two pods sharing the same volume, but the goal is
actually the opposite - two pods with the same inline volume definition
should get separate volumes.
2021-11-03 14:26:08 +01:00
Tim Hockin
11a25bfeb6 De-share the Handler struct in core API (#105979)
* De-share the Handler struct in core API

An upcoming PR adds a handler that only applies on one of these paths.
Having fields that don't work seems bad.

This never should have been shared.  Lifecycle hooks are like a "write"
while probes are more like a "read". HTTPGet and TCPSocket don't really
make sense as lifecycle hooks (but I can't take that back). When we add
gRPC, it is EXPLICITLY a health check (defined by gRPC) not an arbitrary
RPC - so a probe makes sense but a hook does not.

In the future I can also see adding lifecycle hooks that don't make
sense as probes.  E.g. 'sleep' is a common lifecycle request. The only
option is `exec`, which requires having a sleep binary in your image.

* Run update scripts
2021-10-29 13:15:11 -07:00
Kubernetes Prow Robot
c592bd40f2 Merge pull request #105609 from pohly/generic-ephemeral-volume-ga
generic ephemeral volume GA
2021-10-28 17:36:50 -07:00
Kubernetes Prow Robot
7fbb384e15 Merge pull request #105682 from pohly/generic-ephemeral-volume-raw-block
storage validation: accept generic ephemeral volumes as volume device
2021-10-22 18:04:50 -07:00
Patrick Ohly
c0bdf14942 storage e2e: refactor snapshottable
During PR review it was pointed out that the branches for ephemeral
vs. persistent make the test harder to read. Therefore all code that depends on
if checks gets moved into two different versions of the test, one hat runs for
ephemeral volumes and one for persistent volumes, with skip statements at the
beginning.
2021-10-20 12:40:58 +02:00
Patrick Ohly
5462d97e62 storage e2e: test snapshotting of generic ephemeral volumes
Conceptually, snapshots have to be taken while the pod and thus the volume
exist. Snapshotting has an issue where flushing of data is not guaranteed while
the volume is still staged on the node, so the test relied on deleting the pod
and checking for the volume to be unused. That part of the test cannot be done
for ephmeral volumes.
2021-10-19 14:01:21 +02:00
Patrick Ohly
4568cdada2 storage e2e: test volume attach limits of generic ephemeral volumes
There are unit tests for this particular code path in kube-scheduler, but no
E2E tests.
2021-10-19 14:01:20 +02:00
Patrick Ohly
a90a3c6a9c storage e2e: check raw block support for generic ephemeral volumes
This adds a new test pattern and uses it for the inline volume tests. Because
the kind of volume now varies more, validation of the mount or block device is
always done by the caller of TestEphemeral.
2021-10-19 13:30:32 +02:00
Patrick Ohly
a8c930ef46 generic ephemeral volume: graduation to GA
The feature gate gets locked to "true", with the goal to remove it in two
releases.

All code now can assume that the feature is enabled. Tests for "feature
disabled" are no longer needed and get removed.

Some code wasn't using the new helper functions yet. That gets changed while
touching those lines.
2021-10-11 20:54:20 +02:00
Kubernetes Prow Robot
4af19756bd Merge pull request #105217 from dbgoytia/refactor/102787-enable-block-tests
Refactoring TestConcurrentAccessToRelatedVolumes for enabling Block Volume tests
2021-10-05 14:18:57 -07:00
Kubernetes Prow Robot
32fefd5580 Merge pull request #105048 from mauriciopoppe/fix-double-storage-class-setup
Remove a duplicate StorageClass creation call
2021-09-28 23:36:48 -07:00
Diego Goytia
de969ae2bf Testing GenerateReadBlockCmd for enabling block volume tests. 2021-09-24 18:50:21 +00:00
Mauricio Poppe
144e6432cf Remove a duplicate StorageClass creation call
The issue on both tests is that before the refactor we had a method that
was creating the `StorageClass` manifest only, this manifest was used
later to be created by `TestBindingWaitForFirstConsumerMultiPVC`, after
the refactor we're ensuring that the `StorageClass` exists as a resource
before calling `TestBindingWaitForFirstConsumerMultiPVC` however this
method is still attempting to create it, that's the reason behind the
error: `resourceVersion should not be set on objects to be created

This issue wasn't caught before because
`TestBindingWaitForFirstConsumerMultiPVC` is creating the StorageClass
without the common utility function, the solution is to remove the
snippet that attempts to create the StorageClass againo
2021-09-15 19:09:35 +00:00
Patrick Ohly
468acb7418 e2e: enable generic ephemeral inline volume also for in-tree drivers
Previously, the ephemeral volume test suite was only enabled for CSI
drivers. By splitting the test patterns into those that work for all drivers
and the one for CSI ephemeral inline volumes it becomes possible to
define the former for all drivers and the latter only for CSI.

This increases test coverage, in particular also for migration to
CSI (https://testgrid.k8s.io/provider-gcp-compute-persistent-disk-csi-driver#Migration%20Kubernetes%20Master%20Driver%20Latest).
2021-09-09 09:59:39 +02:00
Kubernetes Prow Robot
5aea99b0a2 Merge pull request #104634 from Jiawei0227/snapshotorder
storege e2etest: Delete restored PVC/Pod in snapshottable
2021-08-30 14:25:13 -07:00
Jiawei Wang
273ac5a594 storege e2etest: Delete restored PVC/Pod in snapshottable 2021-08-27 13:53:25 -07:00
Emilio Garcia
a7b341b052 Remove Error Message Check Dynamic PV Tests
Different CSI drivers have different error messages, making it difficult
to check them accurately. We remove the check for the error message and
only check the failure type instead, since that is all we need.
2021-08-25 14:08:23 -04:00
Jing Xu
f1e1f3a416 Fix disruptive subPath test failures
This PR fixes two distruptive subpath test failures.

1. disable --check-volume-lifecycle check
2. skip hostpath driver tests on graceful pod deletion test too.

See details in
https://github.com/kubernetes/kubernetes/issues/103651#issuecomment-887227562

Change-Id: Ibecd051be865feea5f2a92d22ade848367400939
2021-07-27 02:17:31 -07:00
Jing Xu
33feaee2c2 Fix windows storage tests
1. fix command empty issue for some Windows storage tests
2. enable more windows storage tests by adding ntfs test patten

Change-Id: Ic33be282d669a23107474a14d4368bbf95c9b459
2021-07-20 22:40:20 -07:00
Kubernetes Prow Robot
a331cf74b7 Merge pull request #102050 from pohly/fix/deflake-metrics-proxy
remove metrics proxy
2021-07-02 12:30:10 -07:00
Kubernetes Prow Robot
164ce31e7f Merge pull request #103074 from wongma7/volumelimitsmigration
Disable deprecated volume limits test when CSI migration enabled and replace with CSI-specific test
2021-06-24 05:41:53 -07:00
Matthew Wong
cd318aec0b Disable deprecated volume limits test when migration enabled and replace with CSI-specific test 2021-06-22 11:31:00 -07:00
Mauricio Poppe
7aa8a497df replaced usage of powershell commands with linux commands 2021-06-22 18:27:55 +00:00
Mauricio Poppe
f0d7e9c9d1 undo windows compatibility changes because the linux commands work 2021-06-22 18:27:54 +00:00
Mauricio Poppe
9a146bc3e9 Remove [LinuxOnly] string from ginkgo tests 2021-06-22 18:27:54 +00:00
Mauricio Poppe
54070a6628 Enable another test in windows, use a /bin/sh command instead of a PS one 2021-06-22 18:27:53 +00:00
Mauricio Poppe
ee34cd640a enable gcpdcsi multivolume tests with windows nodes 2021-06-22 18:27:50 +00:00
Kubernetes Prow Robot
33c4383985 Merge pull request #102657 from pohly/subpath-test-flake
storage e2e: extend timeouts for subpath restart tests
2021-06-18 12:12:05 -07:00
Kubernetes Prow Robot
cda98f20b2 Merge pull request #102918 from jsafrane/cloning-topology
Run volume cloning tests in the same topology segment
2021-06-16 12:48:32 -07:00
Jan Safranek
057422504a Run volume cloning tests in the same topology segment
Some CSI drivers can't clone a volume into other topology segment (e.g. a
cloud availability zone). The scheduler does not know about these
restrictions and schedules pods with PVCs that clone a volume mostly
randomly.

Run all volume cloning tests in the same topology segment, if such segment
is available and has at least one schedulable node.
2021-06-16 15:41:33 +02:00
Patrick Ohly
5e9076da93 e2e: grab controller and scheduler metrics via port forwarding
The previous approach with grabbing via a nginx proxy had some
drawbacks:
- it did not work when the pods only listened on localhost (as
  configured by kubeadm) and the proxy got deployed on a different
  node
- starting the proxy raced with starting the pods, causing
  sporadic test failures because the proxy was not set up
  properly unless it saw all pods when starting the e2e.test
- the proxy was always started, whether it is needed or not
- the proxy was left running after a test and then the next
  test run triggered potentially confusing messages when
  it failed to create objects for the proxy

The new approach is similar to "kubectl port-forward" + "kubectl get
--raw". It uses the port forwarding feature to establish a TCP
connection via a custom dialer, then lets client-go handle TLS and
credentials.

Somehow verifying the server certificate did not work. As this
shouldn't be a big concern for E2E testing, certificate checking gets
disabled on the client side instead of investigating this further.
2021-06-16 12:02:40 +02:00
Jan Safranek
3e0269ce6e Move common code to ensureTopologyRequirements
Every call to ensureTopologyRequirements has the same setup + checks.
Therefore move this common code into the call to reduce redundancy.
2021-06-16 11:24:29 +02:00
Jing Xu
8fb909291f Skip migrated metrics for Windows CSI tests
The Windows CSI migration test are failing due to issue https://github.com/kubernetes/kubernetes/issues/102893

Change-Id: I8c4c1b376a915f1a0982a9be5e35960886cc77bf
2021-06-15 15:21:35 -07:00
Jan Safranek
29aa4c0ee8 Check content of volumes in snapshot/clone multivolume tests
Check that both original and its restored snapshot / clone have the same
content during the test.
2021-06-10 14:22:00 +02:00
Jan Safranek
68f139548b Remove unused parameters from TestConcurrentAccessToRelatedVolumes 2021-06-10 10:41:47 +02:00
Kubernetes Prow Robot
cc7721362c Merge pull request #102665 from gnufied/add-online-expansion-cap
Add explicit capability for online volume expansion
2021-06-08 08:33:36 -07:00
Hemant Kumar
95c8b02096 Add explicit capability for online volume expansion 2021-06-07 13:43:18 -04:00
Jan Safranek
28511e82ad Add e2e test for a volume + its clone used on the same node
CSI driver need to pass special mount opts to XFS filesystem to be able to
mount a volume + its clone or its restored snapshot on the same node. Add a
test to exhibit this behavior.

The test is optional for now, giving CSI drivers time to fix it.
2021-06-07 18:29:47 +02:00
Patrick Ohly
2067b69b92 storage e2e: extend timeouts for subpath restart tests
These tests have been flaky for a long time, with a relatively low
rate of flakes. Nonetheless it seems better to extend the timeouts to
reduce the flakiness.
2021-06-07 11:39:17 +02:00
Christian Huffman
79ce0632fd Corrects node wait to search for volumeHandle 2021-05-24 15:28:34 -04:00
Grant Griffiths
564e531aa7 Add Snapshot Controller e2e metric tests
Signed-off-by: Grant Griffiths <ggriffiths@purestorage.com>
2021-05-20 23:29:23 -07:00
Masaki Kimura
382f37142c storage e2e: auto detect sector size 2021-05-11 22:32:05 +00:00
Kubernetes Prow Robot
2f6d79ca88 Merge pull request #100548 from mauriciopoppe/ephemeral-storage-e2e-windows
Make ephemeral volume tests work with Windows nodes
2021-04-22 17:44:01 -07:00
Kubernetes Prow Robot
82d8d08c78 Merge pull request #101280 from huffmanca/address-snapshotting-flakes
Force NodeUnstageVolume to finish for all distros
2021-04-22 02:32:31 -07:00
Kubernetes Prow Robot
1f87e3fe00 Merge pull request #101347 from verult/subpath-configmap-timeout
Extend pod start timeout to 5min for storage subpath configmap test
2021-04-21 21:12:46 -07:00
Cheng Xing
4cfb6e2c23 Extend pod start timeout to 5min for storage subpath configmap test 2021-04-21 17:24:09 -07:00
Christian Huffman
21ea9af37f Force NodeUnstageVolume to finish for all distros 2021-04-21 15:01:41 -04:00