Commit Graph

305 Commits

Author SHA1 Message Date
Derek Nola
e02a03c34d Better logging on E2E tests around metrics availability (#12198)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-05-07 15:27:30 -07:00
Derek Nola
2e568b728f Address top flaky tests (#12163)
* ExternalIP E2E test: Improve clientIP checking
* E2E: Better top node error logs
* Skew test: increase deployment timeout

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-05-07 15:27:30 -07:00
Derek Nola
0131986ca1 Split E2E Drone pipeline into matrix (#12086)
* Split drone e2e into multiple blocks, explicit virsh cleanup

* Create multiple registries once and reuse as long as they exist

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-04-16 11:27:50 -07:00
Derek Nola
59ba5426e3 Address slow arm docker node startup
Signed-off-by: Derek Nola <derek.nola@suse.com>
(cherry picked from commit b5704e2623)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-04-11 14:28:22 -07:00
Brad Davidson
d13c793f0b Move Windows test out of Install Script workflow
Placing this in the install script test, which only runs when specific files are changed, was preventing it from being run on code changes.

In addition to moving this into the integration workflow, fix codecov for Windows and upload data after running a test pod.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit cd4be0b8c1)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-04-11 14:28:22 -07:00
Brad Davidson
3804a0f2b9 Silence vagrant progress output
Add --no-tty flag to all `vagrant up` commands to silence the printing of box loading progress

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 08c6c7423b)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-04-11 14:28:22 -07:00
Derek Nola
e66881bd97 Implement secrets-encryption secretbox provider
- Add testlet for new provider switch
- Handle migration between providers
- Add exception for criticalcontrolargs
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-04-09 01:01:06 -04:00
Derek Nola
6148260a42 Cleanup anonymous and named volumes for docker tests (#12076)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-04-08 17:15:11 -04:00
Brad Davidson
c42cc2d43c Add tests for control-plane component arg generation
Use mocked executor to ensure the correct args are being passed to components

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 1ba19856de)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-04-02 11:38:51 -07:00
Brad Davidson
d8221573e3 Rework mock executor using gomock for call validation
Generate the mock executor with mockgen and convert existing uses of the mock executor to set it up properly.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 0eeac6a622)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-04-02 11:38:51 -07:00
Brad Davidson
e8079602af Move etcd ready channel into executor
This eliminates the final channel that was being passed around in an internal struct. The ETCD management code passes in a func that can be polled until etcd is ready; the executor is responsible for polling this after etcd is started and closing the etcd ready channel at the correct time.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit d45006be66)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-03-31 17:22:44 -07:00
Brad Davidson
6f0212ab9a Fix etcd tests to use mock executor
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 72bbd676f1)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-03-31 17:22:44 -07:00
Brad Davidson
ceaa23e65e Move container runtime ready channel into executor
Move the container runtime ready channel into the executor interface, instead of passing it awkwardly between server and agent config structs

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit a8bc412422)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-03-31 17:22:44 -07:00
Derek Nola
e050ca66d1 [Release-1.31] Fix upgrade test container version (#11999)
* Fix upgrade test container version

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Force docker test cleanup in CI

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Bump skew test timeout

Signed-off-by: Derek Nola <derek.nola@suse.com>

---------

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-21 15:31:53 -05:00
Brooks Newberry
de295ecbee fix skew test container version (#11990)
Signed-off-by: Brooks Newberry <brooks@newberry.com>
2025-03-19 23:42:48 -07:00
Derek Nola
02c824e036 Fix flaky rootless E2E test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-07 14:46:16 -08:00
Derek Nola
caca8a2846 Move away from docker e2e images, use gcr and ghcr
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
1558d39634 Migrate svcpolicies E2E test to docker
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
428065d9b4 Expand E2E test matrix to cover all possible tests that fit on GHA
Fix rootless test

Fix svc firewall E2E test, broken by #11711

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
86aec412af Replace e2e.ParseNodes function with general ParseNodes and NodesReady test functions
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
633e50a982 Add E2E AllNodes helper function
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
83c71763a2 Migrate E2E SecretsEncryption to Docker test
Remove secrets encryption E2E from Drone

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
0d39edf1ca Migrate E2E autoimport to Docker test
Simplify DockerNode structs
Remove autoimport from E2E
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
48126c2d9b Remove unused docker tests
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
20b01f123a Migrate hardened docker test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
f7daa0aab7 Fix various E2E test function names and descriptions
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
0cb44320fd Migrate E2E Token test into a Docker Token test
Remove E2E token test

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Derek Nola
f1608ea65b Align docker and e2e variable spelling
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-03-05 14:25:40 -08:00
Brad Davidson
a7455eb9ef e2e: wait for deployments before getting logs
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-02-20 18:07:58 -08:00
Brad Davidson
00196d2deb e2e: Fix curl test timeouts
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-02-20 18:07:58 -08:00
Brad Davidson
9f3a64fcd8 Fix FetchIngressIP error checking
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-02-10 10:16:22 -08:00
Brad Davidson
92fabf5ae3 Fix wasm ingress test
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 04ed6c0996)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-02-10 10:16:22 -08:00
Derek Nola
cc874e1aa9 Bump timeouts for slow arm Drone runners
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
00b0e94b08 Improve error checks around FetchIngressIP
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
1633198c0c Check the deployments in E2E WASM test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
8d7fad13fe Fix skew test on v1.31 and older
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
3ee6e1057c Convert docker conformance test to go test framework (#11643)
* Migrate conformance docker test

Switch to hydrophone from sonobuoy
Support serial conformance

* Replace docker tests with go version on arm32 Drone pipeline
* Support multiple DB, push hydrophone logs to test output
* Replace  etcd and sqlite conformance tests with golang versions
* Retry on flaky btrfs section
* Fix db cleanup for sqlite, be explicit on the dbtype

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
2b19b5ba7c Consolidate test utility functions into top level package (#11711)
* [e2e] Convert RunCmdOnNode to method
* Consolidate e2e variables into TestConfig struct
* Consolidate docker and integration test helper functions
* E2E: Directly count daemonsets, not their pods
* Add missing Context levels for E2E tests
* Migrate e2e.ParsePods to new tests client package
* Run the go test compile test on their respective architectures

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
a5edf2b6fe Run Docker test on Github Actions arm64 runners (#11705)
* Build and Run Arm64 Docker Tests
* Compile go tests for both amd64 and arm64
* Use version.sh to determine channel, not git
* Consolidate docker tests into 2D matrix
* Remove old Docker test from Drone and Github Actions

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
84c8a82c19 assign GOCOVERDIR in docker tests
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
03ce6af0c9 Convert snapshotrestore from E2E to Docker test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
0616d6a1d5 DRY Docker test configuration strucutres - Reduce TestConfig fields, rename secret -> token - remove unused ENV control vars - Consolidate DeployWorkload function similar to E2E function
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
083f5e60d3 Make (Docker) RunOnNode a method
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
1192c45336 Replace docker go test SERVER_ARGS env with config.yaml injection
Signed-off-by: Derek Nola <derek.nola@suse.com>

x

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
d64c2d4c30 Add support for restarting k3s docker nodes
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:08 -08:00
Derek Nola
575c43be0d Fix skew semver for release-XX branches (#11531)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-01-13 12:16:44 -08:00
Derek Nola
d1948d400f Upload E2E logs on failure as GHA artifacts (#11514)
* Upload E2E journald logs as artifacts in GHA

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Improve fork information for parent extraction

Signed-off-by: Derek Nola <derek.nola@suse.com>

---------

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-01-13 12:16:44 -08:00
Derek Nola
41a261ed7c Add "k3s certificate check" clause for better test coverage (#11485)
* Add "k3s certificate check" clause for better test coverage

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Add table support to cert check

Signed-off-by: Derek Nola <derek.nola@suse.com>

---------

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-01-13 12:16:44 -08:00
Derek Nola
f7837c3779 Fix leap install test (#11379)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-01-13 12:16:44 -08:00
Derek Nola
3c273b0761 Convert legacy docker tests from bash to golang (#11357)
* Convert the following Docker test from Bash to Go
    - basics
    - bootstraptoken
    - cacerts
    - compat -> skew
    - etcd
    - lazypull
    - upgrade

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Add Docker go tests to GHA
* Prebuild K3s Go Tests
* Strip go test binaries to reduce size
* Handle complex branch options

Signed-off-by: Derek Nola <derek.nola@suse.com>

* Implement basic golang tests on arm and arm64 pipelines

Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-01-13 12:16:44 -08:00