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

feat: support elastic-package provider for Fleet test suite #1502

Merged
merged 40 commits into from
Sep 8, 2021

Conversation

mdelapenya
Copy link
Contributor

@mdelapenya mdelapenya commented Aug 25, 2021

What does this PR do?

This PR comes with a lot of changes:

  1. It adds a tools.go file and package to define external Go dependencies, pinning them as a Go module. Therefore, we will be able to run them with go run github.com/elastic/DEPENDENCY. We are pinning elastic-package tool there. (adaa1e6)
  2. Enriched the existing methods in the service managers to pass a Go context as first argument. This enables creating APM traces in all missing methods: PreBootstrap, Logs, Remove, Start, Stop (9cc6ee6 > 7f16db0 > b05abfa > 4dcda56 > da530aa)
  3. Removed a dependency between common package and deploy. This is needed to not cause cyclic dependencies. (c2d6234)
  4. Simplified how the container name is calculated for the elastic-agent Docker image. We are going to Inspect the container using the Docker engine instead of hardcoding the name (cd5a6b2 and 323e310)
  5. We are going to remove the elastic-agent container after each scenario. (5a67c31 and 219214c).
  6. [Boyscout rule] we are moving sync integrations code from the Cobra command to the config package (6616b30)
  7. [Boyscout rule] Thanks to the above, we will always sync metricbeat's integration modules, executed in the BeforeSuite phase of the test execution. (35ecc02). This can be skipped with the SKIP_PULL=true variable.
  8. Added an elastic-package provider (59a0079). This new provider, which is only available for Fleet (failing in other case), will:
    • bootstrap the run-time dependencies using the stack up command, passing all available services but the elastic-agent, which we want to control ourselves under each test scenario.
    • add elastic-agent services using a vanilla created with Testcontainers (other type of services will cause the method to fail). We will attach the container to the very same network as in the stack provisioned by the elastic-package tool, so that communications can be resolved via hostnames, and we will provide an unique container name per test suite, using an UUID.
    • destroy the run-time dependencies using the stack down command.
    • basic container operations (copy files to the service, execute commands inside, inspect, getting logs, remove, start and stop) will use same approach than in the Docker provider, as we are using a Generic container. TO-DO: this will need a refector to reuse code.
  9. Modify the CI descriptor so that platforms are objects instead of array elements. This is needed because we would like to run different providers per platform: i.e. fleet_mode_agent parallel branch is going to be run on windows and on ubuntu. (c686c9d)
  10. Select which platforms are going to use the elastic-package provider. (e577cec). At this moment, we want to try out the new provider in two parallel branches: fleet_mode_agent and stand_alone_agent, both on linux, not on windows.
  11. Remove the metricbeat's integration modules test suite. As described in Remove metricbeat test suite #1520, we are duplicating efforts for the integrations. Removing this test suite will allow us to remove a lot of code (in a follow-up) related to manage the runtime dependencies with docker-compose (will use the elastic-package provided by this PR). Besides that, we are removing the nightly builds for the metricbeat test suite. (084b0d7, 0d5771d and 0a82115)

Why is it important?

We'd like to use a proven tool, which is maintained by the Integrations team, instead of maintaining our own codebase. We analysed both projects and found a lot of similarities in terms of provisioning run-time dependencies (basically the stack). For that, we want to keep one single source of truth when talking about dependencies.

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)

Author's Checklist

  • [ ]

How to test this PR locally

TAGS="fleet_mode_agent" TIMEOUT_FACTOR=3 LOG_LEVEL=TRACE DEVELOPER_MODE=true ELASTIC_APM_ACTIVE=false PROVIDER=elastic-package make -C e2e/_suites/fleet functional-test
TAGS="stand_alone_agent" TIMEOUT_FACTOR=3 LOG_LEVEL=TRACE DEVELOPER_MODE=true ELASTIC_APM_ACTIVE=false PROVIDER=elastic-package make -C e2e/_suites/fleet functional-test

Related issues

Follow-ups

  • Expand the usage of the elastic-package provider to the rest of Fleet test suites, once this PR passes. Done in c185b7d
  • Remove Metricbeat test suite in favour of the system tests for the Integrations repository, already ran with the elastic-package tool: Remove metricbeat test suite #1520

We are going to read it from the Docker engine
This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.
For that reason we are removing the sync command, as it's useless
First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent
The identifier will be labels
@mdelapenya mdelapenya self-assigned this Aug 25, 2021
@mdelapenya mdelapenya requested a review from a team August 25, 2021 12:41
@elasticmachine
Copy link
Contributor

elasticmachine commented Aug 25, 2021

💔 Build 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

Expand to view the summary

Build stats

  • Start Time: 2021-09-08T09:55:50.793+0000

  • Duration: 35 min 48 sec

  • Commit: 1a7fde6

Test stats 🧪

Test Results
Failed 0
Passed 231
Skipped 0
Total 231

Trends 🧪

Image of Build Times

Image of Tests

Steps errors 1

Expand to view the steps failures

Run functional tests for windows-2019:fleet:fleet_mode_agent && ~@nightly && ~debian && ~@skip:windo
  • Took 3 min 50 sec . View more details on here
  • Description: cd e2e\_suites\fleet && go test -timeout 60m -v --godog.tags="fleet_mode_agent && ~@nightly && ~debian && ~@skip:windows && ~@skip:amd64"

Log output

Expand to view the last 100 lines of log output

[2021-09-08T10:27:27.040Z] Sep 08 10:27:24 074804867ccc systemd[1]: Stopped Elastic Agent is a unified agent to observe, monitor and protect your system..
[2021-09-08T10:27:27.041Z] Sep 08 10:27:24 074804867ccc systemd[1]: Unit elastic-agent.service entered failed state.
[2021-09-08T10:27:27.041Z] Sep 08 10:27:24 074804867ccc systemd[1]: elastic-agent.service failed.
[2021-09-08T10:27:27.041Z] time="2021-09-08T10:27:26Z" level=debug msg="Un-enrolling agent in Fleet" hostname=074804867ccc
[2021-09-08T10:27:29.497Z] {"level":"debug","time":"2021-09-08T10:27:29Z","message":"sent request with 1 transaction, 45 spans, 0 errors, 0 metricsets"}
[2021-09-08T10:27:31.863Z] {"level":"debug","time":"2021-09-08T10:27:31Z","message":"gathering metrics"}
[2021-09-08T10:27:31.863Z] fleet_elasticsearch_1 is up-to-date
[2021-09-08T10:27:31.863Z] Creating fleet_elastic-agent_1 ... 
[2021-09-08T10:27:31.863Z] fleet_kibana_1 is up-to-date
[2021-09-08T10:27:31.863Z] fleet_fleet-server_1 is up-to-date
[2021-09-08T10:27:32.614Z] 
Creating fleet_elastic-agent_1 ... done
time="2021-09-08T10:27:32Z" level=debug msg="Docker compose executed." cmd="[up -d]" composeFilePaths="[/var/lib/jenkins/workspace/PR-1502-12-16479a63-880b-4592-a73c-2fc286abce3c/.op/compose/profiles/fleet/docker-compose.yml /var/lib/jenkins/workspace/PR-1502-12-16479a63-880b-4592-a73c-2fc286abce3c/.op/compose/services/elastic-agent/centos/docker-compose.yml]" env="map[kibanaDockerNamespace:kibana kibanaVersion:8.0.0-467e0885-SNAPSHOT stackPlatform:linux/arm64 stackVersion:8.0.0-467e0885-SNAPSHOT]" profile=fleet
[2021-09-08T10:27:32.614Z] time="2021-09-08T10:27:32Z" level=debug msg="Go's architecture is arm64 (arm64)"
[2021-09-08T10:27:33.329Z] time="2021-09-08T10:27:32Z" level=debug msg="The Elastic artifacts API is available" elapsedTime=272.014247ms retries=1 statusEndpoint="https://artifacts-api.elastic.co/v1/search/8.0.0-467e0885/elastic-agent?x-elastic-no-kpi=true"
[2021-09-08T10:27:33.329Z] time="2021-09-08T10:27:32Z" level=debug msg="Retrieving binary from local cache" URL="https://snapshots.elastic.co/8.0.0-467e0885/downloads/beats/elastic-agent/elastic-agent-8.0.0-SNAPSHOT-linux-arm64.tar.gz" path=/tmp/716f555f-048b-4872-ab3e-20cca0e7f9f7/elastic-agent-8.0.0-SNAPSHOT-linux-arm64.tar.gz
[2021-09-08T10:27:34.882Z] time="2021-09-08T10:27:34Z" level=debug msg="Fleet Server config created" elasticsearch=elasticsearch elasticsearchPort=9200 token="S2ZmeXhIc0JHbWRPU2JSYXd5QWM6Q1FsbzdmVFFTdktSa25Scl9GYllSZw=="
[2021-09-08T10:27:41.692Z] {"level":"debug","time":"2021-09-08T10:27:41Z","message":"sent request with 0 transactions, 18 spans, 0 errors, 17 metricsets"}
[2021-09-08T10:28:03.458Z] {"level":"debug","time":"2021-09-08T10:28:01Z","message":"gathering metrics"}
[2021-09-08T10:28:03.458Z] time="2021-09-08T10:28:03Z" level=debug msg="Un-enrolling agent in Fleet" hostname=1a35639fd673
[2021-09-08T10:28:05.017Z] time="2021-09-08T10:28:04Z" level=error msg="Error executing command" args="[exec -u root -i fleet_elastic-agent_1 pgrep -d , elastic-endpoint]" baseDir=. command=docker error="exit status 1" stderr=
[2021-09-08T10:28:05.018Z] time="2021-09-08T10:28:04Z" level=warning msg="Process is not present and number of occurences is 0" cmds="[pgrep -d , elastic-endpoint]" desiredState=stopped elapsedTime=156.525346ms error="exit status 1" mustBePresent=false occurrences=0 process=elastic-endpoint retry=1 service="{fleet_elastic-agent_1 []  1 []}"
[2021-09-08T10:28:05.018Z] -- Logs begin at Wed 2021-09-08 10:27:32 UTC, end at Wed 2021-09-08 10:27:36 UTC. --
[2021-09-08T10:28:05.018Z] Sep 08 10:27:35 1a35639fd673 systemd[1]: Started Elastic Agent is a unified agent to observe, monitor and protect your system..
[2021-09-08T10:28:05.018Z] Sep 08 10:27:35 1a35639fd673 elastic-agent[66]: 2021-09-08T10:27:35.666Z        INFO        application/application.go:66        Detecting execution mode
[2021-09-08T10:28:05.018Z] Sep 08 10:27:35 1a35639fd673 elastic-agent[66]: 2021-09-08T10:27:35.667Z        INFO        application/application.go:75        Agent is managed locally
[2021-09-08T10:28:05.018Z] Sep 08 10:27:35 1a35639fd673 elastic-agent[66]: 2021-09-08T10:27:35.667Z        INFO        capabilities/capabilities.go:59        capabilities file not found in /opt/Elastic/Agent/capabilities.yml
[2021-09-08T10:28:05.018Z] Sep 08 10:27:36 1a35639fd673 elastic-agent[66]: 2021-09-08T10:27:36.339Z        INFO        [composable.providers.docker]        docker/docker.go:43        Docker provider skipped, unable to connect: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[2021-09-08T10:28:05.018Z] Sep 08 10:27:36 1a35639fd673 elastic-agent[66]: 2021-09-08T10:27:36.340Z        INFO        [api]        api/server.go:62        Starting stats endpoint
[2021-09-08T10:28:05.018Z] Sep 08 10:27:36 1a35639fd673 elastic-agent[66]: 2021-09-08T10:27:36.340Z        INFO        application/local_mode.go:168        Agent is starting
[2021-09-08T10:28:05.018Z] Sep 08 10:27:36 1a35639fd673 elastic-agent[66]: 2021-09-08T10:27:36.340Z        INFO        [api]        api/server.go:64        Metrics endpoint listening on: /opt/Elastic/Agent/data/tmp/elastic-agent.sock (configured: unix:///opt/Elastic/Agent/data/tmp/elastic-agent.sock)
[2021-09-08T10:28:05.018Z] Sep 08 10:27:36 1a35639fd673 elastic-agent[66]: 2021-09-08T10:27:36.341Z        INFO        application/local_mode.go:178        Agent is stopped
[2021-09-08T10:28:05.019Z] Sep 08 10:27:36 1a35639fd673 elastic-agent[66]: 2021-09-08T10:27:36.341Z        INFO        application/periodic.go:79        Configuration changes detected
[2021-09-08T10:28:11.938Z] {"level":"debug","time":"2021-09-08T10:28:11Z","message":"sent request with 0 transactions, 26 spans, 0 errors, 1 metricset"}
[2021-09-08T10:28:34.173Z] {"level":"debug","time":"2021-09-08T10:28:31Z","message":"gathering metrics"}
[2021-09-08T10:28:42.241Z] {"level":"debug","time":"2021-09-08T10:28:41Z","message":"sent request with 0 transactions, 0 spans, 0 errors, 1 metricset"}
[2021-09-08T10:29:04.016Z] {"level":"debug","time":"2021-09-08T10:29:01Z","message":"gathering metrics"}
[2021-09-08T10:29:12.085Z] {"level":"debug","time":"2021-09-08T10:29:11Z","message":"sent request with 0 transactions, 0 spans, 0 errors, 1 metricset"}
[2021-09-08T10:29:33.818Z] {"level":"debug","time":"2021-09-08T10:29:31Z","message":"gathering metrics"}
[2021-09-08T10:29:41.982Z] {"level":"debug","time":"2021-09-08T10:29:41Z","message":"sent request with 1 transaction, 17 spans, 0 errors, 1 metricset"}
[2021-09-08T10:29:43.661Z] fleet_elasticsearch_1 is up-to-date
[2021-09-08T10:29:43.661Z] fleet_kibana_1 is up-to-date
[2021-09-08T10:29:43.661Z] Creating fleet_elastic-agent_1 ... 
[2021-09-08T10:29:44.413Z] fleet_fleet-server_1 is up-to-date
[2021-09-08T10:29:44.413Z] 
Creating fleet_elastic-agent_1 ... done
time="2021-09-08T10:29:44Z" level=debug msg="Docker compose executed." cmd="[up -d]" composeFilePaths="[/var/lib/jenkins/workspace/PR-1502-12-16479a63-880b-4592-a73c-2fc286abce3c/.op/compose/profiles/fleet/docker-compose.yml /var/lib/jenkins/workspace/PR-1502-12-16479a63-880b-4592-a73c-2fc286abce3c/.op/compose/services/elastic-agent/centos/docker-compose.yml]" env="map[kibanaDockerNamespace:kibana kibanaVersion:8.0.0-467e0885-SNAPSHOT stackPlatform:linux/arm64 stackVersion:8.0.0-467e0885-SNAPSHOT]" profile=fleet
[2021-09-08T10:29:44.413Z] time="2021-09-08T10:29:44Z" level=debug msg="Go's architecture is arm64 (arm64)"
[2021-09-08T10:29:45.167Z] time="2021-09-08T10:29:44Z" level=debug msg="The Elastic artifacts API is available" elapsedTime=261.39136ms retries=1 statusEndpoint="https://artifacts-api.elastic.co/v1/search/8.0.0-467e0885/elastic-agent?x-elastic-no-kpi=true"
[2021-09-08T10:29:45.167Z] time="2021-09-08T10:29:44Z" level=debug msg="Retrieving binary from local cache" URL="https://snapshots.elastic.co/8.0.0-467e0885/downloads/beats/elastic-agent/elastic-agent-8.0.0-SNAPSHOT-linux-arm64.tar.gz" path=/tmp/716f555f-048b-4872-ab3e-20cca0e7f9f7/elastic-agent-8.0.0-SNAPSHOT-linux-arm64.tar.gz
[2021-09-08T10:29:46.720Z] time="2021-09-08T10:29:46Z" level=debug msg="Fleet Server config created" elasticsearch=elasticsearch elasticsearchPort=9200 token="RlBmMHhIc0JHbWRPU2JSYXhpSGE6RlEyb0swcDZUZ21CX05SS1hySGtNZw=="
[2021-09-08T10:29:53.512Z] {"level":"debug","time":"2021-09-08T10:29:53Z","message":"sent request with 0 transactions, 27 spans, 0 errors, 0 metricsets"}
[2021-09-08T10:29:55.066Z] time="2021-09-08T10:29:54Z" level=error msg="Error executing command" args="[exec -u root -i fleet_elastic-agent_1 pgrep -d , elastic-endpoint]" baseDir=. command=docker error="exit status 1" stderr=
[2021-09-08T10:29:55.066Z] time="2021-09-08T10:29:54Z" level=warning msg="Process is not present and number of occurences is 0" cmds="[pgrep -d , elastic-endpoint]" desiredState=stopped elapsedTime=154.643174ms error="exit status 1" mustBePresent=false occurrences=0 process=elastic-endpoint retry=1 service="{fleet_elastic-agent_1 []  1 []}"
[2021-09-08T10:29:55.066Z] -- Logs begin at Wed 2021-09-08 10:29:44 UTC, end at Wed 2021-09-08 10:29:48 UTC. --
[2021-09-08T10:29:55.066Z] Sep 08 10:29:47 ffe7312e1506 systemd[1]: Started Elastic Agent is a unified agent to observe, monitor and protect your system..
[2021-09-08T10:29:55.066Z] Sep 08 10:29:47 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:47.500Z        INFO        application/application.go:66        Detecting execution mode
[2021-09-08T10:29:55.066Z] Sep 08 10:29:47 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:47.501Z        INFO        application/application.go:75        Agent is managed locally
[2021-09-08T10:29:55.066Z] Sep 08 10:29:47 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:47.501Z        INFO        capabilities/capabilities.go:59        capabilities file not found in /opt/Elastic/Agent/capabilities.yml
[2021-09-08T10:29:55.066Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.161Z        INFO        [composable.providers.docker]        docker/docker.go:43        Docker provider skipped, unable to connect: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[2021-09-08T10:29:55.066Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.162Z        INFO        [api]        api/server.go:62        Starting stats endpoint
[2021-09-08T10:29:55.066Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.162Z        INFO        application/local_mode.go:168        Agent is starting
[2021-09-08T10:29:55.067Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.162Z        INFO        [api]        api/server.go:64        Metrics endpoint listening on: /opt/Elastic/Agent/data/tmp/elastic-agent.sock (configured: unix:///opt/Elastic/Agent/data/tmp/elastic-agent.sock)
[2021-09-08T10:29:55.067Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.163Z        INFO        application/local_mode.go:178        Agent is stopped
[2021-09-08T10:29:55.067Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.163Z        INFO        application/periodic.go:79        Configuration changes detected
[2021-09-08T10:29:55.067Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.514Z        INFO        stateresolver/stateresolver.go:48        New State ID is OV4pBeHX
[2021-09-08T10:29:55.067Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.514Z        INFO        stateresolver/stateresolver.go:49        Converging state requires execution of 2 step(s)
[2021-09-08T10:29:55.067Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.609Z        INFO        operation/operator.go:201        waiting for installer of pipeline 'default' to finish
[2021-09-08T10:29:55.067Z] Sep 08 10:29:48 ffe7312e1506 elastic-agent[67]: 2021-09-08T10:29:48.609Z        INFO        process/app.go:176        Signaling application to stop because of shutdown: metricbeat--8.0.0-SNAPSHOT
[2021-09-08T10:29:55.067Z] time="2021-09-08T10:29:54Z" level=debug msg="Un-enrolling agent in Fleet" hostname=ffe7312e1506
[2021-09-08T10:29:57.479Z] {"level":"debug","time":"2021-09-08T10:29:57Z","message":"sent request with 1 transaction, 36 spans, 0 errors, 0 metricsets"}
[2021-09-08T10:29:57.479Z] time="2021-09-08T10:29:57Z" level=debug msg="Destroying Fleet runtime dependencies"
[2021-09-08T10:29:58.233Z] Stopping fleet_fleet-server_1  ... 
[2021-09-08T10:29:58.233Z] Stopping fleet_kibana_1        ... 
[2021-09-08T10:29:58.233Z] Stopping fleet_elasticsearch_1 ... 
[2021-09-08T10:30:02.541Z] {"level":"debug","time":"2021-09-08T10:30:01Z","message":"gathering metrics"}
[2021-09-08T10:30:12.310Z] 
Stopping fleet_fleet-server_1  ... done
{"level":"debug","time":"2021-09-08T10:30:11Z","message":"sent request with 0 transactions, 0 spans, 0 errors, 39 metricsets"}
[2021-09-08T10:30:14.628Z] 
Stopping fleet_kibana_1        ... done

Stopping fleet_elasticsearch_1 ... done
Removing fleet_fleet-server_1  ... 
[2021-09-08T10:30:14.629Z] Removing fleet_kibana_1        ... 
[2021-09-08T10:30:14.629Z] Removing fleet_elasticsearch_1 ... 
[2021-09-08T10:30:14.629Z] 
Removing fleet_kibana_1        ... done

Removing fleet_elasticsearch_1 ... done

Removing fleet_fleet-server_1  ... done
Removing network fleet_default
[2021-09-08T10:30:14.629Z] time="2021-09-08T10:30:14Z" level=debug msg="Docker compose executed." cmd="[down --remove-orphans]" composeFilePaths="[/var/lib/jenkins/workspace/PR-1502-12-16479a63-880b-4592-a73c-2fc286abce3c/.op/compose/profiles/fleet/docker-compose.yml]" env="map[kibanaDockerNamespace:kibana kibanaVersion:8.0.0-467e0885-SNAPSHOT stackPlatform:linux/arm64 stackVersion:8.0.0-467e0885-SNAPSHOT]" profile=fleet
[2021-09-08T10:30:14.629Z] {"level":"debug","time":"2021-09-08T10:30:14Z","message":"sent request with 1 transaction, 4 spans, 0 errors, 0 metricsets"}
[2021-09-08T10:30:14.629Z] testing: warning: no tests to run
[2021-09-08T10:30:14.629Z] PASS
[2021-09-08T10:30:14.629Z] ok  	github.com/elastic/e2e-testing/e2e/_suites/fleet	1363.291s
[2021-09-08T10:30:15.695Z] [INFO] Stopping Filebeat Docker container
[2021-09-08T10:30:17.090Z] + docker exec -t 600f46ab83d976fc5fc4ac1e1b8bc4ee77cbf1a3bdbe3237dfaf8268b835ecb2 chmod -R ugo+rw /output
[2021-09-08T10:30:17.841Z] + docker stop --time 30 600f46ab83d976fc5fc4ac1e1b8bc4ee77cbf1a3bdbe3237dfaf8268b835ecb2
[2021-09-08T10:30:18.592Z] 600f46ab83d976fc5fc4ac1e1b8bc4ee77cbf1a3bdbe3237dfaf8268b835ecb2
[2021-09-08T10:30:19.159Z] Archiving artifacts
[2021-09-08T10:30:25.114Z] Recording test results
[2021-09-08T10:30:32.364Z] [Checks API] No suitable checks publisher found.
[2021-09-08T10:30:32.509Z] Archiving artifacts
[2021-09-08T10:30:32.799Z] Running in /var/lib/jenkins/workspace/PR-1502-12-16479a63-880b-4592-a73c-2fc286abce3c/src/github.com/elastic/e2e-testing
[2021-09-08T10:30:34.156Z] + go clean -modcache
[2021-09-08T10:30:37.410Z] Stage "Release" skipped due to earlier failure(s)
[2021-09-08T10:30:37.830Z] Running on Jenkins in /var/lib/jenkins/workspace/2e-tests_e2e-testing-mbp_PR-1502
[2021-09-08T10:30:37.880Z] [INFO] getVaultSecret: Getting secrets
[2021-09-08T10:30:37.918Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2021-09-08T10:30:38.646Z] + chmod 755 generate-build-data.sh
[2021-09-08T10:30:38.646Z] + ./generate-build-data.sh https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/e2e-tests/e2e-testing-mbp/PR-1502/ https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/e2e-tests/e2e-testing-mbp/PR-1502/runs/12 FAILURE 2087590
[2021-09-08T10:30:38.647Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/e2e-tests/e2e-testing-mbp/PR-1502/runs/12/steps/?limit=10000 -o steps-info.json
[2021-09-08T10:30:39.557Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/e2e-tests/e2e-testing-mbp/PR-1502/runs/12/tests/?status=FAILED -o tests-errors.json

💚 Flaky test report

Tests succeeded.

Expand to view the summary

Test stats 🧪

Test Results
Failed 0
Passed 231
Skipped 0
Total 231

@mdelapenya
Copy link
Contributor Author

@adam-stokes I think this one is ready to go! If you agree, let's merge it and ...

  • get rid of metricbeat test suite!
  • create an issue to remove the compose-related provisioning code
  • start using elastic-package, opening issues if/when needed

@mdelapenya mdelapenya merged commit 819f010 into elastic:master Sep 8, 2021
mergify bot pushed a commit that referenced this pull request Sep 8, 2021
* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir

(cherry picked from commit 819f010)

# Conflicts:
#	.ci/jobs/e2e-testing-integrations-daily-mbp.yml
#	e2e/_suites/metricbeat/README.md
#	e2e/steps/configurations.go
mergify bot pushed a commit that referenced this pull request Sep 8, 2021
* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir

(cherry picked from commit 819f010)

# Conflicts:
#	.ci/jobs/e2e-testing-integrations-daily-mbp.yml
#	e2e/_suites/metricbeat/README.md
#	e2e/steps/configurations.go
mergify bot pushed a commit that referenced this pull request Sep 8, 2021
* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir

(cherry picked from commit 819f010)

# Conflicts:
#	.ci/jobs/e2e-testing-integrations-daily-mbp.yml
#	e2e/_suites/metricbeat/README.md
mdelapenya added a commit to mdelapenya/e2e-testing that referenced this pull request Sep 8, 2021
…1502)

* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir
adam-stokes pushed a commit that referenced this pull request Sep 8, 2021
* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir
v1v added a commit to v1v/e2e-testing that referenced this pull request Sep 8, 2021
…xt-propagation

* upstream/master:
  feat: support elastic-package provider for Fleet test suite (elastic#1502)
mdelapenya added a commit to mdelapenya/e2e-testing that referenced this pull request Sep 8, 2021
…1502)

* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir
# Conflicts:
#	.ci/jobs/e2e-testing-integrations-daily-mbp.yml
#	e2e/_suites/metricbeat/README.md
#	e2e/steps/configurations.go
mdelapenya added a commit to mdelapenya/e2e-testing that referenced this pull request Sep 8, 2021
…1502)

* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir
# Conflicts:
#	.ci/jobs/e2e-testing-integrations-daily-mbp.yml
#	e2e/_suites/metricbeat/README.md
mdelapenya added a commit to mdelapenya/e2e-testing that referenced this pull request Sep 8, 2021
* master:
  fix: remove unused code (elastic#1550)
  feat: support elastic-package provider for Fleet test suite (elastic#1502)
mdelapenya added a commit to mdelapenya/e2e-testing that referenced this pull request Sep 8, 2021
…1502)

* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir
# Conflicts:
#	.ci/jobs/e2e-testing-integrations-daily-mbp.yml
#	e2e/_suites/metricbeat/README.md
#	e2e/steps/configurations.go
mdelapenya added a commit that referenced this pull request Sep 8, 2021
… fix: remove unused code (#1550) backport for 7.x (#1556)

* feat: support elastic-package provider for Fleet test suite (#1502)

* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir
# Conflicts:
#	.ci/jobs/e2e-testing-integrations-daily-mbp.yml
#	e2e/_suites/metricbeat/README.md
#	e2e/steps/configurations.go

* fix: remove unused code (#1550)
mdelapenya added a commit that referenced this pull request Sep 8, 2021
… fix: remove unused code (#1550) backport for 7.15.x (#1554)

* feat: support elastic-package provider for Fleet test suite (#1502)

* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir
# Conflicts:
#	.ci/jobs/e2e-testing-integrations-daily-mbp.yml
#	e2e/_suites/metricbeat/README.md
#	e2e/steps/configurations.go

* fix: remove unused code (#1550)
mdelapenya added a commit that referenced this pull request Sep 8, 2021
… fix: remove unused code (#1550) backport for 7.14.x (#1555)

* feat: support elastic-package provider for Fleet test suite (#1502)

* chore: go mod tidy

* chore: add elastic-package as an external dependency

* chore: pass context to logs

* chore: add APM traces for pre-bootstrap

* chore: pass context to remove method

* chore: pass context to start/stop methods

* chore: update references

* chore: decouple common from deploy package

* chore: simplify container name calculation

We are going to read it from the Docker engine

* chore: always try to remove the elastic-agent after scenarios

* fix: go mod dependencies

* chore: git clone integrations instead of Beats

* Revert "chore: git clone integrations instead of Beats"

This reverts commit db4b45ead099c87e1a5652903d35e4a65ef0dcc3.

* chore: move sync-integrations to config package

* chore: always sync integrations in metricbeat test suite

For that reason we are removing the sync command, as it's useless

* fix: order to Inspect a container matters

* chore: always remove the elastic-agent container after scenario

* chore: add comments about agent logs in the tear down phase

* feat: add an elastic-package provider

First, it will only support the Fleet test suite, exiting with an error
if it's another test suite.

Then, it will use elastic-package to provision the runtime dependencies
of the Fleet test suite, running the stack withouth the elastic-agent
service. This service will be provisioned using testcontainers directly,
using the existing base images: centos/debian with systemd and the oficial
Docker image for the elastic-agent

* chore(ci): convert platforms into an object

The identifier will be labels

* chore: support defining service provider at the platform level

* fix: pass object, not string

* chore: use Provider from common package

* chore: bump Go version to 1.16

* fix: forgot formatter

* chore: handle deletion of the container if it does not exist

* chore: expand elastic-package coverage

* chore: use docker provider on ARM

* chore: fix comment

* chore: rename go file

* chore: use filepath instead of path

* fix: use same directory but os-agnostic

* chore: update paths to be os-agnostic in tests

* chore: add unit tests

* fix: remove unused import after conflicts

* chore: remove scheduled pipelines for integrations

* chore: remove metricbeat test suite from CI

* chore: remove metricbeat code

* fix: there are no unit tests in the e2e dir
# Conflicts:
#	.ci/jobs/e2e-testing-integrations-daily-mbp.yml
#	e2e/_suites/metricbeat/README.md

* fix: remove unused code (#1550)
@mdelapenya mdelapenya deleted the elastic-package-integration branch April 6, 2022 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove metricbeat test suite
4 participants