-
Notifications
You must be signed in to change notification settings - Fork 1.7k
chore(vdev): Rework support for integration tests #16085
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
Merged
Merged
Conversation
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
This was referenced Jan 24, 2023
davidhuie-dd
pushed a commit
that referenced
this pull request
Jan 24, 2023
* Add environment manager for amqp * Add environment manager for apex * Add environment manager for aws * Add environment manager for axiom * Add environment manager for azure * Add environment manager for chronicle * Add environment manager for clickhouse * Add environment manager for datadog-agent * Add environment manager for datadog-traces * Add environment manager for elasticsearch * Add environment manager for eventstoredb * Add environment manager for gcp * Add environment manager for http-client * Add environment manager for humio * Add environment manager for influxdb * Add environment manager for kafka * Add environment manager for logstash * Add environment manager for loki * Add environment manager for mongodb * Add environment manager for nats * Add environment manager for nginx * Add environment manager for opentelemetry * Add environment manager for postgres * Add environment manager for prometheus * Add environment manager for pulsar * Add environment manager for redis * Add environment manager for shutdown * Add environment manager for splunk * Fix integration test matrix data * Merge all the integration tests into a common `bin` directory * Merge all the main routines into a library * Merge all the core libraries into the main lib * Move all integration manager bins into one program * Flatten out docker-compose files and bail on canonicalization error * Integration integration manager into vdev * Convert integration test state functions into a struct * Refactor testing config types * Move integration test running into library * Use `collect_all` function to provide integration test versions * Allow use of podman-compose using CONTAINER_TOOL * Fix version environment variable name * Rename the `docker-compose.yml` files to `compose.yaml` as per spec Ref: https://github.com/compose-spec/compose-spec/blob/master/spec.md#compose-file "The default path for a Compose file is compose.yaml (preferred) or compose.yml" * Refactor integration test running compose into struct * Fix running integration tests with podman * Remove unneeded README files * Fix obsolete image name in aws integration compose file * Fix integration test relative paths * Only list integration directories that have a config file * Show active environments in the compact integration listing * Let `vdev integration stop` stop all environments * Remove accidentally committed file * Add a README for the integration test files * Drop unused network reference in aws integration * Simplify path to chronicle pub key * Add header to the `integration show` output Co-authored-by: Ofek Lev <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
domain: ci
Anything related to Vector's CI environment
domain: dev
Anything related to Vector's development environment
domain: tests
Anything related to Vector's internal tests
domain: vdev
Anything related to the vdev tooling
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This reworks the support in
vdev
for integration testing, starting from the integration test environments (#15232 through #15259) and refactored the program code into vdev, and incrementally moving all of the test framework inside of the tool, leaving only config files outside of thevdev
directory, and then refactoring the result.As of this PR, several of the integration tests run properly, but not all, and they are not used in the CI process. I will submit a second PR following this one to clean up the actual tests, as that should not impact the test runner. I am putting this out now so the runner portion can get review while I work through the individual tests.
Notably, the following tests work out of the box:
amqp
apex
azure
chronicle
clickhouse
elasticsearch
http-client
kafka
nats
redis
You can run them with:
cargo vdev integration test http-client
or, as individual steps to enable faster repeat testing:
cargo vdev integration start http-client latest cargo vdev integration test http-client latest cargo vdev integration stop http-client