This repository was archived by the owner on Sep 17, 2024. It is now read-only.
docs: refactor docs to enable the local development#2454
Merged
mdelapenya merged 50 commits intoelastic:mainfrom May 5, 2022
Merged
docs: refactor docs to enable the local development#2454mdelapenya merged 50 commits intoelastic:mainfrom
mdelapenya merged 50 commits intoelastic:mainfrom
Conversation
They will be used in the automation to locate the stack and node
mdelapenya
commented
May 2, 2022
Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co>
This will allow setting the agent version in lower ones: ELASTIC_AGENT_VERSION=8.1.3-SNAPSHOT make -C .ci create-node
cachedout
approved these changes
May 3, 2022
It will allow to run those scenarios that do not need a remote stack, such as dockerised ones See apm-server feature file
mergify bot
pushed a commit
that referenced
this pull request
May 5, 2022
* docs: update stack creation * fix: add default value for gitSha * docs: nodeUser too * chore: always use .venv * docs: make snippets copiable * docs: do not hardcode path to repo, use current dir * chore: add nodeUser to test nodes * chore: update nodeLabel to debian AMD * chore: consistency provisioning node tags * chore: use current dir for workspace * fix: check that suite is defined * chore: automate the creation of cloud VMs * chore: add runID as a tag in the VMs * chore: make exporting variables explicit * chore: reference the sshhosts files to get the IP addresses * fix: remove variable name from runID file * chore: store IP addresses in file They will be used in the automation to locate the stack and node * chore: support configuring the suite * chore: support destroying the stack and nodes * chore: remove node files * chore: remove wait for strategy on fleet-server * chore: command to recreate the stack * chore: simplify creation of the nodes in one single command * chore: support running the tests remotely * chore: pass TAGS as a variable * chore: configure tags for running the tests * docs: document how to run the tests in the VMs * chore: add goals to SSH into the machines * chore: add a command to destroy the stack * fix: typo * fix: conflicts in goal name * docs: document how to recreate the stack * docs: refactor docs * fix: pass bootstrap tag to the stack creation * fix: set the tags in the ansible code * fix: pass bootstrap tag to the stack creation * chore: apply suggestions from code review Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> * fix: use proper hidden file name * docs: explain how to locate the feature files and tags * chore: check for runID where needed * chore: adds commands to inspect the nodes * fix: proper goal name * fix: lookup env This will allow setting the agent version in lower ones: ELASTIC_AGENT_VERSION=8.1.3-SNAPSHOT make -C .ci create-node * fix: close double quote * fix: goal name was incorrect * fix: bootstrap elastic stack properly * docs: reference to the environment variables affecting the build * chore: support configuring the remote It will allow to run those scenarios that do not need a remote stack, such as dockerised ones See apm-server feature file * chore: use the stack VM to enroll the stand-alone agent Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> (cherry picked from commit 0995a83)
mergify bot
pushed a commit
that referenced
this pull request
May 5, 2022
* docs: update stack creation * fix: add default value for gitSha * docs: nodeUser too * chore: always use .venv * docs: make snippets copiable * docs: do not hardcode path to repo, use current dir * chore: add nodeUser to test nodes * chore: update nodeLabel to debian AMD * chore: consistency provisioning node tags * chore: use current dir for workspace * fix: check that suite is defined * chore: automate the creation of cloud VMs * chore: add runID as a tag in the VMs * chore: make exporting variables explicit * chore: reference the sshhosts files to get the IP addresses * fix: remove variable name from runID file * chore: store IP addresses in file They will be used in the automation to locate the stack and node * chore: support configuring the suite * chore: support destroying the stack and nodes * chore: remove node files * chore: remove wait for strategy on fleet-server * chore: command to recreate the stack * chore: simplify creation of the nodes in one single command * chore: support running the tests remotely * chore: pass TAGS as a variable * chore: configure tags for running the tests * docs: document how to run the tests in the VMs * chore: add goals to SSH into the machines * chore: add a command to destroy the stack * fix: typo * fix: conflicts in goal name * docs: document how to recreate the stack * docs: refactor docs * fix: pass bootstrap tag to the stack creation * fix: set the tags in the ansible code * fix: pass bootstrap tag to the stack creation * chore: apply suggestions from code review Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> * fix: use proper hidden file name * docs: explain how to locate the feature files and tags * chore: check for runID where needed * chore: adds commands to inspect the nodes * fix: proper goal name * fix: lookup env This will allow setting the agent version in lower ones: ELASTIC_AGENT_VERSION=8.1.3-SNAPSHOT make -C .ci create-node * fix: close double quote * fix: goal name was incorrect * fix: bootstrap elastic stack properly * docs: reference to the environment variables affecting the build * chore: support configuring the remote It will allow to run those scenarios that do not need a remote stack, such as dockerised ones See apm-server feature file * chore: use the stack VM to enroll the stand-alone agent Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> (cherry picked from commit 0995a83)
mergify bot
pushed a commit
that referenced
this pull request
May 5, 2022
* docs: update stack creation * fix: add default value for gitSha * docs: nodeUser too * chore: always use .venv * docs: make snippets copiable * docs: do not hardcode path to repo, use current dir * chore: add nodeUser to test nodes * chore: update nodeLabel to debian AMD * chore: consistency provisioning node tags * chore: use current dir for workspace * fix: check that suite is defined * chore: automate the creation of cloud VMs * chore: add runID as a tag in the VMs * chore: make exporting variables explicit * chore: reference the sshhosts files to get the IP addresses * fix: remove variable name from runID file * chore: store IP addresses in file They will be used in the automation to locate the stack and node * chore: support configuring the suite * chore: support destroying the stack and nodes * chore: remove node files * chore: remove wait for strategy on fleet-server * chore: command to recreate the stack * chore: simplify creation of the nodes in one single command * chore: support running the tests remotely * chore: pass TAGS as a variable * chore: configure tags for running the tests * docs: document how to run the tests in the VMs * chore: add goals to SSH into the machines * chore: add a command to destroy the stack * fix: typo * fix: conflicts in goal name * docs: document how to recreate the stack * docs: refactor docs * fix: pass bootstrap tag to the stack creation * fix: set the tags in the ansible code * fix: pass bootstrap tag to the stack creation * chore: apply suggestions from code review Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> * fix: use proper hidden file name * docs: explain how to locate the feature files and tags * chore: check for runID where needed * chore: adds commands to inspect the nodes * fix: proper goal name * fix: lookup env This will allow setting the agent version in lower ones: ELASTIC_AGENT_VERSION=8.1.3-SNAPSHOT make -C .ci create-node * fix: close double quote * fix: goal name was incorrect * fix: bootstrap elastic stack properly * docs: reference to the environment variables affecting the build * chore: support configuring the remote It will allow to run those scenarios that do not need a remote stack, such as dockerised ones See apm-server feature file * chore: use the stack VM to enroll the stand-alone agent Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> (cherry picked from commit 0995a83) # Conflicts: # e2e/_suites/fleet/fleet.go
mdelapenya
added a commit
to mdelapenya/e2e-testing
that referenced
this pull request
May 5, 2022
* main: docs: refactor docs to enable the local development (elastic#2454)
mdelapenya
added a commit
to mdelapenya/e2e-testing
that referenced
this pull request
May 5, 2022
* main: docs: refactor docs to enable the local development (elastic#2454) bump stack version 8.3.0-a1c5cfff (elastic#2474) bump stack version 8.3.0-7f585873 (elastic#2469)
mdelapenya
added a commit
that referenced
this pull request
May 5, 2022
* docs: update stack creation * fix: add default value for gitSha * docs: nodeUser too * chore: always use .venv * docs: make snippets copiable * docs: do not hardcode path to repo, use current dir * chore: add nodeUser to test nodes * chore: update nodeLabel to debian AMD * chore: consistency provisioning node tags * chore: use current dir for workspace * fix: check that suite is defined * chore: automate the creation of cloud VMs * chore: add runID as a tag in the VMs * chore: make exporting variables explicit * chore: reference the sshhosts files to get the IP addresses * fix: remove variable name from runID file * chore: store IP addresses in file They will be used in the automation to locate the stack and node * chore: support configuring the suite * chore: support destroying the stack and nodes * chore: remove node files * chore: remove wait for strategy on fleet-server * chore: command to recreate the stack * chore: simplify creation of the nodes in one single command * chore: support running the tests remotely * chore: pass TAGS as a variable * chore: configure tags for running the tests * docs: document how to run the tests in the VMs * chore: add goals to SSH into the machines * chore: add a command to destroy the stack * fix: typo * fix: conflicts in goal name * docs: document how to recreate the stack * docs: refactor docs * fix: pass bootstrap tag to the stack creation * fix: set the tags in the ansible code * fix: pass bootstrap tag to the stack creation * chore: apply suggestions from code review Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> * fix: use proper hidden file name * docs: explain how to locate the feature files and tags * chore: check for runID where needed * chore: adds commands to inspect the nodes * fix: proper goal name * fix: lookup env This will allow setting the agent version in lower ones: ELASTIC_AGENT_VERSION=8.1.3-SNAPSHOT make -C .ci create-node * fix: close double quote * fix: goal name was incorrect * fix: bootstrap elastic stack properly * docs: reference to the environment variables affecting the build * chore: support configuring the remote It will allow to run those scenarios that do not need a remote stack, such as dockerised ones See apm-server feature file * chore: use the stack VM to enroll the stand-alone agent Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> (cherry picked from commit 0995a83) Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
mdelapenya
added a commit
that referenced
this pull request
May 5, 2022
…pment (#2480) * docs: refactor docs to enable the local development (#2454) * docs: update stack creation * fix: add default value for gitSha * docs: nodeUser too * chore: always use .venv * docs: make snippets copiable * docs: do not hardcode path to repo, use current dir * chore: add nodeUser to test nodes * chore: update nodeLabel to debian AMD * chore: consistency provisioning node tags * chore: use current dir for workspace * fix: check that suite is defined * chore: automate the creation of cloud VMs * chore: add runID as a tag in the VMs * chore: make exporting variables explicit * chore: reference the sshhosts files to get the IP addresses * fix: remove variable name from runID file * chore: store IP addresses in file They will be used in the automation to locate the stack and node * chore: support configuring the suite * chore: support destroying the stack and nodes * chore: remove node files * chore: remove wait for strategy on fleet-server * chore: command to recreate the stack * chore: simplify creation of the nodes in one single command * chore: support running the tests remotely * chore: pass TAGS as a variable * chore: configure tags for running the tests * docs: document how to run the tests in the VMs * chore: add goals to SSH into the machines * chore: add a command to destroy the stack * fix: typo * fix: conflicts in goal name * docs: document how to recreate the stack * docs: refactor docs * fix: pass bootstrap tag to the stack creation * fix: set the tags in the ansible code * fix: pass bootstrap tag to the stack creation * chore: apply suggestions from code review Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> * fix: use proper hidden file name * docs: explain how to locate the feature files and tags * chore: check for runID where needed * chore: adds commands to inspect the nodes * fix: proper goal name * fix: lookup env This will allow setting the agent version in lower ones: ELASTIC_AGENT_VERSION=8.1.3-SNAPSHOT make -C .ci create-node * fix: close double quote * fix: goal name was incorrect * fix: bootstrap elastic stack properly * docs: reference to the environment variables affecting the build * chore: support configuring the remote It will allow to run those scenarios that do not need a remote stack, such as dockerised ones See apm-server feature file * chore: use the stack VM to enroll the stand-alone agent Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> (cherry picked from commit 0995a83) # Conflicts: # e2e/_suites/fleet/fleet.go * fix: resolve conflicts Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
8 tasks
mdelapenya
added a commit
that referenced
this pull request
May 9, 2022
* docs: update stack creation * fix: add default value for gitSha * docs: nodeUser too * chore: always use .venv * docs: make snippets copiable * docs: do not hardcode path to repo, use current dir * chore: add nodeUser to test nodes * chore: update nodeLabel to debian AMD * chore: consistency provisioning node tags * chore: use current dir for workspace * fix: check that suite is defined * chore: automate the creation of cloud VMs * chore: add runID as a tag in the VMs * chore: make exporting variables explicit * chore: reference the sshhosts files to get the IP addresses * fix: remove variable name from runID file * chore: store IP addresses in file They will be used in the automation to locate the stack and node * chore: support configuring the suite * chore: support destroying the stack and nodes * chore: remove node files * chore: remove wait for strategy on fleet-server * chore: command to recreate the stack * chore: simplify creation of the nodes in one single command * chore: support running the tests remotely * chore: pass TAGS as a variable * chore: configure tags for running the tests * docs: document how to run the tests in the VMs * chore: add goals to SSH into the machines * chore: add a command to destroy the stack * fix: typo * fix: conflicts in goal name * docs: document how to recreate the stack * docs: refactor docs * fix: pass bootstrap tag to the stack creation * fix: set the tags in the ansible code * fix: pass bootstrap tag to the stack creation * chore: apply suggestions from code review Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> * fix: use proper hidden file name * docs: explain how to locate the feature files and tags * chore: check for runID where needed * chore: adds commands to inspect the nodes * fix: proper goal name * fix: lookup env This will allow setting the agent version in lower ones: ELASTIC_AGENT_VERSION=8.1.3-SNAPSHOT make -C .ci create-node * fix: close double quote * fix: goal name was incorrect * fix: bootstrap elastic stack properly * docs: reference to the environment variables affecting the build * chore: support configuring the remote It will allow to run those scenarios that do not need a remote stack, such as dockerised ones See apm-server feature file * chore: use the stack VM to enroll the stand-alone agent Co-authored-by: Anderson Queiroz <me@andersonq.me> Co-authored-by: Mike Place <mike.place@elastic.co> (cherry picked from commit 0995a83) Co-authored-by: Manuel de la Peña <mdelapenya@gmail.com>
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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
What does this PR do?
This PR adds a guide to create and setup AWS instance using the same deployment mechanism of the CI. For that we are adding make goals to:
Besides, we have added docs to improve the experience of running this from the local machine. The user will only need to export their AWS credentials, and the automation will create and configure everything.
Why is it important?
Local experience must be as close to the CI as possible, if not equals. With this, we are executing the same commands as the CI to create and configure AWS instances, and run the test scenarios, with the ability to filter the execution using tags.
We honestly expect this change makes an impact in how the developers reproduce errors, or even test their stuff.
Checklist
make unit-test), and they are passing locallymake noticein the proper directory)Author's Checklist
How to test this PR locally
Read the .ci/README.md file, and follow the instructions 😃
For example:
github-ssh-keysfile (could be done without committing the file)make -C .ci setup-envto prepare Ansiblemake -C .ci create-stackto create and run the VM running the elastic-stackmake -C .ci create-nodeto create the VM to run the tests (default is Debian AMD)make -C .ci run-tests TAGS="fleet_mode_agent && install"to run only the install scenario.make -C .ci run-tests TAGS="system_integration && deploy-system_integration-with-core" ELASTIC_AGENT_VERSION=8.2-SNAPSHOT BEAT_VERSION=8.2-SNAPSHOTto run only the system integration scenarios for core metrics only, having the agent and any other beat in 8.2-SNAPSHOT versionsFollow-ups
Next steps would be having the CI pipeline using these new make goals