[CHAOSPLT-1364] Fix cloud disruption hosts only injected in first chaos pod#1012
Merged
[CHAOSPLT-1364] Fix cloud disruption hosts only injected in first chaos pod#1012
Conversation
This was referenced Dec 22, 2025
Contributor
Author
11 tasks
623468b to
68d4ef6
Compare
766b11f to
28c876d
Compare
68d4ef6 to
205f48c
Compare
28c876d to
6f36370
Compare
205f48c to
dea3090
Compare
diyarab
approved these changes
Dec 22, 2025
dea3090 to
d3de07c
Compare
6f36370 to
cb4f887
Compare
d3de07c to
bedf48a
Compare
cdae105 to
742fcec
Compare
bedf48a to
bf4a502
Compare
clairecng
approved these changes
Dec 30, 2025
742fcec to
f6beea5
Compare
bf4a502 to
5736463
Compare
Use DeepCopy before Status().Update() to prevent in-memory spec changes from being lost. Without this, cloud disruption hosts were cleared after the first chaos pod creation, causing subsequent pods to have no hosts injected. Jira: CHAOSPLT-1364
5736463 to
06dcf17
Compare
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.

What does this PR do?
Please briefly describe your changes as well as the motivation behind them:
Bug Fix: Cloud network disruptions (e.g., AWS S3) were only injecting
--hostsarguments into the first chaos pod. When multiple targets were selected, subsequentchaos pods were created without any hosts, causing the disruption to fail partially.
Root Cause: The
r.Client.Status().Update(ctx, instance)call increateChaosPods(line 709) overwrites the localinstanceobject with the API server's response.Since
UpdateHostsOnCloudDisruptionmodifiesinstance.Spec.Network.Hostsin memory only (not persisted to etcd), the hosts were cleared after the first pod creation.Solution: Use
DeepCopy()before callingStatus().Update()to preserve in-memory spec changes. This follows Kubernetes controller-runtime best practices(cluster-api #1259, controller-runtime
#2850).
BTW: It also fix the flaky test.
Code Quality Checklist
Testing
unittests orend-to-endtests.unittests orend-to-endtests.--hostsarguments, second pod had 0.ginkgo --focus "should create a cloud disruption but apply a host disruption with the list of cloud managed service ip ranges"- passessuccessfully.