Commit Graph

76 Commits

Author SHA1 Message Date
Patrick Ohly
f2cfbf44b1 e2e: use framework labels
This changes the text registration so that tags for which the framework has a
dedicated API (features, feature gates, slow, serial, etc.) those APIs are
used.

Arbitrary, custom tags are still left in place for now.
2023-11-01 15:17:34 +01:00
Kubernetes Prow Robot
0a36bcd11d
Merge pull request #121346 from carlory/fix-120840
fix volume conformance e2e test break other test
2023-10-27 17:43:07 +02:00
carlory
77dfd63d1d fix volume conformance e2e test break other test 2023-10-27 17:05:52 +08:00
Stephen Heywood
2e8f66afb3 Promote PV/PVC status e2e test to Conformance 2023-10-17 09:40:20 +13:00
Stephen Heywood
b548bbb8cf When reading pvc status allow bound to be a valid value 2023-10-16 10:20:26 +13:00
Stephen Heywood
00ae26cda8 Create e2e test for PV/PVC status endpoints
e2e test validates the following 6 endpoints
- patchCoreV1PersistentVolumeStatus
- readCoreV1PersistentVolumeStatus
- replaceCoreV1PersistentVolumeStatus
- patchCoreV1NamespacedPersistentVolumeClaimStatus
- readCoreV1NamespacedPersistentVolumeClaimStatus
- replaceCoreV1NamespacedPersistentVolumeClaimStatus
2023-10-10 09:38:16 +13:00
Kubernetes Prow Robot
50578c4b58
Merge pull request #119902 from RomanBednar/pv-phase-transition-time-e2e
e2e: add test for verification of timestamp for new PVs
2023-09-13 03:00:11 -07:00
Stephen Heywood
41b62c4dd7 Promote PV/PVC e2e test to Conformance 2023-09-11 10:25:07 +12:00
Kubernetes Prow Robot
f3d0392e07
Merge pull request #119695 from ii/create-pv-pvc-lifecycle-test
Write e2e test for PersistentVolume & PersistentVolumeClaim Endpoints + 13 Endpoints
2023-08-28 13:27:20 -07:00
Roman Bednar
dd7b7073c3 e2e: add test for verification of timestamp for new PVs 2023-08-11 11:39:47 +02:00
Roman Bednar
8e66149870 e2e: remove extra spaces 2023-08-11 11:28:11 +02:00
Stephen Heywood
74053e2151 Create e2e test for PV/PVC endpoints
e2e test validates the following 15 endpoints
- createCoreV1NamespacedPersistentVolumeClaim
- createCoreV1PersistentVolume
- deleteCoreV1CollectionNamespacedPersistentVolumeClaim
- deleteCoreV1CollectionPersistentVolume
- deleteCoreV1NamespacedPersistentVolumeClaim
- deleteCoreV1PersistentVolume
- listCoreV1NamespacedPersistentVolumeClaim
- listCoreV1PersistentVolume
- listCoreV1PersistentVolumeClaimForAllNamespaces
- patchCoreV1NamespacedPersistentVolumeClaim
- patchCoreV1PersistentVolume
- readCoreV1NamespacedPersistentVolumeClaim
- readCoreV1PersistentVolume
- replaceCoreV1NamespacedPersistentVolumeClaim
- replaceCoreV1PersistentVolume
2023-08-09 09:12:42 +12:00
Roman Bednar
ae185e9118 e2e: test LastPhaseTransitionTime field when binding PV 2023-07-21 21:39:23 +02:00
Patrick Ohly
c903c29c3b e2e: support admissionapi.LevelRestricted in test/e2e/framwork/pod
CreatePod and MakePod only accepted an `isPrivileged` boolean, which made it
impossible to write tests using those helpers which work in a default
framework.Framework, because the default there is LevelRestricted.

The simple boolean gets replaced with admissionapi.Level. Passing
LevelRestricted does the same as calling e2epod.MixinRestrictedPodSecurity.

Instead of explicitly passing a constant to these modified helpers, most tests
get updated to pass f.NamespacePodSecurityLevel. This has the advantage
that if that level gets lowered in the future, tests only need to be updated in
one place.

In some cases, helpers taking client+namespace+timeouts parameters get replaced
with passing the Framework instance to get access to
f.NamespacePodSecurityEnforceLevel. These helpers don't need separate
parameters because in practice all they ever used where the values from the
Framework instance.
2023-07-03 16:26:28 +02:00
Stanislav Laznicka
7f532891c9
e2e tests: set all PSa labels instead of just enforcing 2023-06-21 15:05:13 +02: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
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
Patrick Ohly
df5d84ae81 e2e: accept context from Ginkgo
Every ginkgo callback should return immediately when a timeout occurs or the
test run manually gets aborted with CTRL-C. To do that, they must take a ctx
parameter and pass it through to all code which might block.

This is a first automated step towards that: the additional parameter got added
with

    sed -i 's/\(framework.ConformanceIt\|ginkgo.It\)\(.*\)func() {$/\1\2func(ctx context.Context) {/' \
        $(git grep -l -e framework.ConformanceIt -e ginkgo.It )
    $GOPATH/bin/goimports -w $(git status | grep modified: | sed -e 's/.* //')

log_test.go was left unchanged.
2022-12-10 19:50:18 +01:00
Davanum Srinivas
a9593d634c
Generate and format files
- Run hack/update-codegen.sh
- Run hack/update-generated-device-plugin.sh
- Run hack/update-generated-protobuf.sh
- Run hack/update-generated-runtime.sh
- Run hack/update-generated-swagger-docs.sh
- Run hack/update-openapi-spec.sh
- Run hack/update-gofmt.sh

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-07-26 13:14:05 -04:00
Dave Chen
857458cfa5 update ginkgo from v1 to v2 and gomega to 1.19.0
- update all the import statements
- run hack/pin-dependency.sh to change pinned dependency versions
- run hack/update-vendor.sh to update go.mod files and the vendor directory
- update the method signatures for custom reporters

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-07-08 10:44:46 +08:00
Sergiusz Urbaniak
1495c9f2cd
test/e2e/*: default existing tests to privileged pod security policy
This is to ensure that all existing tests don't break when defaulting
the pod security policy to restricted in the e2e test framework.
2022-04-05 08:41:12 +02:00
Sergiusz Urbaniak
373c08e0c7
test/e2e/framework: configure pod security admission level for e2e tests 2022-03-28 15:42:10 +02: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
David Eads
c8f87a6a24 retry PV create in e2e-test on API quota failure 2021-10-26 09:47:16 -04:00
Léiyì Zhang
822cc33955 tag ginkgo tests affected by pdcsi migration for skipping and add storageclass check for statefulset and upgrade tests 2021-10-09 17:33:56 +00:00
Mauricio Poppe
1e1252ed8c use LinuxOnly annotation instead of e2eskipper to skip windows tests 2021-04-05 20:21:53 +00:00
Mauricio Poppe
55bed0bb66 skip default storageclass test with windows nodes 2021-03-31 17:21:57 +00:00
Mauricio Poppe
5d9053014e Update tests to use common pod functions from framework/pod/utils.go 2021-03-11 07:25:56 +00: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
Fabio Bertinatto
c82626f96f e2e: use custom timeouts in all storage E2E tests 2020-12-02 15:57:58 -03:00
Tomas Smetana
bc23dd9e81 PV e2e: fix race in NFS recycling test 2020-11-06 16:38:11 +01: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
drfish
dfab6b637f Update .import-aliases for e2e test framework 2020-03-25 11:40:02 +08:00
Mike Danese
c58e69ec79 automated refactor 2020-03-05 14:59:46 -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
yuxiaobo
73fb0ab5ec test/e2e/storage:Use e2eskipper package
Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
2020-01-13 14:04:10 +08:00
Haosdent Huang
dbc9929012 e2e: move funs of framework/pv to e2e/storage 2019-12-25 20:39:09 +08:00
hwdef
d45107a00d test/e2e: move funcs from test/e2e/pod to other folders 2019-12-16 11:58:49 +08:00
WanLinghao
a6f5d99409 Refactor and clean up e2e framework utils. This patch handles test/e2e/framework/pv_util.go file 2019-09-18 17:57:13 +08:00
carlory
910bd000ff use log functions of core framework in the 'test/e2e/storage/*' 2019-09-06 10:26:16 +08:00
alejandrox1
7c161d6a5f Refactoring pod related functions from pv_util to pod pkg
Moving pod related functions from e2e/framework/pv_util.go to
e2e/framework/pod in order to allow refactoring of pv_util.go into its
own package.

Signed-off-by: alejandrox1 <alarcj137@gmail.com>
2019-08-27 12:27:45 -04:00
goodluckbot
032dde8754 Refactor statefulset e2e tests 2019-06-25 11:33:58 +08:00
SataQiu
332be4b1e3 refactor: replace framework.Failf with e2elog.Failf 2019-06-19 17:52:35 +08: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
danielqsj
1058877fbf remove dot imports in e2e/storage 2019-05-10 13:56:26 +08: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
SataQiu
252cabf155 [e2e] test/e2e/framework/volume_util.go -> test/e2e/framework/volume/fixtures.go 2019-04-13 16:58:37 +08:00