Migrate to Github Actions (#4)

2 files changed
tree: 632cb18ee661f54012fd4b74ab1a9abb93855fbf
  1. .github/
  2. ec2stack/
  3. migrations/
  4. tests/
  5. .coveragerc
  6. .gitignore
  7. CHANGES.md
  9. Dockerfile
  11. MANIFEST.in
  12. NOTICE
  13. performrelease.sh
  14. pylint.rc
  15. README.md
  16. setup.py
  17. USER.md

Apache CloudStack EC2stack

An EC2 Compatibility Interface For Apache CloudStack

Build Status


Apache CloudStack is an open source software designed to deploy and manage large networks of virtual machines, as highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform.

ec2stack takes Amazon EC2 API requests, maps these requests to the appropriate CloudStack API calls and parses the responses as required. This allows utilities created for the Amazon EC2 API to be used against Apache CloudStack.

Easy setup with Docker

The easiest way to run ec2stack is to use a docker container. Pull the image from docker hub.

$ docker pull cloudstack/cloudstack-ec2stack

Run an interactive container and configure ec2stack for your CloudStack endpoint. Be careful to use as the bind address for ec2stack server.

$ docker run -ti cloudstack/cloudstack-ec2stack ec2stack-configure

Commit the configured container into a new image specific to your cloud.

$ docker commit <container id> ec2stack:yourcloud

Run an container with the ec2stack command

$ docker run -d -p 5000:5000 ec2stack:yourcloud ec2stack

Register a user

$ curl -d AWSSecretKey=yoursecretkey -d AWSAccessKeyId=yourapikey -d Action=RegisterSecretKey http://localhost:5000

This should return an xml response with the message “Successfully Registered”

On Ubuntu systems install pip and awscli like so:

$ sudo apt-get install python-pip
$ sudo pip install awscli

Configure the AWS cli by entreing your CloudStack cloud API keys, and the name of the zone. Set the signature version to be v2:

$ aws configure
$ aws configure set default.ec2.signature_version v2

You now just need to configure your aws cli and use the local ec2stack point:

$ aws ec2 describe-images --endpoint=http://localhost:5000


IMPORTANT: Please note that the current version of ec2stack only supports AWS Signature Version 2 and therefore will NOT work with the current AWS CLI unless you explicitly tell it to use Version 2. You can set the signature version for your default AWS CLI profile with:

$ aws configure set default.ec2.signature_version v2

If you are using named profiles then you can set the version for the specific profile with:

$ aws configure set profile.<your profile name>.ec2.signature_version v2

Both of the above commands will update your ~/.aws/config file.

For usage information please see the User Guide.