Add list of tools for Openstack testing
Story: 2002129 Task: 35628 Change-Id: I51df92d6ffabf12e96aafb8f6275075a697c82bb
This commit is contained in:
parent
d313c13496
commit
80d6811800
@ -17,6 +17,7 @@ Contributions to this documentation are warmly encouraged; please see
|
||||
use-cases
|
||||
specs
|
||||
eris/index
|
||||
testing/tools-list
|
||||
|
||||
|
||||
Indices and tables
|
||||
|
246
doc/source/testing/tools-list.rst
Normal file
246
doc/source/testing/tools-list.rst
Normal file
@ -0,0 +1,246 @@
|
||||
***********************
|
||||
OpenStack testing tools
|
||||
***********************
|
||||
|
||||
With the rapid expansion of OpenStack, a variety of tools have emerged
|
||||
for testing different aspects of OpenStack. However there is
|
||||
currently no unified solution that can test availability, reliability,
|
||||
performance, and scalability of OpenStack infrastructure.
|
||||
|
||||
The aim of this SIG is to create self-healing infrastructure, and in
|
||||
order to move in to that direction there is a need for an automated
|
||||
destructive/extreme testing framework for OpenStack infrastructure.
|
||||
As there have already been several projects tackling various parts of
|
||||
the challenge, one goal is to avoid duplication of effort and see how
|
||||
we can take advantage of these already developed tools and come up
|
||||
with a unified solution.
|
||||
|
||||
Here is list of tools and the testing features that are provided by
|
||||
those (as of August 2019):
|
||||
|
||||
=================================== ======= ======= =========== =========== =========== ============ ========== ========== ==============================================================================================================
|
||||
Tools/Features Control Data Performance Scalability Concurrency Disruptions/ OpenStack Report Active community [#]_
|
||||
plane plane testing testing testing Failure Deployment generation
|
||||
testing testing injection
|
||||
=================================== ======= ======= =========== =========== =========== ============ ========== ========== ==============================================================================================================
|
||||
Rally_ (Uses Tempest) X X X X X X X `Medium <https://github.com/openstack/rally/graphs/contributors>`__
|
||||
Yardstick_ X X X X X X X `NA since May 2019 <https://git.opnfv.org/yardstick/stats/?period=m&ofs=10>`__
|
||||
Tempest_ X X `High <https://opendev.org/openstack/tempest/commits/branch/master>`__
|
||||
Shaker_ X X X X `Low <https://opendev.org/performa/shaker/commits/branch/master>`__
|
||||
OS-Faults_ X `NA since February 2019 <https://github.com/openstack/os-faults/graphs/contributors>`__
|
||||
KloudBuster_ X X X X `NA since June 2019 <https://github.com/openstack/kloudbuster/graphs/contributors>`__
|
||||
HA-Failure-Test_ (Uses Tempest) X X `NA since November 2016 <https://github.com/avdhoot07/HA-Failure-TEST/graphs/contributors>`__
|
||||
Cloud99_ X X X X `NA since May 2017 <https://github.com/cisco-oss-eng/Cloud99/graphs/contributors>`__
|
||||
Browbeat_ (Uses Rally and Shaker) X X X X X `High <https://github.com/cloud-bulldozer/browbeat/graphs/contributors>`__
|
||||
Harbinger_ X `Low <https://github.com/att-comdev/harbinger/graphs/contributors>`__
|
||||
Enos_ (Uses Rally and Shaker) X X X X X `NA since May 2019 <https://github.com/BeyondTheClouds/enos/graphs/contributors>`__
|
||||
Chaostoolkit-openstack_ X X `NA since April 2019 <https://github.com/chaostoolkit-incubator/chaostoolkit-openstack/graphs/contributors>`__
|
||||
Jepsen_ (not specific to OpenStack) X X `High <https://github.com/jepsen-io/jepsen/graphs/contributors>`__
|
||||
OPNFV-Doctor_ X `NA since April 2019 <https://gerrit.opnfv.org/gerrit/gitweb?p=doctor.git;a=summary>`__
|
||||
Stepler_ (Uses OS-faults) X `NA since February 2019 <https://github.com/Mirantis/stepler/graphs/contributors>`__
|
||||
NFVbench_ X X X `Medium <https://github.com/opnfv/nfvbench/graphs/contributors>`__
|
||||
Eris_ (In development) X X X X X X X `NA since November 2017 <https://github.com/LCOO/eris>`__
|
||||
=================================== ======= ======= =========== =========== =========== ============ ========== ========== ==============================================================================================================
|
||||
|
||||
.. [#] Commits per month: Low<5, Medium<15, High=>15, NA=No Activity
|
||||
|
||||
.. _Rally:
|
||||
|
||||
`Rally <https://rally.readthedocs.io/en/latest/overview/overview.html#use-cases>`__
|
||||
===================================================================================
|
||||
|
||||
- Deployment of OpenStack
|
||||
- Verification of deployment
|
||||
- Benchmarking: Simulate real user load
|
||||
- Profiler for scaling and performance issues
|
||||
- Report generation: Processing and aggregation of results
|
||||
|
||||
De-facto control plane performance testing, allows to create different
|
||||
kind of tests including functional, concurrency, regression, load, scale
|
||||
capacity and chaos testing.
|
||||
|
||||
.. _Yardstick:
|
||||
|
||||
`Yardstick <https://wiki.opnfv.org/display/yardstick/Yardstick>`__
|
||||
==================================================================
|
||||
|
||||
- Deployment
|
||||
- Run compute, storage, network test scenarios using a runner
|
||||
- Report generation with the following metrics:
|
||||
|
||||
- Performance/Speed
|
||||
- Capacity/Scale
|
||||
- Availability/Reliability
|
||||
|
||||
Inspired by Rally, was developed mainly from the prespective of
|
||||
VNF(Virtual Network Function), but is a generic framework for testing
|
||||
scenarios in OpenStack for performance, scalability and
|
||||
availability/reliability.
|
||||
|
||||
.. _Tempest:
|
||||
|
||||
`Tempest <https://docs.openstack.org/tempest/latest/overview.html#tempest-the-openstack-integration-test-suite>`__
|
||||
==================================================================================================================
|
||||
|
||||
- Integration testing for live OpenStack
|
||||
- Test OpenStack publicly available API and scenarios that demonstrate
|
||||
a working cloud
|
||||
- Load testing possible as well
|
||||
|
||||
Mainly used for integration testing but non-functional testing
|
||||
possible as well.
|
||||
|
||||
.. _Shaker:
|
||||
|
||||
`Shaker <https://pyshaker.readthedocs.io/en/latest/index.html>`__
|
||||
=================================================================
|
||||
|
||||
- Deploy instances and network in different topologies or network
|
||||
configurations using Heat
|
||||
- Run network related test scenarios
|
||||
- Report generation
|
||||
|
||||
Network load generation, testing and benchmarking. Based on 'iperf(3)'
|
||||
and 'netperf' -> network testing topologies
|
||||
|
||||
.. _OS-Faults:
|
||||
|
||||
`OS-Faults <https://github.com/openstack/os-faults>`__
|
||||
======================================================
|
||||
|
||||
- Library for initiating or terminating service/node/container/network
|
||||
as a way for introducing fault injections.
|
||||
- Allows for both hardware and software level faults
|
||||
|
||||
Used by Rally to introduce faults.
|
||||
|
||||
.. _KloudBuster:
|
||||
|
||||
`KloudBuster <https://github.com/openstack/kloudbuster>`__
|
||||
==========================================================
|
||||
|
||||
- Benchmarking of data plane and storage services in OpenStack
|
||||
|
||||
A fully integrated framework which is easy to use with basic knowledge
|
||||
of OpenStack but isn't flexible or programmable to do everything.
|
||||
|
||||
.. _HA-Failure-Test:
|
||||
|
||||
`HA-Failure-Test <https://github.com/avdhoot07/HA-Failure-TEST>`__
|
||||
==================================================================
|
||||
|
||||
- High Availability testing of OpenStack components
|
||||
- Set of Tempest scripts to test HA of components in HA cluster.
|
||||
- Stop service(s), perform sanity and verify
|
||||
|
||||
.. _Cloud99:
|
||||
|
||||
`Cloud99 <https://github.com/cisco-oss-eng/Cloud99>`__
|
||||
======================================================
|
||||
|
||||
- Monintoring: Nodes and services
|
||||
- Disruptions: in services, node, containers can be parallel,
|
||||
sequential or round robin
|
||||
- Runner: Perform actual tests with disruptions
|
||||
- All 3 runs as seperate threads and parallel
|
||||
|
||||
Makes use of Rally runner
|
||||
|
||||
.. _Browbeat:
|
||||
|
||||
`Browbeat <https://github.com/cloud-bulldozer/browbeat>`__
|
||||
==========================================================
|
||||
|
||||
- Performance and scalability testing
|
||||
- Create Rally work loads
|
||||
- Run Shaker for network configuration, benchmarking and testing
|
||||
- CI and deployment: Can be used for CI or deploying data analysis
|
||||
tools.
|
||||
|
||||
.. _Harbinger:
|
||||
|
||||
`Harbinger <https://harbinger-dpm.readthedocs.io/en/latest/what/index.html>`__
|
||||
==============================================================================
|
||||
|
||||
- Manager for data plane testing frameworks in OpenStack
|
||||
- Can similtaneously execute multiple testing frameworks (Shaker,
|
||||
Yardstick)
|
||||
|
||||
.. _Enos:
|
||||
|
||||
`Enos <https://github.com/BeyondTheClouds/enos>`__
|
||||
==================================================
|
||||
|
||||
- Deployment of OpenStack on VMs or bare metal
|
||||
- Setup with different configurations
|
||||
- Benchmarking:
|
||||
|
||||
- Rally scenario for control plane
|
||||
- Shaker scenario of data plane
|
||||
|
||||
- Report generation: Get metrics/reports in Grafana
|
||||
|
||||
.. _Chaostoolkit-openstack:
|
||||
|
||||
`chaostoolkit-openstack <https://github.com/chaostoolkit-incubator/chaostoolkit-openstack>`__
|
||||
=============================================================================================
|
||||
|
||||
- Driver to perform set of actions and probes.
|
||||
|
||||
A minimal chaostoolkit driver for OpenStack compute resources.
|
||||
|
||||
.. _Jepsen:
|
||||
|
||||
`Jepsen <https://github.com/jepsen-io/jepsen>`__
|
||||
================================================
|
||||
|
||||
- Introduction of disruptions/faults
|
||||
- Testing
|
||||
- Report generation
|
||||
- Checkers for analyzing history
|
||||
|
||||
Not specific to OpenStack but general library for distributed systems,
|
||||
written in Clojure
|
||||
|
||||
.. _OPNFV-Doctor:
|
||||
|
||||
`OPNFV Doctor <https://wiki.opnfv.org/display/doctor/Doctor+Home>`__
|
||||
====================================================================
|
||||
|
||||
- Fault management and maintenance in VIM(Virtualized Infrastructure
|
||||
Manager) e.g OpenStack
|
||||
- Fault monitoring (Hardware, Hypervisor, Host OS faults)
|
||||
- Fault notification
|
||||
- Failure recovery (Switch to STBY config.)
|
||||
|
||||
.. _Stepler:
|
||||
|
||||
`Stepler <https://stepler.readthedocs.io/>`__
|
||||
=============================================
|
||||
|
||||
- Destructive testing
|
||||
- Test the availability of OpenStack cluster incase of node/service
|
||||
failure(s)
|
||||
|
||||
Make use of os-faults
|
||||
|
||||
.. _NFVbench:
|
||||
|
||||
`NFVbench <https://opnfv-nfvbench.readthedocs.io/en/latest/testing/user/userguide/index.html>`__
|
||||
================================================================================================
|
||||
|
||||
- Measure network performance in OpenStack
|
||||
- Data plane performance testing
|
||||
|
||||
|
||||
.. _Eris:
|
||||
|
||||
`Eris <https://docs.openstack.org/self-healing-sig/latest/eris/index.html>`__
|
||||
=============================================================================
|
||||
|
||||
- Control and data plane performance testing
|
||||
- High Availability testing
|
||||
- Scalability Testing
|
||||
- Concurrency Testing
|
||||
- Benchmarking and results generation
|
||||
|
Loading…
x
Reference in New Issue
Block a user