dva's validation. again.
Clone or download
Pull request Compare This branch is 236 commits ahead, 4 commits behind dparalen:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data
dva
etc
hwp
misc
scripts
.gitignore
LICENSE
README.md
setup.cfg
setup.py

README.md

dva

dva's validation. again.

  • dva is a tool to sanity-check image instances in cloud
  • this is achieved by executing same test cases over various images and instance types
  • expected test results usually depend on OS (minor) version
  • primary focus is RHEL release validation in EC2
  • OpenStack and Fedora is supported, too
  • 3rd-party test modules are supported

Tested On

  • Fedora 19-23
  • Ubuntu 15.04

Installation

  • Requires Python 2
  • sudo python setup.py install
  • or sudo pip install dva

(Optional) Ubuntu Packages Required For Installation

  • apt-get install python-setuptools build-essential python-dev libffi-dev python-openssl libssl-dev
  • easy_install PyOpenSSL

Usage

  • dry-run: dva validate -n < data.yaml > result.yaml
  • dva validate < data.yaml > result.yaml
  • dva bugzilla < result.yaml > buglist.yaml
  • # dva result < result.yaml > result.txt
  • for complete options list: dva --help
  • for failure summary use: dva summary -i result.yaml
  • simulate valid execution: dva validate -i data.yaml --parallel-tests=1 --sorted-mode
  • load custom tests: dva validate < data.yaml > result.yaml --test-modules=my.tests

Notes

  • please bare in mind the limit of opened file-descriptors is usualy 1024
  • --parallel-tests and --parallel-instances multiply the usage of file-descriptors needed
  • sshd puts a limit on the number of sessions users may open in parallel
  • usually --parallel-tests=10 is the maximum possible
  • dva runs in a single process in gevent pools
  • consider running multiple dva instances for large inputs
  • not-setting --sorted-mode has the benefit of breaking waves in test execution
  • for the same reason, image instantiation is randomized through cloud regions

See also