DC/OS test harness.
A shakedown is a period of testing or a trial journey undergone by a ship, aircraft or other craft and its crew before being declared operational. — https://en.wikipedia.org/wiki/Shakedown_(testing)
Shakedown requires Python 3.4+.
Installing from PyPI
The recommended Shakedown installation method is via the PyPI Python Package Index repository at https://pypi.python.org/pypi/dcos-shakedown. To install the latest version and all required modules:
pip3 install dcos-shakedown
dcos-shakedown has a number of dependencies which need to be available. One of those dependencies, the cryptography module requires a number of OS level libraries in order to install correctly which include:
build-essential libssl-dev libffi-dev python-dev. For environments other than linux please read Stackoverflow. On a new ubuntu environment the following should install dcos-shakedown.
apt-get install python3 python3-pip build-essential libssl-dev libffi-dev python-dev
pip3 install dcos-shakedown
Development and bleeding edge
To pull and install from our
master branch on GitHub:
git clone https://github.com/dcos/shakedown.git cd shakedown pip3 install -r requirements.txt && pip3 install -e .
Or if you do not wish to pin to a version of
pip3 install -r requirements-edge.txt && pip3 install -e .
Setting up a new Shakedown virtual environment
If you'd like to isolate your Shakedown Python environment, you can do so using the virtualenv tool. To create a new virtual environment in
pip3 install virtualenv virtualenv $HOME/shakedown source $HOME/shakedown/bin/activate pip3 install dcos-shakedown
This virtual environment can then be activated in new terminal sessions with:
shakedown --dcos-url=http://dcos.example.com [options] [path_to_tests]
- tests within the current working directory will be auto-discovered unless specified.
- arguments can be stored in a
~/.shakedownTOML file (command-line takes precedence)
shakedown --helpis your friend.
Running in parallel
Shakedown can be run against multiple DC/OS clusters in parallel by setting the
DCOS_CONFIG_ENV environmental variable to a unique file, eg:
DCOS_CONFIG_ENV='shakedown-custom-01.toml' shakedown --dcos-url=http://dcos.example.com [options] [path_to_tests]
Shakedown is a testing tool as well as a library. Many helper functions are available via
from shakedown import * in your tests. See the API documentation for more information.
Shakedown is licensed under the Apache License, Version 2.0. For additional information, see the LICENSE file included at the root of this repository.
Please report issues and submit feature requests for Shakedown by creating an issue in the DC/OS JIRA with the "Shakedown" component (JIRA account required).
See the CONTRIBUTING file in the root of this repository.