FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Feature/pumba support by slnowak · Pull Request #283 · testcontainers/testcontainers-java · GitHub

Feature/pumba support - #283

Closed
slnowak wants to merge 36 commits into
testcontainers:masterfrom
slnowak:feature/pumba-support
Closed

Feature/pumba support#283
slnowak wants to merge 36 commits into
testcontainers:masterfrom
slnowak:feature/pumba-support

Conversation

slnowak commented Jan 27, 2017

Copy link
Copy Markdown
Contributor

Ok, this would be probably first approach to tackle this, since I don't really have much time right now to improve it.
It's not yet fully done, but please at least review it.

slnowak commented Jan 27, 2017

Copy link
Copy Markdown
Contributor Author

Not really sure why it failed on CI, i will try to fix it during the weekend

bsideup commented May 29, 2017

Copy link
Copy Markdown
Member

Hey @slnowak,

Any luck?

slnowak commented May 29, 2017
edited
Loading

Copy link
Copy Markdown
Contributor Author

@bsideup I've abandoned it because of lack of response. If you're still interested, I could resurrect the idea.

bsideup commented May 29, 2017

Copy link
Copy Markdown
Member

@slnowak you did a great job and for sure we wish to see the final result! :)

Do you need some help from our side?

slnowak commented May 29, 2017

Copy link
Copy Markdown
Contributor Author

I will try to find some time to work on it this week and give you some updates.

bsideup commented May 29, 2017

Copy link
Copy Markdown
Member

Great, thanks :)

slnowak force-pushed the feature/pumba-support branch from 118d551 to f966b56 Compare June 2, 2017 23:06
slnowak force-pushed the feature/pumba-support branch from f966b56 to 216a437 Compare June 3, 2017 08:28

slnowak commented Jun 3, 2017

Copy link
Copy Markdown
Contributor Author

@bsideup
Did some refactoring (lost almost all package private classes :(, but at least package structure is more readable now).
Tests should now pass on travis. However, I think it should be in a separate repo.

slnowak force-pushed the feature/pumba-support branch from 57fbada to e86bd3a Compare June 4, 2017 10:52

bsideup commented Jun 9, 2017

Copy link
Copy Markdown
Member

Hi @slnowak,

Looks impressive! I'll do my best to find time to re-review it soon 👍
I especially like the DSL part :)

If you want, I can create a repo under "testcontainers" org for you, so that you can put this module there and even take the ownership :)

We already did that for a couple of modules:
https://github.com/testcontainers/testcontainers-java-module-mariadb
https://github.com/testcontainers/testcontainers-java-module-dynalite
docker-archive-public/testcontainers.testcontainers-java-module-vault#1

Or we can do the merge and extract it ourselves. Just let me know what works best for you!

Thanks!

rnorth commented Jun 9, 2017 via email

Copy link
Copy Markdown
Member

rnorth commented Jun 10, 2017

Copy link
Copy Markdown
Member

Reviewing and hoping to have a good play with this on a flight today. Looking pretty great so far though :)

super.start();
}

private static class DoNotCheckStartup extends StartupCheckStrategy {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

It looks like the end goal might be similar to what OneShotStartupCheckStrategy does. Did you see that?

The One Shot strategy makes sure the container has both started and stopped successfully. Would this be helpful (e.g. avoiding race conditions or odd pumba command failures)?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

I've already tried it and it didn't work well with pubma. Maybe I will take another look on that.

return this;
}

public DelayOutgoingPackets withCorreltaion(int correlation) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Typo: Correlation

slnowak commented May 17, 2018
edited
Loading

Copy link
Copy Markdown
Contributor Author

@bsideup I will address the pr over the weekend + I will check how it behaves on multiple networks + stuff.

Sorry about the delay, I’m kind of busy during the week.

bsideup self-assigned this May 17, 2018

bsideup commented May 17, 2018

Copy link
Copy Markdown
Member

@slnowak no, we should be sorry for not reviewing it in time :D I'm assigning myself to this PR - feel free to ping me anytime (including Slack), let's deliver it 💪

slnowak requested a review from kiview as a code owner May 19, 2018 13:20

slnowak commented May 20, 2018
edited
Loading

Copy link
Copy Markdown
Contributor Author

@bsideup
Regarding pumba targets:
By default it interacts with all the containers running on docker, which is probably a no-go. I think we should restrict it only to containers spawned by testcontainers. Ideally, we should even restrict it to current tesctontainers session.
Unfortunately, there's not much we can do - see alexei-led/pumba#41 - you either need to play around with container names or you can annotate all the containers that should be ignored by pumba with --label com.gaiaadm.pumba.skip=true (which is of course not possible and not desirable).
Maybe we could submit a PR to pumba so that it takes requested labels into account?

We can also evaluate the regexp in java code and check at runtime if it matches any container that is started outside testcontainers, however it only partially solves the problem (in case of recurring command, it can affect any container started later than pumba)

bsideup commented May 21, 2018

Copy link
Copy Markdown
Member

Hi @slnowak,

Yes, a PR to Pumba sounds like the way to go 👍
Currently, they support "excludes" with com.gaiaadm.pumba.skip, and a PR might introduce "includes".

slnowak commented Jun 9, 2018

Copy link
Copy Markdown
Contributor Author

Ok, I will work on pumba PR in a day or two.

bsideup commented Jun 14, 2018

Copy link
Copy Markdown
Member

@slnowak thanks a lot for your efforts on bringing this! Amazing commitment 💪

slnowak commented Jun 14, 2018

Copy link
Copy Markdown
Contributor Author

For reference alexei-led/pumba#86
I've started some development to integrate this but let's wait for the pumba author's response.

bsideup modified the milestone: next Jun 15, 2018
bsideup removed this from the next milestone Jul 10, 2018
rnorth mentioned this pull request Oct 28, 2018

stale Bot commented Jan 7, 2019

Copy link
Copy Markdown

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe this is a mistake, please reply to this comment to keep it open. If there isn't one already, a PR to fix or at least reproduce the problem in a test case will always help us get back on track to tackle this.

rnorth commented Jan 8, 2019

Copy link
Copy Markdown
Member

Let’s keep this one open!

Sent with GitHawk

stale Bot commented Jan 22, 2019

Copy link
Copy Markdown

This issue has been automatically closed due to inactivity. We apologise if this is still an active problem for you, and would ask you to re-open the issue if this is the case.

stale Bot closed this Jan 22, 2019
bsideup reopened this Jan 22, 2019
stale Bot removed the stale label Jan 22, 2019
rnorth mentioned this pull request Mar 20, 2019
rnorth added a commit that referenced this pull request Mar 22, 2019
Based on https://gist.github.com/rnorth/4c3666d62fa93bf0daa813b282e4ebff, in turn based on [hotels.com’s blog post](https://medium.com/hotels-com-technology/i-dont-know-about-resilience-testing-and-so-can-you-b3c59d80012d) where they show use of Testcontainers with Toxiproxy.

Having seen Toxiproxy and experimented with it, I'm inclined to go with this and suggest that we not move forward with #283 (which is a great PR, but we've unfortunately failed to land after quite a long time). While Pumba may be nice and transparent, there are a lot of moving parts and complexity under the covers, vs Toxiproxy, which is a bit less magical but easier to understand.

rnorth commented Mar 23, 2019

Copy link
Copy Markdown
Member

I'm afraid it's time to close this PR - sorry that we didn't manage to land it in the end.

We've just released a Toxiproxy module for resilience testing, which is arguably a less sophisticated model, but is much simpler from an implementation perspective.

I hope the Toxiproxy module meets the needs of anyone following this PR.

@slnowak thanks for your efforts, and sorry if you feel the work was in vain. Your idea, to be able to conduct chaos testing with Testcontainers, is still going to make a big difference for Testcontainers users and we're grateful for that.

rnorth closed this Mar 23, 2019
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants


Back | FazBrowse Home | New Git URL