Commit Graph

272 Commits

Author SHA1 Message Date
Derek Nola
e575620487 Bump timeouts for slow arm Drone runners
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:18 -08:00
Derek Nola
090f738182 Improve error checks around FetchIngressIP
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:18 -08:00
Derek Nola
09c044d22b Check the deployments in E2E WASM test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:18 -08:00
Derek Nola
e41956a777 Fix skew test on v1.31 and older
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:18 -08:00
Derek Nola
691ee2efa8 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:18 -08:00
Derek Nola
b64b9153ed 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:18 -08:00
Derek Nola
a2f6657f48 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:18 -08:00
Derek Nola
c4c532ce7b assign GOCOVERDIR in docker tests
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:18 -08:00
Derek Nola
e19a1e1e9e Convert snapshotrestore from E2E to Docker test
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:18 -08:00
Derek Nola
3b28ed5793 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:18 -08:00
Derek Nola
dd65505ef9 Make (Docker) RunOnNode a method
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:18 -08:00
Derek Nola
9fe819eee1 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:18 -08:00
Derek Nola
63d30bc249 Add support for restarting k3s docker nodes
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-02-07 21:18:18 -08:00
Derek Nola
e36edc3eab Fix skew semver for release-XX branches (#11531)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-01-13 12:16:54 -08:00
Derek Nola
436bce722f 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:54 -08:00
Derek Nola
668f7f1b45 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:54 -08:00
Derek Nola
47e9067bd1 Fix leap install test (#11379)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2025-01-13 12:16:54 -08:00
Derek Nola
7bc5ee97b1 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:54 -08:00
Vitor Savian
4331f452bb Add auto import images for containerd image store
* Add auto import images for containerd image store

* Add auto import images

Signed-off-by: Vitor Savian <vitor.savian@suse.com>

* Fix EOF error log when importing tarball files

Signed-off-by: Vitor Savian <vitor.savian@suse.com>

* Delaying queue

Signed-off-by: Vitor Savian <vitor.savian@suse.com>

* Add parse for images

Signed-off-by: Vitor Savian <vitor.savian@suse.com>

---------

Signed-off-by: Vitor Savian <vitor.savian@suse.com>
2025-01-11 01:58:20 -03:00
Brad Davidson
014f1a058f Add tests for supervisor request handlers
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit f345697c0a)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-01-10 16:11:04 -08:00
Brad Davidson
a3d768a7de Replace *core.Factory with CoreFactory interface
Make this field an interface instead of pointer to allow mocking. Not sure why wrangler has a type that returns an interface instead of just making it an interface itself. Wrangler in general is hard to mock for testing.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit e6327652f0)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-01-10 16:11:04 -08:00
Brad Davidson
31ac700bc9 Move additional core/v1 mocks into tests package
Convert nodepassword tests to use shared mocks

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit c20c06373a)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-01-10 16:11:04 -08:00
Brad Davidson
6c236d061f Move core/v1 mock into tests package for reuse
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 8f8cfb56b5)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-01-10 16:11:04 -08:00
Brad Davidson
40f45e7dbb Add test for join existing cluster
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit f8271d8506)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-01-10 16:11:04 -08:00
Brad Davidson
e4214f18de Fix snapshot flake
Avoid "snapshot save already in progress" flake when snapshot reconcile from previous save is still in progress.

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 68fbd1a6b5)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-01-10 16:11:04 -08:00
Brad Davidson
d356517f12 Improve error handling of CheckDeployments test helper
Expose actual error, so that we can tell if the deployment is not found or not ready/available

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 93e548326a)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-01-10 16:11:04 -08:00
galal-hussein
481758e8ac RBAC changes for compat with AuthorizeNodeWithSelectors
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit b4747703b0)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2025-01-10 16:11:04 -08:00
manuelbuil
d1ac892f09 If no etcd was deployed, fail etcd-snapshot with a useful error
Signed-off-by: manuelbuil <mbuil@suse.com>
2025-01-09 11:47:17 -08:00
Brad Davidson
fe0a1baef5 Add hidden flag/var for supervisor/apiserver listen config
Add flags supervisor and apiserver ports and bind address so that we can add an e2e to cover supervisor and apiserver on separate ports, as used by rke2

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit e143e0fa12)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-12-10 17:02:07 -08:00
Brad Davidson
a66ca32608 Tail journald logs into report on suite failure
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit e9cf3a7ab5)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-12-10 17:02:07 -08:00
Brad Davidson
4613a782a8 Fix integration test failure message
The error message should be printf style, not just concatenated. The
current message is garbled if the command or result contains things that
look like formatting directives:

`Internal error occurred: error sending request: Post "https://10.10.10.102:10250/exec/default/volume-test/volume-test?command=sh&command=-c&command=echo+local-path-test+%!!(MISSING)E(MISSING)+%!!(MISSING)F(MISSING)data%!!(MISSING)F(MISSING)test&error=1&output=1": proxy error from 127.0.0.1:6443 while dialing 10.10.10.102:10250, code 502: 502 Bad Gateway`

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 45195e2654)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-12-10 17:02:07 -08:00
Brad Davidson
f892310b7c Add command output to test failure message
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit 81dda9d626)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-12-10 17:02:07 -08:00
Derek Nola
74669307c6 Fix secrets-encrypt reencrypt timeout error (#11441)
* Add missing default OS for split server test



* Launch go routine and return for k3s secrets-encrypt reencrypt



---------

Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-12-09 15:59:23 -08:00
Brad Davidson
00f901803a Add rewrite test to privateregistry e2e
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-12-03 11:59:05 -08:00
Derek Nola
4c74664b10 Fix GenKubeConfigFile, move from "cat" command to "scp"
Remove CI fog warnings from RunCmdOnNode output

Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-11-12 13:54:06 -08:00
Brad Davidson
208aafc9a0 Add tests for ETCD.Test()
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit a39e191906)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-11-06 12:41:11 -08:00
Brad Davidson
ddba4cd801 Add ca-cert rotation integration test
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit b1a42e5d43)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-10-10 11:40:39 -07:00
Derek Nola
e73db99a88 Launch private registry with init so the container can be killed on cleanup (#11047)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-10-10 08:52:43 -07:00
manuelbuil
0019d61a58 Add e2e test for advanced fields in services
Signed-off-by: manuelbuil <mbuil@suse.com>
2024-10-10 10:30:26 +02:00
Manuel Buil
7f90785abe Add int test for flannel-ipv6masq
Signed-off-by: Manuel Buil <mbuil@suse.com>
2024-09-26 14:48:28 +02:00
Derek Nola
6f099943fc Fix caching name for e2e vagrant box (#10695)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-09-04 11:50:40 -07:00
Derek Nola
6f91699a69 Update to newer OS images for install testing (#10681)
* Update to newer OS images for install testing
* Update vagrant images used for E2E

Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-09-04 11:50:40 -07:00
Derek Nola
60b2f5ab16 Enhance E2E Hardened option (#10558)
* Remove unnecessary hardened arguments

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

* slim down hardened arguments

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

---------

Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-08-06 08:51:16 -07:00
Brad Davidson
bcaa63929f Add etcd s3 config secret implementation
* Move snapshot structs and functions into pkg/etcd/snapshot
* Move s3 client code and functions into pkg/etcd/s3
* Refactor pkg/etcd to track snapshot and s3 moves
* Add support for reading s3 client config from secret
* Add minio client cache, since S3 client configuration can now be
  changed at runtime by modifying the secret, and don't want to have to
  create a new minio client every time we read config.
* Add tests for pkg/etcd/s3

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
(cherry picked from commit c36db53e54)
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-07-15 10:14:20 -07:00
Derek Nola
16321f2554 Set correct release channel for e2e upgrade test (#10460)
Signed-off-by: Derek Nola <derek.nola@suse.com>
2024-07-09 09:00:04 -07:00
Vitor Savian
d9b8ba8d71 Add snapshot retention etcd-s3-folder fix
* Add snapshot retention folder fix

Signed-off-by: Vitor Savian <vitor.savian@suse.com>

* Add snapshot retention E2E test

Signed-off-by: Vitor Savian <vitor.savian@suse.com>

---------

Signed-off-by: Vitor Savian <vitor.savian@suse.com>
2024-06-06 17:31:01 -03:00
Brad Davidson
f9130d537d Fix embedded mirror blocked by SAR RBAC and re-enable test
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2024-05-31 08:33:18 -07:00
dependabot[bot]
4cb4542c3a Bump ubuntu from 22.04 to 24.04 in /tests/e2e/scripts
Bumps ubuntu from 22.04 to 24.04.

---
updated-dependencies:
- dependency-name: ubuntu
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-28 20:12:14 -07:00
Manuel Buil
3f62ec3207 Add extra log in e2e tests
Signed-off-by: Manuel Buil <mbuil@suse.com>
2024-05-27 16:11:12 +02:00
Nikos Pitsillos
99f543a2d4 fix: use absolute path
Signed-off-by: Nikos Pitsillos <npitsillos@gmail.com>
2024-05-27 16:10:57 +02:00