Skip to content
This repository was archived by the owner on Sep 17, 2024. It is now read-only.

chore: define provider for each test suite#2213

Merged
mdelapenya merged 16 commits intoelastic:mainfrom
mdelapenya:adjust-provisioners-docker-remote-provider
Mar 9, 2022
Merged

chore: define provider for each test suite#2213
mdelapenya merged 16 commits intoelastic:mainfrom
mdelapenya:adjust-provisioners-docker-remote-provider

Conversation

@mdelapenya
Copy link
Copy Markdown
Contributor

  • chore: preset the provider at suite or/and scenario level
  • docs: document the CI descriptor for the platform support
  • docs: describe each platform
  • fix: typo
  • chore: declare platforms just once
  • docs: document machine dependencies

What does this PR do?

This PR does three things:

  • adds support for a test suite and/or a test scenario to declare the provider to be used in the test execution on CI
  • splits the descriptor files to have one single file for the available platforms at CI time.
  • documents the file descriptors so that anybody can understand how to add a new supported platform

Why is it important?

First, document the descriptors. This is key for external contributors owning their own support matrix.

Second, prepare the code to re-enable skipped suites using docker or elastic-package providers

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have run the Unit tests (make unit-test), and they are passing locally
  • I have run the End-2-End tests for the suite I'm working on, and they are passing locally
  • I have noticed new Go dependencies (run make notice in the proper directory)

Related issues

@mdelapenya mdelapenya added backport-v7.17.0 Automated backport with mergify backport-v8.0.0 Automated backport with mergify backport-v8.1.0 Automated backport with mergify labels Mar 9, 2022
@mdelapenya mdelapenya self-assigned this Mar 9, 2022
@mdelapenya mdelapenya requested a review from a team March 9, 2022 08:23
@elasticmachine
Copy link
Copy Markdown
Contributor

elasticmachine commented Mar 9, 2022

💔 Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview [preview](https://ci-stats.elastic.co/app/apm/services/beats-ci/transactions/view?rangeFrom=2022-03-09T17:20:12.562Z&rangeTo=2022-03-09T17:40:12.562Z&transactionName=BUILD e2e-tests/e2e-testing-mbp/PR-{number}&transactionType=job&latencyAggregationType=avg&traceId=f27a5c14f4436a9da198538a765f0364&transactionId=4879c503d7a51443)

Expand to view the summary

Build stats

  • Start Time: 2022-03-09T17:30:12.562+0000

  • Duration: 50 min 59 sec

Test stats 🧪

Test Results
Failed 1
Passed 275
Skipped 0
Total 276

Test errors 1

Expand to view the tests failures

Initializing / End-To-End Tests / kubernetes-autodiscover_debian_amd64_elastic-agent / Logs collection from running pod – elastic-agent standalone
    Expand to view the error details

     Step "elastic-agent" collects events with "kubernetes.pod.name:a-pod": context deadline exceeded 
    

  • no stacktrace

Steps errors 2

Expand to view the steps failures

Shell Script
  • Took 16 min 20 sec . View more details here
  • Description: ssh -tt -o TCPKeepAlive=yes -o ServerAliveInterval=60 -o ServerAliveCountMax=10 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /var/lib/jenkins/workspace/PR-2213-7-cf3141e0-6ca7-4886-885e-7437b78ce39b/e2essh admin@18.218.203.128 -- 'sudo bash /home/admin/e2e-testing/.ci/scripts/functional-test.sh "elastic-agent && ~@nightly && ~@skip:amd64" '
Archive the artifacts
  • Took 0 min 1 sec . View more details here
  • Description: [2022-03-09T18:17:44.140Z] Archiving artifacts script returned exit code 2

🐛 Flaky test report

❕ There are test failures but not known flaky tests.

Expand to view the summary

Genuine test errors 1

💔 There are test failures but not known flaky tests, most likely a genuine test failure.

  • Name: Initializing / End-To-End Tests / kubernetes-autodiscover_debian_amd64_elastic-agent / Logs collection from running pod – elastic-agent standalone

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

@mdelapenya mdelapenya marked this pull request as ready for review March 9, 2022 13:10
Copy link
Copy Markdown
Contributor

@adam-stokes adam-stokes left a comment

Choose a reason for hiding this comment

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

Very cool!!

image: "ami-0f7cb53c916a75006"
instance_type: "c5.4xlarge"
username: ec2-user
fleet_elastic_pkg:
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think we can remove this platform in a follow-up PR, as we can control the same with provider: elastic-package in the YAML file

# - name: "Stand-alone"
# tags: "stand_alone_agent"
# platforms: ["fleet_elastic_pkg"]
- name: "Stand-alone"
Copy link
Copy Markdown
Contributor Author

@mdelapenya mdelapenya Mar 9, 2022

Choose a reason for hiding this comment

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

I'm going to revert this commit and add it in a follow up, as the stand-alone tests are failing, even locally

I think we are messing how the elastic-agent Docker container is bootstrapped when running with Docker provider cc/ @adam-stokes

@mdelapenya mdelapenya merged commit 2ddece6 into elastic:main Mar 9, 2022
@mdelapenya mdelapenya deleted the adjust-provisioners-docker-remote-provider branch March 9, 2022 18:22
mergify bot pushed a commit that referenced this pull request Mar 9, 2022
* chore: preset the provider at suite or/and scenario level

* docs: document the CI descriptor for the platform support

* docs: describe each platform

* fix: typo

* chore: declare platforms just once

* docs: document machine dependencies

* docs: link to CI infra documentation

* fix: use right location for the platforms file

* fix: set remote variables only for remote provider

* fix: disable fleet-server for regular standalone deployments

* chore: add ES and kibana endpoints to the logs

* chore: apply docker provider for elastic-agent triggers

* chore: re-enable stand-alone scenarios

* chore: move fleet-server default policy to a constant

* Revert "chore: re-enable stand-alone scenarios"

This reverts commit cbb281f.

(cherry picked from commit 2ddece6)

# Conflicts:
#	.ci/.e2e-tests-for-elastic-agent.yaml
#	.ci/.e2e-tests.yaml
mergify bot pushed a commit that referenced this pull request Mar 9, 2022
* chore: preset the provider at suite or/and scenario level

* docs: document the CI descriptor for the platform support

* docs: describe each platform

* fix: typo

* chore: declare platforms just once

* docs: document machine dependencies

* docs: link to CI infra documentation

* fix: use right location for the platforms file

* fix: set remote variables only for remote provider

* fix: disable fleet-server for regular standalone deployments

* chore: add ES and kibana endpoints to the logs

* chore: apply docker provider for elastic-agent triggers

* chore: re-enable stand-alone scenarios

* chore: move fleet-server default policy to a constant

* Revert "chore: re-enable stand-alone scenarios"

This reverts commit cbb281f.

(cherry picked from commit 2ddece6)

# Conflicts:
#	.ci/.e2e-tests-for-elastic-agent.yaml
#	.ci/.e2e-tests.yaml
#	e2e/_suites/fleet/fleet.go
mergify bot pushed a commit that referenced this pull request Mar 9, 2022
* chore: preset the provider at suite or/and scenario level

* docs: document the CI descriptor for the platform support

* docs: describe each platform

* fix: typo

* chore: declare platforms just once

* docs: document machine dependencies

* docs: link to CI infra documentation

* fix: use right location for the platforms file

* fix: set remote variables only for remote provider

* fix: disable fleet-server for regular standalone deployments

* chore: add ES and kibana endpoints to the logs

* chore: apply docker provider for elastic-agent triggers

* chore: re-enable stand-alone scenarios

* chore: move fleet-server default policy to a constant

* Revert "chore: re-enable stand-alone scenarios"

This reverts commit cbb281f.

(cherry picked from commit 2ddece6)

# Conflicts:
#	.ci/.e2e-tests-for-elastic-agent.yaml
#	.ci/.e2e-tests.yaml
#	README.md
#	e2e/_suites/fleet/fleet.go
mdelapenya added a commit that referenced this pull request Mar 9, 2022
)

* chore: define provider for each test suite (#2213)

* chore: preset the provider at suite or/and scenario level

* docs: document the CI descriptor for the platform support

* docs: describe each platform

* fix: typo

* chore: declare platforms just once

* docs: document machine dependencies

* docs: link to CI infra documentation

* fix: use right location for the platforms file

* fix: set remote variables only for remote provider

* fix: disable fleet-server for regular standalone deployments

* chore: add ES and kibana endpoints to the logs

* chore: apply docker provider for elastic-agent triggers

* chore: re-enable stand-alone scenarios

* chore: move fleet-server default policy to a constant

* Revert "chore: re-enable stand-alone scenarios"

This reverts commit cbb281f.

(cherry picked from commit 2ddece6)

# Conflicts:
#	.ci/.e2e-tests-for-elastic-agent.yaml
#	.ci/.e2e-tests.yaml
#	README.md
#	e2e/_suites/fleet/fleet.go

* fix: resolve conflicts

Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
mdelapenya added a commit that referenced this pull request Mar 9, 2022
* chore: define provider for each test suite (#2213)

* chore: preset the provider at suite or/and scenario level

* docs: document the CI descriptor for the platform support

* docs: describe each platform

* fix: typo

* chore: declare platforms just once

* docs: document machine dependencies

* docs: link to CI infra documentation

* fix: use right location for the platforms file

* fix: set remote variables only for remote provider

* fix: disable fleet-server for regular standalone deployments

* chore: add ES and kibana endpoints to the logs

* chore: apply docker provider for elastic-agent triggers

* chore: re-enable stand-alone scenarios

* chore: move fleet-server default policy to a constant

* Revert "chore: re-enable stand-alone scenarios"

This reverts commit cbb281f.

(cherry picked from commit 2ddece6)

# Conflicts:
#	.ci/.e2e-tests-for-elastic-agent.yaml
#	.ci/.e2e-tests.yaml
#	e2e/_suites/fleet/fleet.go

* fix: resolve conflicts

Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
mdelapenya added a commit that referenced this pull request Mar 10, 2022
* chore: define provider for each test suite (#2213)

* chore: preset the provider at suite or/and scenario level

* docs: document the CI descriptor for the platform support

* docs: describe each platform

* fix: typo

* chore: declare platforms just once

* docs: document machine dependencies

* docs: link to CI infra documentation

* fix: use right location for the platforms file

* fix: set remote variables only for remote provider

* fix: disable fleet-server for regular standalone deployments

* chore: add ES and kibana endpoints to the logs

* chore: apply docker provider for elastic-agent triggers

* chore: re-enable stand-alone scenarios

* chore: move fleet-server default policy to a constant

* Revert "chore: re-enable stand-alone scenarios"

This reverts commit cbb281f.

(cherry picked from commit 2ddece6)

# Conflicts:
#	.ci/.e2e-tests-for-elastic-agent.yaml
#	.ci/.e2e-tests.yaml

* fix: resolve conflicts

Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
@mdelapenya mdelapenya mentioned this pull request Mar 10, 2022
mdelapenya added a commit that referenced this pull request Mar 17, 2022
* main: (268 commits)
  bump stack version 8.2.0-ff67d7b8 (#2242)
  ci: periodic builds for the last two minor versions (#2241)
  bump stack version 8.2.0-9bac538c (#2240)
  fix: add end-of-file line in templates (#2237)
  chore: add Christos to SSH users
  bump stack version 8.2.0-fee3b8d2 (#2234)
  Separate ES workload from Agent spec and make it req for the scenarios (#2203)
  bump stack version 8.2.0-d02c907a (#2228)
  bump stack version 8.2.0-63265ec9 (#2225)
  fix: wrong link (#2220)
  chore: define provider for each test suite (#2213)
  ci: provision e2-small workers (#2212)
  bump stack version 8.2.0-a12f7069 (#2209)
  chore: support for Oracle Linux 8 (#2208)
  bump stack version 8.2.0-190af159 (#2206)
  bump stack version 8.2.0-fdde08ec (#2200)
  bump stack version 8.2.0-43df679f (#2193)
  chore: use trace level in logs (#2130)
  bump stack version 8.2.0-bdf2ad74 (#2188)
  feat: support downloading project artifacts for the new bucket layout (#2172)
  ...
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

backport-v7.17.0 Automated backport with mergify backport-v8.0.0 Automated backport with mergify backport-v8.1.0 Automated backport with mergify

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document the e2e-tests.yaml file

3 participants