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

make ryuk timeouts configurable via properties file #1668

Merged

Conversation

srenatus
Copy link
Contributor

@srenatus srenatus commented Sep 22, 2023

What does this PR do?

This adds two new properties, like

ryuk.connection.timeout=2m
ryuk.reconnection.timeout=3m

to control the timeouts used with the reaper container.

Their defaults are 1 minute (connection) and 10 seconds (reconnection), matching the defaults of the ryuk container's env vars.

Why is it important?

In an E2E run, TC had problems re-creating the reaper container after it had stopped because the reconnection timeout was exceeded. With this, we can workaround that problem by increasing the timeout.

Related issues

🗨️ Discussed in Slack

How to test this PR

Unit tests have been updated and added.

Follow-ups

  1. Some properties can also be controlled via env vars. We could do the same for these two new ones.
  2. It might make sense to also add support for ryuk.verbose=true.
  3. The actual underlying problem, being unable to start a second reaper instance after the first one went away, would also be good to fix, I think.

@srenatus srenatus requested a review from a team as a code owner September 22, 2023 09:27
@netlify
Copy link

netlify bot commented Sep 22, 2023

Deploy Preview for testcontainers-go ready!

Name Link
🔨 Latest commit 1f5d34e
🔍 Latest deploy log https://app.netlify.com/sites/testcontainers-go/deploys/650d64b0647c3b000855b272
😎 Deploy Preview https://deploy-preview-1668--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 configuration.

This adds two new properties, like

    ryuk.connection.timeout=2m
    ryuk.reconnection.timeout=3m

to control the timeouts used with the reaper container.

Their defaults are 1 minute (connection) and 10 seconds (reconnection),
matching the defaults of the ryuk container's env vars.

Signed-off-by: Stephan Renatus <[email protected]>
Copy link
Member

@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.

This looks great! Thanks for being so quick with the implementation.

LGTM

@mdelapenya mdelapenya self-assigned this Sep 22, 2023
@mdelapenya mdelapenya added the feature New functionality or new behaviors on the existing one label Sep 22, 2023
@mdelapenya
Copy link
Member

The actual underlying problem, being unable to start a second reaper instance after the first one went away, would also be good to fix, I think.

Could you elaborate a bit more, maybe in a different issue? 🙏

@mdelapenya mdelapenya merged commit eb1ec14 into testcontainers:main Sep 22, 2023
107 checks passed
@srenatus srenatus deleted the sr-ryuk-timeout-configurables branch September 22, 2023 14:53
@srenatus
Copy link
Contributor Author

Could you elaborate a bit more, maybe in a different issue? 🙏

Sure! I'll try to isolate the issue and share the test file -- in another issue -- early next week 🤞

@srenatus
Copy link
Contributor Author

✔️ #1671

mdelapenya added a commit that referenced this pull request Sep 25, 2023
…util/v3-3.23.8

* main:
  chore(deps): bump github.com/IBM/sarama in /modules/kafka (#1637)
  chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 (#1625)
  chore(deps): bump github.com/elastic/go-elasticsearch/v8 (#1641)
  chore(deps): bump github.com/tidwall/gjson from 1.16.0 to 1.17.0 in /modules/couchbase and /modules/vault (#1684)
  chore(deps): bump mkdocs from 1.5.2 to 1.5.3 (#1662)
  chore(deps): bump github.com/nats-io/nats.go in /modules/nats (#1657)
  chore(deps): bump k8s.io/apimachinery from 0.28.1 to 0.28.2 and k8s.io/client-go from 0.28.1 to 0.28.2 in /modules/k3s (#1683)
  chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.39 to 1.18.42 and github.com/aws/aws-sdk-go from 1.45.3 to 1.45.15 and github.com/aws/aws-sdk-go-v2/service/s3 from 1.38.5 to 1.39.0 in /modules/localstack (#1680)
  chore(deps): bump github.com/twmb/franz-go/pkg/kadm from 1.9.0 to 1.9.1 and github.com/twmb/franz-go from 1.14.4 to 1.15.0 in /modules/redpanda (#1682)
  chore(deps): bump cloud.google.com/go/datastore from 1.13.0 to 1.14.0 and google.golang.org/grpc from 1.58.1 to 1.58.2 and cloud.google.com/go/spanner from 1.47.0 to 1.49.0 in /modules/gcloud (#1681)
  feat: add GCloud module (#1670)
  make ryuk timeouts configurable via properties file (#1668)
  chore(deps): bump mkdocs-material from 8.2.7 to 9.3.2 (#1649)
  chore(deps): bump google.golang.org/grpc from 1.57.0 to 1.58.1 and google.golang.org/api from 0.138.0 to 0.142.0 in /examples (#1667)
  feat: support for loading images in the K3s module (#1622)
mdelapenya added a commit that referenced this pull request Sep 26, 2023
….com/docker/compose/v2-2.22.0

* main:
  chore(deps): bump golang.org/x/text to v0.15.0 (#1687)
  chore(deps): bump github.com/shirou/gopsutil/v3 from 3.23.7 to 3.23.8 (#1651)
  Wait for k3s node to sync (#1685)
  chore(deps): bump github.com/IBM/sarama in /modules/kafka (#1637)
  chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 (#1625)
  chore(deps): bump github.com/elastic/go-elasticsearch/v8 (#1641)
  chore(deps): bump github.com/tidwall/gjson from 1.16.0 to 1.17.0 in /modules/couchbase and /modules/vault (#1684)
  chore(deps): bump mkdocs from 1.5.2 to 1.5.3 (#1662)
  chore(deps): bump github.com/nats-io/nats.go in /modules/nats (#1657)
  chore(deps): bump k8s.io/apimachinery from 0.28.1 to 0.28.2 and k8s.io/client-go from 0.28.1 to 0.28.2 in /modules/k3s (#1683)
  chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.39 to 1.18.42 and github.com/aws/aws-sdk-go from 1.45.3 to 1.45.15 and github.com/aws/aws-sdk-go-v2/service/s3 from 1.38.5 to 1.39.0 in /modules/localstack (#1680)
  chore(deps): bump github.com/twmb/franz-go/pkg/kadm from 1.9.0 to 1.9.1 and github.com/twmb/franz-go from 1.14.4 to 1.15.0 in /modules/redpanda (#1682)
  chore(deps): bump cloud.google.com/go/datastore from 1.13.0 to 1.14.0 and google.golang.org/grpc from 1.58.1 to 1.58.2 and cloud.google.com/go/spanner from 1.47.0 to 1.49.0 in /modules/gcloud (#1681)
  feat: add GCloud module (#1670)
  make ryuk timeouts configurable via properties file (#1668)
  chore(deps): bump mkdocs-material from 8.2.7 to 9.3.2 (#1649)
  chore(deps): bump google.golang.org/grpc from 1.57.0 to 1.58.1 and google.golang.org/api from 0.138.0 to 0.142.0 in /examples (#1667)
  feat: support for loading images in the K3s module (#1622)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New functionality or new behaviors on the existing one
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants