Commit Graph

329 Commits

Author SHA1 Message Date
Stephen Kitt
3f36c83c68 Switch to stretchr/testify / mockery for mocks
testify is used throughout the codebase; this switches mocks from
gomock to testify with the help of mockery for code generation.

Handlers and mocks in test/utils/oidc are moved to a new package:
mockery operates package by package, and requires packages to build
correctly; test/utils/oidc/testserver.go relies on the mocks and fails
to build when they are removed. Moving the interface and mocks to a
different package allows mockery to process that package without
having to build testserver.go.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2024-06-20 19:42:53 +02:00
Kubernetes Prow Robot
aeed1d0e1a Merge pull request #124842 from carlory/honor-pv-reclaim-policy-e2e
Promote HonorPVReclaimPolicy to beta and enable it by default
2024-06-19 13:26:41 -07:00
carlory
4058178b8c Promote HonorPVReclaimPolicy to beta and enable it by default 2024-06-19 13:51:37 +08:00
Connor Catlett
ea58abfd99 Add Happy Path VolumeAttributesClass CSI E2E Tests
Signed-off-by: Connor Catlett <conncatl@amazon.com>
2024-06-10 20:03:54 +00:00
Humble Chirammal
35d358b53d Update mock for ModifyVolume controller function support
Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2024-05-28 17:58:46 +05:30
Humble Chirammal
d8458293d2 add controllerModifyVolume test function
Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2024-05-27 19:57:54 +05:30
Kubernetes Prow Robot
59ba132f16 Merge pull request #124544 from carlory/remove-cephfs
remove the support for in-tree volume plugin cephfs
2024-05-13 14:09:52 -07:00
Kubernetes Prow Robot
c7c4039093 Merge pull request #123151 from carlory/honor-pv-reclaim-policy-e2e
add e2e test for HonorPVReclaimPolicy
2024-05-13 00:51:28 -07:00
carlory
6795820cfa remove the support for in-tree volume plugin cephfs 2024-05-10 15:00:26 +08:00
carlory
c8e91b9bc2 CephRBD volume plugin ( ) and its csi migration support were removed in this release 2024-05-09 22:55:34 +08:00
carlory
522c06b542 add e2e test for HonorPVReclaimPolicy 2024-05-09 01:19:45 +08:00
Stephen Kitt
6bf667af06 Switch from golang/mock to uber-go/mock
See https://github.com/golang/mock#gomock: golang/mock is no longer
maintained, and should be replaced by go.uber.org/mock.

This allows golang/mock to be dropped from the status and vendored
fields in unwanted-dependencies.json.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2024-03-07 09:12:16 +01:00
Tim Hockin
b725fd20c2 Fix update/verify-mocks.sh
There appears to be a bug in `go generate` for workspaces which will be
fixed in the 1.22.1 release.
2024-02-29 22:06:00 -08:00
Davanum Srinivas
aaa9b6ebd7 Fix NFS related issues on GCP/Ubuntu
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-02-21 21:36:54 -05:00
carlory
31c86e38ac Update in-tree azureDisk and azureFile tests 2024-02-04 18:29:02 +08:00
Jan Safranek
67926c3777 Update in-tree vSphere tests
Don't implement interfaces that trigger tests with in-line and
pre-provisioned vSphere volumes.

With cloud provider removal, the in-tree vSphere tests won't be able to
create a volume in vSphere and thus test in-line volumes in Pods and
pre-provisioned PVs. Only dynamically provisioned volumes can be used for
testing, because they're provisioned by the vSphere CSI driver.
2024-01-31 10:12:20 +01:00
Davanum Srinivas
65d67101e7 Drop vsphere cloud provider
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-01-23 19:57:01 -05:00
Kubernetes Prow Robot
f49d2950cb Merge pull request #121259 from borg-land/skip-deploying-gce-pd-csi
Skip deploying gce-pd csi driver if it is already installed
2023-12-14 23:22:33 +01:00
Patrick Ohly
27afb7d75d e2e storage: use framework to tag tests
This makes it possible to select tests through `ginkgo --label-filter`
also for the custom labels.
2023-10-23 17:32:06 +02:00
upodroid
e69a960792 skip deploying csi driver if it is already installed 2023-10-16 12:32:27 +01:00
Fabio Bertinatto
eb109e3948 e2e: bootstrap vsphere tests earlier 2023-09-21 16:19:37 -03:00
Jan Safranek
75cf25c0e7 iscsi: use dbus from the host
When running iscsi test, use dbus socket from the host. targetcli uses the
socket for synchronization.

Recent Fedoras can run dbus only via systemd, which is cumbersome here.
2023-06-12 15:45:19 +02:00
Humble Chirammal
36f0caf7ec remove GlusterFS references from test/e2e/* comments/descriptions
Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-05-17 17:40:28 +05:30
Hemant Kumar
901dea7307 Fix azure disk e2e after migration 2023-04-11 15:02:25 -04:00
zhucan
80ff4b90a5 e2e: test for node expand volume with secrets failed
Signed-off-by: zhucan <zhucan.k8s@gmail.com>
2023-03-14 21:12:31 +08:00
Kubernetes Prow Robot
6612af0af0 Merge pull request #110304 from RomanBednar/resize-e2e
add e2e test for correct resizing of a snaphot restore
2023-03-13 22:27:08 -07:00
Kubernetes Prow Robot
499a03d88b Merge pull request #115451 from zhucan/nodeexpandvolume-secret-e2e
e2e: add e2e test to node expand volume with secret
2023-03-08 07:53:12 -08:00
zhucan
7a87b4363b e2e: add e2e test to node expand volume with secret
Signed-off-by: zhucan <zhucan.k8s@gmail.com>
2023-03-08 10:27:50 +08:00
torredil
6aebda9b1e Remove AWS legacy cloud provider + EBS in-tree storage plugin
Signed-off-by: torredil <torredil@amazon.com>
2023-03-06 14:01:15 +00:00
Roman Bednar
7484c69a16 add e2e test for snapshot restore resizing 2023-02-27 10:47:02 +01:00
Jan Safranek
ba099644b2 Remove global framework variable
`f framework.Framework` does not need to be global, it's used only on a few
places.

This fixes vSphereDriver.PrepareTest() in in_tree.go that schedules
ginkgo.DeferCleanup() that uses the global `f` variable, but its value is not
valid at the time of ginkgo cleanup.
2023-02-20 11:00:12 +01:00
Patrick Ohly
136f89dfc5 e2e: use error wrapping with %w
The recently introduced failure handling in ExpectNoError depends on error
wrapping: if an error prefix gets added with `fmt.Errorf("foo: %v", err)`, then
ExpectNoError cannot detect that the root cause is an assertion failure and
then will add another useless "unexpected error" prefix and will not dump the
additional failure information (currently the backtrace inside the E2E
framework).

Instead of manually deciding on a case-by-case basis where %w is needed, all
error wrapping was updated automatically with

    sed -i "s/fmt.Errorf\(.*\): '*\(%s\|%v\)'*\",\(.* err)\)/fmt.Errorf\1: %w\",\3/" $(git grep -l 'fmt.Errorf' test/e2e*)

This may be unnecessary in some cases, but it's not wrong.
2023-02-06 15:39:13 +01:00
Antonio Ojea
7f5ae1c0c1 Revert "e2e: wait for pods with gomega" 2023-02-06 12:08:22 +01:00
Patrick Ohly
222f655062 e2e: use error wrapping with %w
The recently introduced failure handling in ExpectNoError depends on error
wrapping: if an error prefix gets added with `fmt.Errorf("foo: %v", err)`, then
ExpectNoError cannot detect that the root cause is an assertion failure and
then will add another useless "unexpected error" prefix and will not dump the
additional failure information (currently the backtrace inside the E2E
framework).

Instead of manually deciding on a case-by-case basis where %w is needed, all
error wrapping was updated automatically with

    sed -i "s/fmt.Errorf\(.*\): '*\(%s\|%v\)'*\",\(.* err)\)/fmt.Errorf\1: %w\",\3/" $(git grep -l 'fmt.Errorf' test/e2e*)

This may be unnecessary in some cases, but it's not wrong.
2023-01-31 13:01:39 +01:00
Patrick Ohly
bc6c7fa912 logging: fix names of keys
The stricter checking with the upcoming logcheck v0.4.1 pointed out these names
which don't comply with our recommendations in
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#name-arguments.
2023-01-23 14:24:29 +01:00
Kubernetes Prow Robot
0d6dc14051 Merge pull request #114783 from pohly/e2e-framework-timeouts
e2e framework: consolidate timeouts and intervals
2023-01-12 03:29:08 -08:00
Hemant Kumar
58e7b97b49 Disable multiple pv mount tests for vsphere intree driver 2023-01-09 16:20:17 -05:00
Patrick Ohly
db394db398 e2e: move several timeouts from TestContext into TimeoutContext
This consolidates timeout handling. In the future, configuration of all
timeouts via a configuration file might get added. For now, the same three
legacy command line flags for the timeouts that get moved continue to be
supported.
2023-01-09 17:29:35 +01:00
Patrick Ohly
2f6c4f5eab e2e: use Ginkgo context
All code must use the context from Ginkgo when doing API calls or polling for a
change, otherwise the code would not return immediately when the test gets
aborted.
2022-12-16 20:14:04 +01:00
Hemant Kumar
3d33178dab Start adding e2e for recovery from expansion failure 2022-12-14 15:28:05 -05:00
Patrick Ohly
d4729008ef e2e: simplify test cleanup
ginkgo.DeferCleanup has multiple advantages:
- The cleanup operation can get registered if and only if needed.
- No need to return a cleanup function that the caller must invoke.
- Automatically determines whether a context is needed, which will
  simplify the introduction of context parameters.
- Ginkgo's timeline shows when it executes the cleanup operation.
2022-12-13 08:09:01 +01:00
Patrick Ohly
8c27313cfd e2e storage: don't panic when server stops
Now that everything is connected to a per-test context, the gRPC server might
encounter an error before it gets shut down normally. We must not panic in that
case because it would kill the entire Ginkgo worker process. This is not even
an error, so just log it as info message.
2022-12-12 11:30:07 +01:00
Jan Safranek
6005c3b512 Remove OpenStack cloud provider
And keep OpenStack Cinder CSI translation
2022-11-11 12:04:55 +01:00
Jan Safranek
5b284a50b7 Revert "Remove references to openstack and cinder"
This reverts commit 9bbf01bae9.
2022-11-10 18:25:30 +01:00
Jan Safranek
d6c36736d5 Add mock CSI driver test for SELinux mount 2022-11-08 13:37:09 +01:00
Kubernetes Prow Robot
fc866d87dc Merge pull request #113208 from soltysh/azure_timeouts
Set default test timeouts first, only then modify the required ones
2022-10-20 12:07:20 -07:00
Kubernetes Prow Robot
0a08757181 Merge pull request #113128 from pohly/e2e-storage-cleanup
e2e storage: cleanup with context
2022-10-20 10:29:00 -07:00
Maciej Szulik
24d30bf8b2 Set default test timeouts first, only then modify the required ones 2022-10-20 15:35:17 +02:00
Patrick Ohly
d8d3dc9476 e2e storage: eliminate explicit test driver cleanup
Cleanup can be handled inside the setup code with ginkgo.DeferCleanup. This
simplifies the code.
2022-10-20 13:56:59 +02:00
Jan Safranek
bda42b6b53 Add capability for tests with multiple PVs with the same VolumeHandle
Some CSI drivers do not like multiple PVs with the same VolumeHandle,
therefore make that tests optional.
2022-10-18 13:44:54 +02:00