Skip to content

pheyos/elastic-stack-testing

 
 

Repository files navigation

elastic-stack-testing

Elastic Stack Testing Framework (ESTF)

This project provides a common automation framework for elastic stack testing.
The goal is to provide a powerful, easy to use and maintain framework to build test suites.

More details can be found:

👋 This is a community project not covered by Elastic support, any questions or issues can be put directly in this repo under issues or discussions.

⌛ Ansible roles to be updated

Infrastructure

  • Software products under test: Elasticsearch, Kibana, Logstash, Beats, Cloud, APM, ML
  • Ansible is used to install and configure the software products under test
  • Python, Pytest and Selenium/Webium will be used for the test framework
  • Automated vagrant provider support for virtualbox and docker
  • Cloud testing uses Gradle/Java

Environment Setup

Quick Start

Running a playbook for provisioning

  1. Clone repository: git clone https://github.com/elastic/elastic-stack-testing.git
  2. cd elastic-stack-testing
  3. Select a build URL and switch to the appropriate branch, for example:
git checkout 7.17
export ES_BUILD_URL=artifacts.elastic.co/7.17.0

**Note: Docker provider, the following is required:
export VAGRANT_DEFAULT_PROVIDER=docker

**Note: On M1 hardware, seting docker provider and following is required:
export ES_BUILD_ARCH=arm64
  1. Run the build: ./buildenv.sh

For more options see file: buildenv.sh

Accessing Stack

After successful installation, endpoints can be access as follows:

Elasticsearch: https://localhost:9200
Kibana: https://localhost:5601
User: elastic
Password: changeme

Currently Supported

  • Machine: Vagrant, Virtualbox or Docker
  • Machine OS: Ubuntu 18 or Ubuntu 20
  • Architecture: x86_64 or arm64
  • Node: Single
  • Product Versions: 5.6.x, 6.x, 7.x, 8.x
  • Product Packages: tar.gz

Cloud Environment

Building the ci/cloud project requires a github API token. The API key will need repo access (repo checkbox).

Once a github API token has been acquired three environment variables must be set: GH_OWNER, GH_TOKEN, and SDK_VERSION.

GH_OWNER should be set to elastic but can be overridden to your fork if necessary.

chmod +x downloadLibs.sh

GH_OWNER=elastic GH_TOKEN=mytoken SDK_VERSION=1.2.0-SNAPSHOT ./downloadLibs.sh

Contributing

Please use the issue tracker to report any bugs or enhancement requests. Pull requests are welcome.

Authors

Elastic Stack Testing Framework created by Liza Dayoub.

Also see a list of contributors who participated in the project.

License

Apache License 2.0

About

Elastic Stack Testing Framework (ESTF)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 43.3%
  • Java 42.0%
  • Python 13.1%
  • Groovy 1.4%
  • Jinja 0.2%