AWS EC2 and VPC API support in standalone service for OpenStack.
Go to file
imran 4587f6644c Fix minor grammar in README file
Added some missing links to complete the sentence structure.

Change-Id: Ifddf62a9ebfe316af5b85b5d524fd743cf630a71
2015-02-02 17:18:10 -08:00
bin Simple script for upgrade from existing data in nova DB 2015-01-28 02:10:42 +04:00
ec2api Fix passing of bdm to run instances 2015-02-01 01:38:25 +04:00
etc/ec2api Merge "Metadata proxy service" 2015-01-12 14:22:34 +00:00
tools remove proxy to ec2 2014-12-26 16:05:16 +03:00
.gitignore remove proxy to ec2 2014-12-26 16:05:16 +03:00
.gitreview Added .gitreview 2014-06-25 19:24:05 +00:00
.testr.conf Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
HACKING.rst Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
LICENSE Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
MANIFEST.in Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
README.rst Fix minor grammar in README file 2015-02-02 17:18:10 -08:00
babel.cfg Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
install.sh EC2 metadata implementation 2015-01-16 01:19:26 +04:00
openstack-common.conf Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
requirements.txt Extract image manipulation methods 2014-12-22 14:54:05 +04:00
run_tests.sh Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
setup.cfg Create ec2-api-metadata console script 2015-01-23 00:31:43 +04:00
setup.py Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00
test-requirements.txt Clean up requirements 2014-10-28 17:35:06 +00:00
tox.ini Initial EC2-API service commit. 2014-07-18 19:33:55 -07:00

README.rst

OpenStack EC2 API README

Support of EC2 API for OpenStack. This project provides a standalone EC2 API service which pursues two goals: 1. Implement VPC API which is now absent in nova's EC2 API 2. Create a standalone service for EC2 API support which accommodates not only the VPC API but the rest of the EC2 API currently present in nova as well.

It doesn't replace existing nova EC2 API service in deployment, it gets installed to a different port (8788 by default).

Installation =====

Run install.sh

The EC2 API service gets installed on port 8788 by default. It can be changed before the installation in install.sh script.

The services afterwards can be started as binaries:

/usr/bin/ec2-api
/usr/bin/ec2-api-metadata

or set up as Linux services.

To configure OpenStack for EC2 API metadata service:

for Nova-network

add:

[DEFAULT]
metadata_port = 8789
[neutron]
service_metadata_proxy = True

to /etc/nova.conf

then restart nova-metadata (can be run as part of nova-api service) and nova-network services.

for Neutron

add:

[DEFAULT]
nova_metadata_port = 8789

to /etc/neutron/metadata_agent.ini

then restart neutron-metadata service.

Usage

Download aws cli from Amazon. Create configuration file for aws cli in your home directory ~/.aws/config:

[default]
aws_access_key_id = 1b013f18d5ed47ae8ed0fbb8debc036b
aws_secret_access_key = 9bbc6f270ffd4dfdbe0e896947f41df3
region = us-east-1

Change the aws_access_key_id and aws_secret_acces_key above to the values appropriate for your cloud (can be obtained by "keystone ec2-credentials-list" command).

Run aws cli commands using new EC2 API endpoint URL (can be obtained from keystone with the new port 8788) like this:

aws --endpoint-url http://10.0.2.15:8788/services/Cloud ec2 describe-instances

Limitations

VPN-related and ACL-related functionality is not supported. Default VPC Security Groups had to be named "Default" instead of Amazon's "default" due to conflict with OpenStack's default groups. DryRun option is not supported. Some exceptions are not exactly the same as reported by AWS.

Supported Features

EC2 API with VPC API except for the limitations above.

Additions to the legacy nova's EC2 API include: 1. VPC API 2. Filtering 3. Tags

References

Blueprint: https://blueprints.launchpad.net/nova/+spec/ec2-api

Spec: https://review.openstack.org/#/c/147882/