wiki:CloudPlugin

Version 6 (modified by robguttman, 3 years ago) (diff)

--

Orchestrates AWS cloud resources using boto and pychef

WARNING! This plugin is in alpha.

I recommend you not use this plugin yet on production instances. Although you likely won't lose ec2 instances or chef data, it's still quite immature. It would be best to try out on dev instances to help test the plugin and generate ideas for new features.

Description

This plugin is meant to fill the coordination gap between AWS and Chef, especially:

  • Launch an ec2 instance and apply one or more chef roles
  • Terminate ec2 instances and delete its chef node

There are additional features and quite possibly more to come, but my intention is to keep the scope down to what's needed to orchestrate between AWS and Chef (and not re-implement either the AWS Management Console or the Chef Server webui).

This plugin relies heavily upon boto and pychef. Special thanks to coderanger for his responsiveness on pychef.

Configuration

  1. Install the plugin (after downloading and unzipping):
    cd cloudplugin/0.12
    sudo python setup.py bdist_egg
    sudo cp dist/TracCloud*.egg /your/trac/location/plugins/
    

See TracPlugins for more installation details and options. You'll likely need to restart Trac's web server after installation.

  1. Enable the plugin in trac.ini:
    [components]
    cloud.* = enabled
    

You can alternatively use the Trac Web Admin GUI to enable any or all rules.

  1. Configure the main trac.ini section:
    [cloud]
    label = Cloud
    aws_key = xxxxxxxxxxxxx
    aws_secret = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    aws_keypair = xxxxxxxxxxxx
    chef_instancedata_file = /path/to/instance-data.json
    chef_base_path = /home/me
    boto_field_node_name = id
    default_droplet = instance
    

See the examples section below for how to specify rules.

Bugs/Feature Requests

Existing bugs and feature requests for CloudPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

You can check out CloudPlugin from here using Subversion, or browse the source with Trac.

Example

trac.ini config ...

[cloud] ...

Recent Changes

[14004] by rjollos on 2014-07-12 20:27:48
Correct license keyword argument in setup.py. Refs #11832.
[13996] by rjollos on 2014-06-25 02:56:32
Fixed author in COPYING file. Refs #11832.
[13994] by rjollos on 2014-06-25 02:51:36
Changed to 3-Clause BSD license with permission of author. Refs #11832.

Author/Contributors

Author: robguttman
Maintainer: robguttman
Contributors:

Attachments (4)

Download all attachments as: .zip