-
Notifications
You must be signed in to change notification settings - Fork 771
[tmpnet] Enable installation of chaos mesh to local kind cluster #3674
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: tmpnet-nginx-ingress
Are you sure you want to change the base?
Conversation
f0c42ab
to
b75f632
Compare
This PR has become stale because it has been open for 30 days with no activity. Adding the |
This PR has become stale because it has been open for 30 days with no activity. Adding the |
edff22a
to
402ad07
Compare
tmpnetctl start-kind-cluster --install-chaos-mesh
tmpnetctl start-kind-cluster --install-chaos-mesh
402ad07
to
4610eb8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds an optional flag to install Chaos Mesh into a local kind cluster, updates existing ingress controller port usage to a shared constant, and integrates Chaos Mesh deployment logic with Helm and readiness checks.
- Introduces
--install-chaos-mesh
flag andinstallChaosMesh
parameter - Adds Chaos Mesh constants,
deployChaosMesh
,isChaosMeshRunning
, andwaitForChaosMesh
functions - Refactors ingress port settings to use
ingressNodePort
constant and updates the kind script comment
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
tests/fixture/tmpnet/tmpnetctl/main.go | Adds installChaosMesh flag and passes it through to StartKindCluster |
tests/fixture/tmpnet/start_kind_cluster.go | Defines Chaos Mesh constants, handles installChaosMesh branch, and implements Helm deployment and readiness polling |
scripts/kind-with-registry.sh | Updates comment to reference the ingressNodePort constant |
Comments suppressed due to low confidence (2)
tests/fixture/tmpnet/start_kind_cluster.go:131
- No existing tests cover the
installChaosMesh
branch; consider adding a unit or integration test to verify that Chaos Mesh is deployed when the flag is set.
if installChaosMesh {
tests/fixture/tmpnet/start_kind_cluster.go:58
- Accessing the dashboard at
chaos-mesh.localhost
requires a hosts entry (e.g.,/etc/hosts
); please document this requirement in the README or RELEASES.md.
chaosMeshDashboardHost = "chaos-mesh.localhost"
e78a019
to
0b90032
Compare
e2231cd
to
7991525
Compare
0b90032
to
f565e8f
Compare
7991525
to
b9f3df7
Compare
Previously the scheduling label and value required to enable exclusive scheduling were defined as flag defaults. To enable the cluster to define these defaults, the defaults are now sourced from a configmap in the target namespace.
Previously, access from outside of a kube cluster was enabled by port-forwarding through the kube API. This approach turned out incompatible with load testing because it greatly limited the rate at which transactions could be sent. The port-forwarding is replaced with nginx+ingress to ensure minimum overhead when running outside of a kube cluster.
Why this should be merged
Deploying chaos mesh to a local kube cluster simplifies learning about the reactions of an avalanchego network to fault injection scenarios.
How this works
How this was tested
tmpnetctl start-kind-cluster --install-chaos-mesh
and ran a chaos experimentNeed to be documented in RELEASES.md?
N/A
TODO