Git Product home page Git Product logo

shakedown's Introduction

Shakedown Build Status

DC/OS test harness.

Overview

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)

Installation

Shakedown requires Python 3.4+.

Cluster compatibility

Shakedown requires DC/OS 1.10+. Shakedown 1.4.4 is pinned to dcos-cli 0.4.16 and can be used with older cluster versions.

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:

pip 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 update
  • 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 dcos-cli:

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 $HOME/shakedown:

pip install virtualenv
virtualenv $HOME/shakedown
source $HOME/shakedown/bin/activate
pip install dcos-shakedown

This virtual environment can then be activated in new terminal sessions with:

source $HOME/shakedown/bin/activate

Usage

shakedown --dcos-url=http://dcos.example.com [options] [path_to_tests]

  • --dcos-url is required.
  • tests within the current working directory will be auto-discovered unless specified.
  • arguments can be stored in a ~/.shakedown TOML file (command-line takes precedence)
  • shakedown --help is 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]

Helper methods

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.

License

Shakedown is licensed under the Apache License, Version 2.0. For additional information, see the LICENSE file included at the root of this repository.

Reporting issues

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).

Contributing

See the CONTRIBUTING file in the root of this repository.

shakedown's People

Contributors

anita-tenjarla avatar colin-msphere avatar gabrielhartmann avatar jeschkies avatar jsrodman avatar kensipe avatar loren avatar mgummelt avatar mohitsoni avatar nickbp avatar sschneid avatar ssk2 avatar susanxhuynh avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.