Commit Graph

14503 Commits

Author SHA1 Message Date
bzsuni
8775d805fa use PollUntilContextTimeout to replace PollImmediateWithContext in test
Signed-off-by: bzsuni <bingzhe.sun@daocloud.io>
2023-10-19 22:50:21 +08:00
Kubernetes Prow Robot
39d3580d17 Merge pull request #121139 from bart0sh/PR123-e2e-move-node-rediness-check-to-DeferCleanup
e2e: move AllNodesReady check to DeferCleanup
2023-10-18 21:29:28 +02:00
Kubernetes Prow Robot
dc8b57d8a7 Merge pull request #121283 from tnqn/cleanup-unregistered-group
Unregister group path from apiserver when the group no longer exists
2023-10-18 10:30:09 +02:00
Quan Tian
0cda42af7a Unregister group path from apiserver when the group no longer exists
After a CRD or an APIService was deleted, the corresponding group was
never unregistered. It caused a stale entry to remain in the root path
and could potentially lead to memory leak as the groupDiscoveryHandler
was never released and the handledGroups was never cleaned up.

The commit implements the cleanup. It tracks each group's usage and
unregister the a group when there is no version for this group.

Signed-off-by: Quan Tian <qtian@vmware.com>
2023-10-18 15:17:21 +08:00
Kubernetes Prow Robot
e7fd5b85ed Merge pull request #121068 from carlory/cleanup-e2e-framework-deprecated-funcs
clean up deprecated funcs in e2e framework
2023-10-17 21:28:57 +02:00
Quan Tian
b500c3d693 Correct the label selector used in TestSampleAPIServer
TestSampleAPIServer tried to validate APIService deletion, but it used
an unmatched selector to delete and list APIServices, which essentially
validated nothing.

Signed-off-by: Quan Tian <qtian@vmware.com>
2023-10-17 22:29:34 +08:00
Kubernetes Prow Robot
bbcbfe4b97 Merge pull request #121257 from bzsuni/ga/ProbeTerminationGracePeriod
Remove GA featuregate about ProbeTerminationGracePeriod in 1.29
2023-10-17 16:14:19 +02:00
Patrick Ohly
7d077f9271 e2e: move AllNodesReady check to DeferCleanup
Some test cases can make nodes not ready and use DeferCleanup to bring
nodes back online. Checking if all nodes are online would fail
in such cases as AfterEach runs before DeferCleanup.

Scheduling nodes readines check to DeferCleanup should solve this
issue as nodes would be brought back to a `Ready` state before the
check.
2023-10-17 16:45:57 +03:00
Kubernetes Prow Robot
63ae3084b7 Merge pull request #121176 from bzsuni/cleanup/e2e/expect_not_equal
remove deprecated framework.ExpectNotEqual for node
2023-10-17 02:29:06 +02:00
Kubernetes Prow Robot
952a9cb060 Merge pull request #121174 from carlory/fix-120770
fix limitrange flaky test
2023-10-16 22:27:00 +02:00
Kubernetes Prow Robot
f6ba25fdbd Merge pull request #119026 from AxeZhan/sleepAction
Introducing Sleep Action for PreStop Hook
2023-10-16 21:19:44 +02:00
bzsuni
27abf99148 Remove GA featuregate about ProbeTerminationGracePeriod in 1.29
Signed-off-by: bzsuni <bingzhe.sun@daocloud.io>
2023-10-16 20:12:47 +08:00
bzsuni
5683660830 remove deprecated framework.ExpectNotEqual for node
Signed-off-by: bzsuni <bingzhe.sun@daocloud.io>
2023-10-16 09:21:26 +08:00
Stephen Heywood
b548bbb8cf When reading pvc status allow bound to be a valid value 2023-10-16 10:20:26 +13:00
AxeZhan
332779a3b2 add a simple e2e test 2023-10-15 13:59:46 +08:00
Kubernetes Prow Robot
675a64eaa6 Merge pull request #121129 from carlory/cleanup-e2e-framework-equal
remove deprecated framework.ExpectEqual
2023-10-14 23:50:37 +02:00
Kubernetes Prow Robot
b87cae907d Merge pull request #121001 from jiahuif-forks/feature/validating-admission-policy/typed-composition-variables
ValidatingAdmissionPolicy: typed variables support.
2023-10-14 01:55:43 +02:00
carlory
a34d2f3b13 fix limitrange flaky test 2023-10-13 11:46:05 +08:00
Kubernetes Prow Robot
4c8fca2f06 Merge pull request #112894 from pohly/e2e-framework-test-labels
e2e framework: test labels
2023-10-13 02:40:43 +02:00
Kubernetes Prow Robot
3bd4c1cf20 Merge pull request #120892 from ii/create-pv-pvc-status-test
Write e2e test for PersistentVolumeStatus & PersistentVolumeClaimStatus Endpoints +6 Endpoints
2023-10-12 18:50:33 +02:00
Davanum Srinivas
de01788dea Switch to newer cos-gpu-installer - v2.1.9
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-10-12 06:59:39 -04:00
Davanum Srinivas
5ad5ef1d0f Switch to newer cos-gpu-installer - v2.1.7
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-10-11 23:15:51 -04:00
carlory
2c1836bc24 remove deprecated framework.ExpectEqual 2023-10-11 12:43:10 +08:00
Patrick Ohly
19ecf93ec3 e2e: define features and node features
The list is based on the -list-tests output.
2023-10-10 18:15:49 +02:00
Patrick Ohly
f2d34426f8 e2e: enhance SIGDescribe
framework.SIGDescribe is better because:
- Ginkgo uses the source code location of the test, not of the wrapper,
  when reporting progress.
- Additional annotations can be passed.

To make this a drop-in replacement, framework.SIGDescribe generates a function
that can be used instead of the former SIGDescribe functions.

windows.SIGDescribe contained some additional code to ensure that tests are
skipped when not running with a suitable node OS. This gets moved into a
separate wrapper generator, to allow using framework.SIGDescribe as intended.
To ensure that all callers were modified, the windows.sigDescribe isn't
exported anymore (wasn't necessary in the first place!).
2023-10-10 18:15:49 +02:00
Patrick Ohly
39b6916cbc e2e: add wrapper functions to annotate tests
These wrapper functions set labels in addition to injecting the annotation into
the test text. It then becomes possible to select tests in different ways:

    ginkgo -v --focus="should respect internalTrafficPolicy.*\[FeatureGate:ServiceInternalTrafficPolicy\]"

    ginkgo -v --label-filter="FeatureGate:ServiceInternalTrafficPolicy"

    ginkgo -v --label-filter="Beta"

When a test runs, ginkgo shows it as:

    [It] should respect internalTrafficPolicy=Local Pod to Pod [FeatureGate:ServiceInternalTrafficPolicy] [Beta] [FeatureGate:ServiceInternalTrafficPolicy, Beta]

The test name and the labels at the end are in different colors. Embedding the
annotations inside the text is redundant and only done because users of the e2e
suite might expect it. Also, our tooling that consumes test results currently
doesn't know about ginkgo labels.

Environments, features and node features as described by
https://github.com/kubernetes/enhancements/tree/master/keps/sig-testing/3041-node-conformance-and-features
are also supported.

The framework and thus (at the moment) test/e2e do not have any pre-defined
environments and features. Adding those and modifying tests will follow in
a separate commit.
2023-10-10 18:15:49 +02:00
Patrick Ohly
535ab74346 e2e framework: track and report internal bugs
If something goes wrong during the test registration phase, the only solution
so far was to panic. This is not user-friendly and only allows to report one
problem at a time.

If initialization can continue, then a better solution is to record a bug,
continue, and then report all bugs together.

This also works when just listing tests. The new verify-e2e-suites.sh uses that
to check all test suites (identified as "packages that call
framework.AfterReadingAllFlags", with some exceptions) as part of
pull-kubernetes-verify.

Example output for a fake

    framework.RecordBug(framework.NewBug("fake bug during SIGDescribe", 0))

in test/e2e/storage/volume_metrics.go:
```
$ hack/verify-e2e-suites.sh
go version go1.21.1 linux/amd64
ERROR: E2E test suite invocation failed for test/e2e.
   ERROR: E2E suite initialization was faulty, these errors must be fixed:
   ERROR: test/e2e/storage/volume_metrics.go:49: fake bug during SIGDescribe
E2E suite test/e2e_kubeadm passed.
E2E suite test/e2e_node passed.
```
2023-10-10 18:15:46 +02:00
Patrick Ohly
3afdcc03ea e2e framework: list specs and labels
-list-tests is a more concise alternative for `ginkgo --dry-run` with one line
per test. In contrast to `--dry-run`, it really lists all tests. `--dry-run`
without additional parameters uses the default skip expression from the E2E
context, which filters out flaky and feature-gated tests. The output includes
the source code location where each test is defined. It is sorted by test
name (not source code location) because that order is independent of
reorganizing the source code and ordering by location can be achieved with
"sort".

-list-labels has no corresponding feature in Ginkgo.

One possible usage is to figure out what values might make sense for
-focus/skip/label-filter.

Unit tests will follow in a future commit.
2023-10-10 17:15:59 +02:00
Patrick Ohly
aa4d2fc5ed e2e storage: remove useless info message
Always printing "Enabling in-tree volume drivers" whenever the E2E suite is
initializing doesn't provide any useful information and makes output of the
upcoming -list-tests look weird.
2023-10-10 17:15:59 +02:00
Kubernetes Prow Robot
4a92b00db9 Merge pull request #121064 from carlory/cleanup-e2e-apimachinery-framework-equal
e2e_apimachinery: stop using deprecated framework.ExpectEqual
2023-10-10 13:33:02 +02:00
Kubernetes Prow Robot
4b9e15e0fe Merge pull request #120873 from pohly/dra-e2e-test-driver-enhancements
e2e dra: enhance test driver
2023-10-10 13:32:55 +02: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
e1788034c6 Merge pull request #120046 from chansuke/feature/update-the-function-to-get-nodes
Optimize test for scalability by using `GetBoundedReadySchedulableNodes()`
2023-10-09 21:44:21 +02:00
carlory
137ad9bf2b clean up deprecated funcs in e2e framework 2023-10-09 16:51:53 +08:00
carlory
5f74461bcd e2e_apimachinery: stop using deprecated framework.ExpectEqual 2023-10-09 15:44:20 +08:00
Kubernetes Prow Robot
cdc026fad1 Merge pull request #119915 from AxeZhan/rollout_e2e
Add a kubectl rollout undo e2e test
2023-10-09 04:53:29 +02:00
Kubernetes Prow Robot
3fc8c32425 Merge pull request #121051 from carlory/cleanup-e2e-apps-framework-equal
fix incorrect Consistently due to missing assignment when create a newAsyncAssertion
2023-10-08 21:53:52 +02:00
carlory
bb02d0feba fix incorrect Consistently due to missing assignment when create a newAsyncAssertion 2023-10-08 13:23:46 +08:00
Kubernetes Prow Robot
4b2225701e Merge pull request #120819 from fusida/fix-master-e2e
e2e: set liveness probe timeout seconds for conformance test
2023-10-08 07:02:52 +02:00
Kubernetes Prow Robot
9af7096c89 Merge pull request #120968 from borg-land/remove-kubeup-tests-1
Remove an e2e test specific to kubeup clusters - Part One
2023-10-06 19:20:11 +02:00
Kubernetes Prow Robot
57144165f7 Merge pull request #120977 from borg-land/remove-kubeup-tests-2
Remove an e2e test specific to kubeup clusters - Part Two
2023-10-06 17:11:20 +02:00
Jiahui Feng
4d157bb142 add single boolean to composition e2e test. 2023-10-04 16:43:38 -07:00
Kubernetes Prow Robot
f19b62fc09 Merge pull request #120959 from pohly/e2e-test-whitespace-cleanup
e2e: remove redundant spaces in test names
2023-10-05 00:41:59 +02:00
upodroid
6d759aac91 delete addon-manager test 2023-10-03 10:30:48 +01:00
upodroid
243ba5fb6b remove an e2e test specific to kubeup clusters 2023-10-02 16:21:41 +01:00
carlory
98bad643cd e2e_apps: stop using deprecated framework.ExpectEqual 2023-10-01 10:30:00 +08:00
Kubernetes Prow Robot
3e9f2f4d65 Merge pull request #120948 from marosset/fix-mem-limit-windows-test
Fixing attempt to deploy past allocatable memory limits test on Windows
2023-09-29 14:33:57 -07:00
Mark Rossetti
0b76e7b69f Fixing attempt to deploy past allocatable memory limits test on Windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2023-09-29 13:26:51 -07:00
Kubernetes Prow Robot
46728a8fa2 Merge pull request #120896 from aramase/aramase/f/kmsv2_pkcs11
[KMSv2] pkcs11 reference implementation using SoftHSM
2023-09-29 12:11:56 -07:00
Anish Ramasekar
2f5708833a [KMSv2] pkcs11 reference implementation using SoftHSM
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2023-09-29 16:57:26 +00:00