Upgrade Higress to 2.2.0 and add deployment health test#473
Merged
weilei0120 merged 7 commits intomainfrom Apr 23, 2026
Merged
Conversation
Refactor the resource availability logic to enhance user experience. The flavor availability is now lazy-loaded when the dialog opens, and the GPU field is conditionally hidden based on the availability response. This change aims to streamline the dialog's performance and prevent unnecessary data loading.
Introduce a new README.md file detailing the end-to-end testing setup for Bootstrap components using Kyverno Chainsaw. The document includes prerequisites, instructions for running tests, test structure, and a table of available tests, enhancing the documentation for developers.
- Change the helm chart source for higress to higress.io and update the version to 2.2.0. - Upgrade the Gateway API CRDs installation to version 1.4.0 with server-side apply for improved deployment.
- Add Bootstrap/kubespray/ and Bootstrap/kubespray-venv/ to .gitignore to prevent tracking of generated files in the Bootstrap infrastructure.
- Change the skipDelete option from true to false in the cleanup section to ensure resources are deleted after test execution.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Bootstrap Higress installation to work with Higress 2.2.0 by upgrading the Helm chart source/version and upgrading the Kubernetes Gateway API CRDs to a version that includes v1.BackendTLSPolicy. It also introduces Kyverno Chainsaw-based infrastructure health checks for the Higress deployment and documents how to run them.
Changes:
- Upgrade Higress Helm chart to
2.2.0and switch chart source tohigress.io/higress. - Upgrade Gateway API CRDs to
v1.4.0using server-side apply. - Add Chainsaw test/config + documentation for Bootstrap infrastructure tests; update
.gitignorefor generated Bootstrap directories.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
Bootstrap/higress/higress.sh |
Bumps Higress chart to 2.2.0 and updates Gateway API CRDs to v1.4.0 (server-side apply). |
Bootstrap/tests/higress/chainsaw-test.yaml |
Adds a Chainsaw test to validate Higress controller readiness, gateway pods running, and presence of a Gateway resource. |
Bootstrap/tests/.chainsaw.yaml |
Adds shared Chainsaw configuration (timeouts, fail-fast, cleanup behavior). |
Bootstrap/tests/README.md |
Documents how to run the infrastructure tests and the test directory structure. |
.gitignore |
Ignores runtime-generated Bootstrap/kubespray/ and Bootstrap/kubespray-venv/. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Replace script-based check with an assert for the higress-gateway pod status in the chainsaw-test.yaml, ensuring the pod is Running in the specified namespace.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Clarify the nature of the tests by changing "unit tests" to "integration tests" in the README.md, providing a more accurate description of the testing framework used with Kyverno Chainsaw.
weilei0120
approved these changes
Apr 23, 2026
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.
Problem
When installing Higress 2.2.0 via
Bootstrap/higress/higress.sh, the Higress controller fails to become ready. Thehigress-controllerpod shows0/2 Runningand thehigress-gatewaypods get stuck inContainerCreating.Root cause: The script installs Gateway API CRDs v1.0.0, which only exposes
BackendTLSPolicyasv1alpha2. Higress 2.2.0 expectsv1.BackendTLSPolicy, which doesn't exist in that version.You can confirm this by checking the controller logs:
The key error is:
Summary
registry-1.docker.io/primussafe/higress) to the public Higress repo (higress.io/higress), since the private registry only hosts 2.1.8.--server-sideapply. Higress 2.2.0 expectsv1.BackendTLSPolicy, which only ships in Gateway API v1.4.0 (v1.0.0 only providesv1alpha2). Without this, the controller fails withfailed to list *v1.BackendTLSPolicy.Bootstrap/kubespray/andBootstrap/kubespray-venv/to.gitignore(generated at runtime bybootstrap.sh).What changed
Bootstrap/higress/higress.shhigress.io/higress, version bumped to 2.2.0. Gateway API CRDs updated to v1.4.0 with--server-side.Bootstrap/tests/higress/chainsaw-test.yamlhigress-controllerdeployment has ready replicas, (2) at least onehigress-gatewaypod is Running, (3)ssh-gatewayGateway resource exists.Bootstrap/tests/.chainsaw.yamlBootstrap/tests/README.md.gitignoreBootstrap/kubespray/andBootstrap/kubespray-venv/.Why Gateway API v1.4.0?
The experimental channel (
experimental-install.yaml) is required because Higress uses CRDs that the standard channel does not include (TCPRoute,BackendTLSPolicy, etc.). Version 1.4.0 is the minimum that servesv1.BackendTLSPolicy, which Higress 2.2.0 requires.Test plan
Run the deployment script and then the Chainsaw test:
Expected result: All 3 checks pass.
Known limitation
The controller logs show non-fatal RBAC warnings for experimental
gateway.networking.x-k8s.ioresources (xbackendtrafficpolicies,xlistenersets). These do not prevent the controller from reaching Ready state. The Higress Helm chart does not ship RBAC for these experimental CRDs; this can be addressed in a follow-up if needed.Testing
Screenshot Installation works:
Details
Screenshot of infra test passing -- pods are running.
Details
Screenshot showing higress gateway is accessible:
Details