Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Test that a target cloud conforms to the AWS API
Python
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
awscompat
scripts
tests
third_party
.gitignore
LICENSE
README.mkd
TODO
pip-requires.txt
run_tests.py

README.mkd

awscompat

Goals

  • Automated test to compare API compatibility between a given build of OpenStack and AWS
  • Assuming the test will be run against AWS, try to stay in the free tier as much as possible.
  • Cover the main use cases for the AWS api.

Non-goals

  • Do not be a general framework for launching Openstack builds for testing
  • Do not attempt full coverage of the AWS API.

Proposed Implementation Summary

  • A test runner which executes a "test strategy" against a live openstack install and summarizes which strategies passed and which failed.
  • The "test strategy" will be written in python to the awscompat API
  • The test runner will mutate the target system's state while running, but will do its best to leave the system in its original state.

Running

Awscompat uses a json config file to fill in details that differ from one cloud to another. Awscompat ships with a script which reads values from your environment to help generate the config.

To generate an openstack config, first source your novarc file, and then run:

$ ./scripts/generate_config.py os > os_config.json

where 'os' stands for OpenStack. You should then edit the file to plug in the appropriate values for kernel, and ramdisk ID. Also verify that the other values are correct. Once you have your config file, run:

$ ./run_tests.py -c os_config.json

Running with virtualenv

aws-compat can be run using a isolated environment using virtualenv.

  • Install virtualenv

    $ easy_install virtualenv
    
  • Create virtualenv

    $ virtualenv venv
    
  • Activate virtualenv

    $ source ./venv/bin/activate
    

Installing Dependencies

  • Install libevent

    $ sudo apt-get install libevent-dev
    
  • Install python dependencies

    $ pip install -r pip-requires.txt 
    
Something went wrong with that request. Please try again.