Skip to content
Permalink
Browse files
prepare for release
  • Loading branch information
sebgoa committed Aug 12, 2015
1 parent 69947b2 commit 33a961cab66e167bfc6e321115a4440482183cb0
Showing 8 changed files with 597 additions and 54 deletions.
@@ -2,25 +2,25 @@ History
=======

0.7.1 (20-08-2014)
__________________
------------------

* Add support for gp2 ec2 instances

0.7.0 (11-08-2014)
__________________
------------------

* Added support for snapshot operations
* createSnapshot
* deleteSnapshot
* listSnapshots

0.6.1 (7-08-2014)
_________________
-----------------

* Fix bug in VPC creation when ec2stack is configured with a basic zone

0.6.0 (20-07-2014)
__________________
------------------

* Added support for vpc operations
* createVpc
@@ -30,39 +30,37 @@ __________________
* Upgrade to Alpha

0.5.0 (9-07-2014)
_________________
-----------------

* Add support for configuration profiles

`$ ec2stack-configure --profile exampleprofile`
$ ec2stack-configure --profile exampleprofile

`$ ec2stack --profile exampleprofile`
$ ec2stack --profile exampleprofile

* Give user the ability to debug app

`$ ec2stack --debug True`
$ ec2stack --debug True

0.4.0 (9-06-2014)
_________________
-----------------

* Make api version used in responses dynamic


0.3.0 (8-06-2014)
_________________
-----------------

* Added support for tag operations
* createTags
* deleteTags
* listTags

0.2.0 (01-4-2014)
_________________
-----------------

* Change Amazon API support from 2013-10-15 to 2014-02-01


0.1.0 (08-03-2014)
__________________
------------------

* ec2stack conception
@@ -0,0 +1,135 @@
<!---
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
--->
Abstract
========

This document is the Software Manual for EC2Stack. The Software user
manual instructs how to install and use the EC2Stack from a developer's perspective.

1 Introduction
==============

1.1 Intended readership
------------------------

This document covers the use for the following users of EC2Stack:

- The Developer.

1.2 Applicability
-----------------

This software user manual applies to EC2Stack, version 0.5.

1.3 Purpose
-----------

The purpose of the software user manual is to assist:

- Developers on extending or modifying EC2Stack.

1.4 How to use this document
----------------------------

Section 2 includes information for a developer. This covers installation
for development purposes, git repository location, test execution and
the automated vagrant development environment.

2 Developer Information
=======================

2.1 The code base
-----------------

The latest version of the EC2Stack code base can be found on github at
https://github.com/apache/cloudstack-ec2stack

To clone the repository execute the following command:

```
$ git clone git@github.com:apache/cloudstack-ec2stack.git
```

2.2 Installation for development purposes
-----------------------------------------

For developing EC2Stack it is recommended to run it in development mode.
To do so install it using the following command:

```
$ python setup.py develop
```

EC2Stack will still need to be configured, this can be done so by
executing ec2stack-configure as outlined in section 2 of this document.

You can start gstack in debug mode using the optional -d or --debug flag

$ ec2stack -d True

2.3 Test Execution
------------------

To run the included tests the following software is required:

- pep8
- pylint
- nose
- mock
- coverage
- factory-boy==1.3.0

These can be installed via the Python Package Index:

```
$ pip install pep8 pylint nose mock coverage factory-boy==1.3.0
```

Tests can be executed from the root of the code base as follows:

### 2.3.1 Style Check

```
$ pep8 --ignore=E501 *.py ec2stack
```

### 2.3.2 Lint

```
$ pylint --rcfile=pylint.rc *.py ec2stack
```

### 2.3.3 Unit Tests

```
$ nosetests --with-coverage --cover-erase --cover-package=ec2stack
--cover-html
```

A HTML base coverage report will be placed in ./cover

2.4 Vagrant Development Environment
-----------------------------------

Within the code base there is a VagrantFile and Puppet Manifests.
Assuming you have vagrant installed and configured you can execute
vagrant up.

This will bring up a new virtual machine configure with all necessary
tools for development and the code base located at /vagrant``
@@ -1,5 +1,29 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#
FROM ubuntu:14.04

MAINTAINER "Apache CloudStack" <dev@cloudstack.apache.org>
LABEL Description="Apache CloudStack EC2stack; Python based AWS EC2 Interface to the CloudStack API"
LABEL Vendor="apache.org"
LABEL License=ApacheV2
LABEL Version=1.0.0

RUN apt-get update
RUN apt-get install -y python
RUN apt-get install -y python-pip
5 NOTICE
@@ -0,0 +1,5 @@
Apache CloudStack EC2stack
Copyright 2015 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
@@ -1,9 +1,7 @@
========
EC2STACK
========
Apache CloudStack EC2stack
==========================

An EC2 Compatibility Interface For Apache CloudStack
####################################################
**An EC2 Compatibility Interface For Apache CloudStack**

.. image:: https://badge.fury.io/py/ec2stack.png
:target: https://pypi.python.org/pypi/ec2stack
@@ -13,70 +11,51 @@ An EC2 Compatibility Interface For Apache CloudStack
Description
-----------

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.
Apache [CloudStack](http://cloudstack.apache.org) 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_
-----------------------
Easy setup with [Docker](http://docker.com)
-------------------------------------------

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

::

docker pull runseb/ec2stack
$ docker pull runseb/ec2stack

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

::

docker run -t -i ec2stack ec2stack-configure
$ docker run -t -i ec2stack ec2stack-configure

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

::

docker commit <container id> ec2stack:yourcloud
$ docker commit <container id> ec2stack:yourcloud

Run an container with the ec2stack command

::

docker run -d -p 5000:5000 ec2stack:yourcloud ec2stack
$ 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
$ curl -d AWSSecretKey=yoursecretkey -d AWSAccessKeyId=yourapikey -d Action=RegisterSecretKey http://localhost:5000

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

::

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

Usage
-----

**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
$ 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
$ 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_.

.. _Guide: https://github.com/BroganD1993/ec2stack/wiki/User-Guide
.. _CloudStack: http://cloudstack.apache.org
.. _Docker: http://www.docker.com
For usage information please see the [User Guide](https://github.com/apache/cloudstack-ec2stack/USER.md).

0 comments on commit 33a961c

Please sign in to comment.