e2e: add provider switch (upstream/azure), bump keda-kaito-scaler to v0.5.1, instrument timings#50
Merged
Conversation
…v0.5.0, instrument timings
Provider switch
- New E2E_PROVIDER variable in versions.env (default: upstream).
- 'upstream': everything via Helm/upstream manifests (current behavior).
- 'azure': enable AKS managed add-ons at cluster create time
(--enable-keda, --enable-gateway-api). install-components.sh skips
the Helm KEDA install and the upstream Gateway API standard-install.yaml
apply, falling back only if the managed CRDs/operator are absent.
- Threaded through hack/e2e/scripts/{run-e2e-local,setup-cluster,
install-components,validate-components}.sh, .github/actions/
e2e-base-setup/action.yaml, and both .github/workflows/e2e*.yaml
(workflow_dispatch input 'provider').
- Derived KEDA_NAMESPACE: 'keda' for upstream, 'kube-system' for azure
(managed KEDA add-on lives in kube-system; keda-kaito-scaler is
installed in the same namespace so KEDA can resolve its
ClusterTriggerAuthentication Secrets).
- test/e2e/cases.go: kedaScalerNamespace() + init() rewrite of the
scaling case's NetworkPolicyAllowedNamespaces so 'kube-system'
replaces 'keda' under the azure provider.
setup-cluster.sh azure prerequisites
- Idempotently install/update the aks-preview Azure CLI extension.
- Register Microsoft.ContainerService/ManagedGatewayAPIPreview feature
flag and wait for it to reach 'Registered' (required by
--enable-gateway-api).
keda-kaito-scaler v0.4.1 -> v0.5.0 in versions.env.
Install ordering / phasing
- keda-kaito-scaler moved from phase2 to phase1 (no install-time dep
on KEDA; only emits ScaledObjects later).
- gpu-node-mocker moved from phase2 to phase1; phase2 now contains
only Istio (renamed phase2-istio).
gpu-node-mocker CRD readiness gate
- cmd/gpu-node-mocker/main.go: new checkRequiredCRDs() runs a
discovery query for karpenter.sh/v1 'nodeclaims' before NewManager.
If the CRD is not yet served the process exits non-zero so kubelet
CrashLoopBackOff retries until the KAITO operator finishes
installing it. This is what makes the parallel phase1 ordering safe.
- install-components.sh: gpu-node-mocker rollout-status timeout
bumped 120s -> 420s to absorb the kubelet backoff window.
Timing instrumentation
- install-components.sh: run_phase records per-task and per-phase
wall-clock; a final summary table prints every phase total, the
sum, and every phase/task entry so the longest task in each
parallel phase is visible.
- run-e2e-local.sh: every top-level step (setup, build-push, install,
validate, test, teardown) wrapped by time_step; a master summary is
printed once via the cleanup trap (or directly for non-'all' runs).
Local usage:
E2E_PROVIDER=azure make e2e-up # AKS managed KEDA + Gateway API
E2E_PROVIDER=upstream make e2e-up # default, everything via Helm
ca2c438 to
2c86438
Compare
Signed-off-by: rambohe-ch <rambohe.ch@gmail.com>
Signed-off-by: rambohe-ch <rambohe.ch@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
keda-kaito-scaler v0.4.1 -> v0.5.1 in versions.env.
Install ordering / phasing
8 Disable NetworkPolicy tests in e2e tests to avoid blocking the other e2e tests. @tnsimon will improve networkpolicy tests lately.
Local usage:
E2E_PROVIDER=azure make e2e-up # AKS managed KEDA + Gateway API
E2E_PROVIDER=upstream make e2e-up # default, everything via Helm
Reason for Change:
Requirements
Issue Fixed:
Notes for Reviewers: