Add AWS tests to Jenkinsfile#17480
Conversation
|
Pinging @elastic/integrations-platforms (Team:Platforms) |
9790c08 to
886e437
Compare
effca4c to
38f9405
Compare
|
jenkins, test this |
|
jenkins, test this please |
fd5503c to
221c4c8
Compare
|
jenkins, test this |
95557cb to
86da3ac
Compare
|
I have added some docs about the use of Terraform in Beats tests. This would be ready for final reviews. |
|
|
💔 Build FailedExpand to view the summary
Build stats
Test stats 🧪
Test errorsExpand to view the tests failures
Steps errorsExpand to view the steps failures
Log outputExpand to view the last 100 lines of log output
|
Modules that don't define a local environment with docker compose or kubernetes (kind) are not being executed. Fall back to the old default of docker in that case.
What does this PR do?
Add execution of AWS integration tests for Metricbeat to Jenkinsfile. For that, a simple terraform scenario is created that seems to be enough to pass the AWS module tests, this scenario is started by Jenkins, and destroyed as a cleanup step. With this approach terraform scenarios are defined per module, this is consequent with other efforts we are doing with other integrations, where integration test scenarios are defined at the module level. Similar approach will be followed for input integration tests.
Most of the logic is added in the Jenkinsfile and as scripts. Some things could be moved to mage when we modify our targets to start scenarios depending on the type of provisioner. Some parts are going to continue being needed in Jenkinsfile in my opinion, as the archive of Terraform states for manual cleanups.
Summary of changes:
s3_request, see note below).Why is it important?
To be able to run AWS-related Metricbeat integration tests in Jenkins.
Pending for the future
s3_requestmetricset doesn't pass only by creating S3 buckets, we may need to make some requests to this bucket? I am skipping it by now.mageTargetcleans up the environment and only has a clean working copy of the code. This can be needed if we want to check for the metrics of an specific resource, or we want to collect logs from an specific endpoint. There are two approaches for that:mageTargetso it is possible to unstash more things apart of the source.mageTarget. We may still need to stash/archive the terraform state for cleanups or sharing the environment between stages.Checklist
I have added an entry inCHANGELOG.next.asciidocorCHANGELOG-developer.next.asciidoc.Author's Checklist
Related issues