- 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.
- 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.
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.
$ easy_install virtualenv
$ virtualenv venv
$ source ./venv/bin/activate
$ sudo apt-get install libevent-dev
Install python dependencies
$ pip install -r pip-requires.txt