-
-
Notifications
You must be signed in to change notification settings - Fork 510
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
feat(redpanda): Add option for arbitrary bootstrap config #2666
Conversation
✅ Deploy Preview for testcontainers-go ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
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.
Could you add tests for this new option?
Once there, I think this is LGTM
Cheers!
Absolutely. Thanks for the quick review @mdelapenya ! |
c69723c
to
86985f0
Compare
force push contents: a test |
Hey @mdelapenya - does the test I added look ok to you? |
Ping @mdelapenya - I think the concerns here are addressed - thanks in advance! |
I'm on PTO for this week, will take a look then 🙏 |
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.
Quick pass to help keep this moving along, some issues and questions.
86985f0
to
cc28e93
Compare
force push some CR feedback:
|
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.
Thanks for the previous changes, have clarified my previous comment about Body.Close
and provided an example, so hope that helps.
cc28e93
to
5899844
Compare
force push contents:
|
Thanks for the reviews @stevenh - I think we've addressed all of your comments; please lmk if you have any lingering concerns 🙂 |
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.
Just a few asserts remaining if you would be so kind.
As you can see from the example, they aren't an issue until a test actually fails, then they can result it quite hard to understand output as you typically end up with compound errors.
5899844
to
0e1db02
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.
LGTM, thanks all for your work here 🙇
WithBootstrapConfig adds an arbitrary config kvp to the Redpanda container. Per the name, this config will be interpolated into the generated bootstrap config file, which is particularly useful for configs requiring a restart when otherwise applied to a running Redpanda instance. Includes a test that sets a couple of restart-requiring cluster configs and checks a) that the values are reflected in the config state at run time AND b) that the cluster does not need a restart. (b) demonstrates that the configs were bootstrapped rather than applied to a live cluster. Signed-off-by: Oren Leiman <[email protected]>
0e1db02
to
98389fe
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.
LGTM, thanks!
* main: fix(compose): remove test volumes (#2712) chore(mysql): add missing error check in example (#2707) chore: remove unused params from defaultPreCreateHook (#2714) docs: improve docs for container methods (#2713) chore(registry): disable build log (#2711) chore: remove obsolete compose version (#2710) chore: improve lifecycle errors (#2708) docs: add consistent snippets for network creation (#2703) test: add retry on system error test (#2687) Redpanda Module: Add option for arbitrary bootstrap config (#2666) feat(inbucket): expose POP3 and wait for all ports (#2690) fix(wait): data race in test (#2698) fix(milvus): racy container setup (#2693) fix(mongodb): replica test failures (#2699) test: racy port creation in port forwarding tests (#2688) fix: port forwarding race condition (#2686)
What does this PR do?
WithBootstrapConfig adds an arbitrary config kvp to the Redpanda container. Per the name, this config will be interpolated into the generated bootstrap config file, which is particularly useful for configs requiring a restart when otherwise applied to a running Redpanda instance.
Why is it important?
Several Redpanda cluster config properties can be updated live but require a node restart to take effect. The simplest way to expose these to testcontainer consumers is to provide generic access prior to container startup.
An example usage case is an integration test for a particularly memory hungry Wasm Data Transform, where tuning the per core and per function memory limits in a flexible, implementation driven way may be the difference between testing or not testing that function.
Related issues