The install script was starting the service, and then the test itself was restarting it immediately thereafter, which caused frequent flakes.
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
* 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>
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>
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>
- Add testlet for new provider switch
- Handle migration between providers
- Add exception for criticalcontrolargs
Signed-off-by: Derek Nola <derek.nola@suse.com>
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>
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>
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>
* Fix upgrade test container version
Signed-off-by: Derek Nola <derek.nola@suse.com>
* Ensure CI cleanup on all docker tests
Signed-off-by: Derek Nola <derek.nola@suse.com>
Fix cleanup
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>
* Update to v1.32.2
Signed-off-by: Rafael Breno <32229014+rafaelbreno@users.noreply.github.com>
* Increase test timeout
Signed-off-by: Rafael Breno <32229014+rafaelbreno@users.noreply.github.com>
---------
Signed-off-by: Rafael Breno <32229014+rafaelbreno@users.noreply.github.com>
* 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>
* [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>
* 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>
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>
* 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>
* 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>
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>
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>
* Update libraries and codegen for k8s 1.32
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
* Fixes for 1.32
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
* Disable tests with down-rev agents
These are broken by AuthorizeNodeWithSelectors being on by default. All
agents must be upgraded to v1.32 or newer to work properly, until we
backport RBAC changes to older branches.
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
Co-authored-by: Brad Davidson <brad.davidson@rancher.com>
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>
* Add missing default OS for split server test
Signed-off-by: Derek Nola <derek.nola@suse.com>
* Launch go routine and return for k3s secrets-encrypt reencrypt
Signed-off-by: Derek Nola <derek.nola@suse.com>
---------
Signed-off-by: Derek Nola <derek.nola@suse.com>
* 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>
* add mariadb to Validate and Upgrade E2E tests
Signed-off-by: robertsilen <robert.silen@iki.fi>
Signed-off-by: Robert Silén <robert.silen@iki.fi>
Co-authored-by: Derek Nola <derek.nola@suse.com>
Signed-off-by: Vitor Savian <vitor.savian@suse.com>
Add recursive search and deletion of unmounted/mounted dirs in killall
Signed-off-by: Vitor Savian <vitor.savian@suse.com>
Only clean the server and agent directory if it is uninstall
Signed-off-by: Vitor Savian <vitor.savian@suse.com>
Add uninstall test to check mount points
Signed-off-by: Vitor Savian <vitor.savian@suse.com>
Add uninstall test in CI
Signed-off-by: Vitor Savian <vitor.savian@suse.com>
* 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>