README
¶
Regression tests
This directory contains tests that install each of the 3 Gloo Edge flavors (gateway
, ingress
, and knative
) and run
regression tests against them.
Setup
These tests require that a Gloo Edge Helm chart archive be present in the _test
folder, glooctl
be built in the
_output
folder, and a kind cluster set up and loaded with the images to be installed by the helm chart.
ci/kind.sh
gets run in ci to setup the test environment for the above requirements. To run tests locally, it is
recommended you create a kind cluster using the same command there, build a helm chart for the version you
want to test (VERSION=kind make build-test-chart
), build glooctl (make glooctl
) and load the docker images into
kind that will get installed (CLUSTER_NAME=kind VERSION=kind make push-kind-images
).
Run test
To run the regression tests, your kubeconfig file must point to a running Kubernetes cluster. You can then start the tests by running the following command from this directory:
KUBE2E_TESTS=<test-to-run> ginkgo -r
Test environment variables
The below table contains the environment variables that can be used to configure the test execution.
Name | Required | Description |
---|---|---|
KUBE2E_TESTS | Y | Must be set to the test suite to be run, otherwise all tests will be skipped |
DEBUG | N | Set to 1 for debug log output |
WAIT_ON_FAIL | N | Set to 1 to prevent Ginkgo from cleaning up the Gloo Edge installation in case of failure. Useful to exec into inspect resources created by the test. A command to resume the test run (and thus clean up resources) will be logged to the output. |
Documentation
¶
Index ¶
- func EventuallyReachesConsistentState(installNamespace string)
- func GetHelmValuesOverrideFile() (filename string, cleanup func())
- func GlooctlCheckEventuallyHealthy(offset int, testHelper *helper.SoloTestHelper, timeoutInterval string)
- func MustKubeClient() kubernetes.Interface
- func UpdateAlwaysAcceptSetting(ctx context.Context, alwaysAccept bool, installNamespace string)
- func UpdateRestEdsSetting(ctx context.Context, enableRestEds bool, installNamespace string)
- func UpdateSettings(f func(settings *v1.Settings), ctx context.Context, installNamespace string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EventuallyReachesConsistentState ¶ added in v1.5.0
func EventuallyReachesConsistentState(installNamespace string)
func GetHelmValuesOverrideFile ¶ added in v1.3.16
func GetHelmValuesOverrideFile() (filename string, cleanup func())
func GlooctlCheckEventuallyHealthy ¶ added in v1.3.16
func GlooctlCheckEventuallyHealthy(offset int, testHelper *helper.SoloTestHelper, timeoutInterval string)
Check that everything is OK by running `glooctl check`
func MustKubeClient ¶ added in v0.11.2
func MustKubeClient() kubernetes.Interface
func UpdateAlwaysAcceptSetting ¶ added in v1.5.0
func UpdateAlwaysAcceptSetting(ctx context.Context, alwaysAccept bool, installNamespace string)
enable/disable strict validation
func UpdateRestEdsSetting ¶ added in v1.7.0
func UpdateRestEdsSetting(ctx context.Context, enableRestEds bool, installNamespace string)
func UpdateSettings ¶ added in v1.5.0
func UpdateSettings(f func(settings *v1.Settings), ctx context.Context, installNamespace string)
Types ¶
This section is empty.