Skip to content
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

Add support for LocalStack v2 #994

Merged
merged 7 commits into from
Apr 12, 2023
Merged

Add support for LocalStack v2 #994

merged 7 commits into from
Apr 12, 2023

Conversation

eddumelendez
Copy link
Member

HOSTNAME_EXTERNAL env var is deprecated and will be replaced by
LOCALSTACK_HOST in the upcoming v2.

`HOSTNAME_EXTERNAL` env var is deprecated and will be replaced by
`LOCALSTACK_HOST` in the upcoming v2.
@netlify
Copy link

netlify bot commented Mar 28, 2023

Deploy Preview for testcontainers-go ready!

Name Link
🔨 Latest commit 779f956
🔍 Latest deploy log https://app.netlify.com/sites/testcontainers-go/deploys/64358f14b8331e0008af094f
😎 Deploy Preview https://deploy-preview-994--testcontainers-go.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@eddumelendez eddumelendez marked this pull request as ready for review March 30, 2023 15:17
@eddumelendez eddumelendez requested a review from a team as a code owner March 30, 2023 15:17
Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
@mdelapenya
Copy link
Collaborator

Localstack tests are failing. Could you take a look 🙏 ?

t.Fatal(err)
}
if c != 0 {
t.Fatalf("AWS CLI command was executed, expected return code 1, got %v", c)
Copy link
Collaborator

Choose a reason for hiding this comment

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

The tests are currently failing here. I'm debugging them locally atm

Copy link
Collaborator

Choose a reason for hiding this comment

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

Double checked that it fails locally. Will try to understand why and propose a fix

Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm able to reproduce it but under certain circumstances: debugging and waiting too much while debugging.

Have you though about adding a waitStrategy with the command to the cli container? Then we can waitFor the result after a number of retries/timeout

Copy link
Collaborator

Choose a reason for hiding this comment

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

@eddumelendez I'm sending a PR to provide wait.ForExec(...).WithResponseCodeMatcher(...), in the same way that we provide it for wait.ForHTTP

That will simplify this PR :)

Copy link
Member Author

Choose a reason for hiding this comment

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

This is interesting! the same config works in tc-java. I was wondering if the network name was making those tests flaky but look like is not. So, if I understood correctly the suggestion is to add the wait strategies as part of the container request, right? Although, the check is against the cli output. I think we can store the result in a file and check it later but doesn't seem to simplify the pr

Copy link
Collaborator

Choose a reason for hiding this comment

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

I'd still create the CLI container, but instead of directly using the Exec method of the container, move it to a wait.ForExec(...).WithResponseMatcher(). If the container is not created without error, then the tests should fail

Does it sound good to you?

Copy link
Member Author

Choose a reason for hiding this comment

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

I think we have the same issue 🤔 (locally)

Copy link
Collaborator

Choose a reason for hiding this comment

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

🤔 Could it be caused by the startup timeout not being enough depending on the machine?

I've seen some issues regarding that in the couchbase module in a non-deterministic manner. Restarting its CI build fixes it. Could it be the case for this?

Copy link
Member Author

Choose a reason for hiding this comment

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

yeah, it could be.

@sonarcloud
Copy link

sonarcloud bot commented Apr 11, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

No Coverage information No Coverage information
0.0% 0.0% Duplication

Copy link
Collaborator

@mdelapenya mdelapenya left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

@mdelapenya mdelapenya merged commit 3925d4c into main Apr 12, 2023
99 checks passed
@mdelapenya mdelapenya deleted the localstack_v2 branch April 12, 2023 14:39
@mdelapenya mdelapenya added the enhancement New feature or request label Apr 12, 2023
@mdelapenya mdelapenya self-assigned this Apr 12, 2023
mdelapenya added a commit to mdelapenya/testcontainers-go that referenced this pull request Apr 13, 2023
* main:
  Add support for LocalStack v2 (testcontainers#994)
  docs: document tc_host inside the networking section (testcontainers#1041)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants