-
Notifications
You must be signed in to change notification settings - Fork 348
Description
So our e2e tests create a test cluster and install LVP using go code
| setupLocalVolumeProvisioner(ctx, config, nil) |
| createProvisionerDaemonset(ctx, config) |
And if you look at the implementation it's installing the same resources declared in the helm chart, to avoid duplicating the setup we could set up a helm go client and install the chart in helm/provisioner/ with some values defined in go code instead.
I think https://manuelmazzuola.dev/2021/03/28/deploy-helm-chart-go is good starting point to use helm programatically, another way to accomplish the same is to install the helm/kubectl binaries in the script that creates the cluster that way we can call helm debug | kubectl apply -f - from within the test
The starting point for the test runner is our Prow job in test-infra which calls make e2e -> hack/e2e.sh ->
sig-storage-local-static-provisioner/hack/e2e.sh
Lines 318 to 324 in e0ad13e
| go run $ROOT/hack/e2e.go -- "${kubetest_args[@]}" \ | |
| --deployment "$DEPLOYMENT" \ | |
| --up \ | |
| --down \ | |
| --test-cmd bash \ | |
| --test-cmd-args="$ROOT/hack/run-e2e.sh" \ | |
| "$@" |
if you have a cluster already running make sure to update the above lines to only run the test and not create/delete a cluster, i.e. remove --up --down