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

[ftr] add support for docker services #61920

Closed
wants to merge 18 commits into from

Conversation

spalger
Copy link
Contributor

@spalger spalger commented Mar 31, 2020

Talked with @nchaulet about #61699 and I think this would be an interesting way to solve it, adding a dockerServers config to the functional test runner that would allow launching any number of servers along side the functional tests.

Provided by this feature:

  • pull+run a container every time the tests are run
  • route logs into the standard logging infrastructure (including junit reports)
  • ensure the container stays up until tests complete
  • fail tests if container dies
  • bind a single port from the container to the machine
  • expose the URL of the service via a service
  • mechanism to delay test startup while service initializes
  • cleanup of container

Not provided by this feature:

  • only using containers optionally, so that we don't add docker as a dependency for the repo
  • ensuring that multiple containers are not trying to bind to the same port across parallel executions of the FTR

DOCS

@spalger
Copy link
Contributor Author

spalger commented Mar 31, 2020

Example of what happens when port number isn't unique: https://kibana-ci.elastic.co/job/elastic+kibana+pipeline-pull-request/37391/execution/node/216/log/

image

(expanded error message fe54cbe)

@nchaulet
Copy link
Member

Hi @spalger, I am curious on how this POC went and if it's something we can push further?

…-docker-servers

# Conflicts:
#	.ci/Jenkinsfile_coverage
#	.ci/Jenkinsfile_visual_baseline
#	packages/kbn-dev-utils/src/index.ts
#	packages/kbn-pm/dist/index.js
#	packages/kbn-test/src/functional_test_runner/lib/index.ts
#	vars/workers.groovy
@skh
Copy link
Contributor

skh commented Jun 3, 2020

I've opened spalger#34 with a few suggestions, and a working test.

@spalger
Copy link
Contributor Author

spalger commented Jun 3, 2020

Moving this PR to a feature branch and starting a second PR for the ingest test implementation

@spalger spalger closed this Jun 3, 2020
@spalger spalger deleted the implement/ftr-docker-servers branch June 3, 2020 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants