Buildbot and EC2

From CDOT Wiki
Revision as of 18:33, 12 October 2007 by Awdelyea (talk | contribs)
Jump to: navigation, search

Project Name

Buildbot and EC2

Project Description

The BuildBot is software for automatically building and testing other software. EC2 is Amazon's "Elastic Compute Cloud", a service that lets you run Virtual Machines on Amazon's computing grid using a web API. It would be awesome if BuildBot had an EC2 module, and could spawn Virtual Machines on-demand to perform tasks. Conveniently, BuildBot is written in Python, and there's a Python library for interfacing with EC2.

References: Amazon EC2 Basics For Python Programmers

Project Leader(s)

Adam Delyea

Project Contributor(s)

Project Details

Release 0.1

Goals

  • Add in a new build step to Buildbot
  • Allow Buildbot to connect with Amazon's EC2 service

Downloads

    EC2_build_step_nokeys.py

    Note: You will need to install the boto library located here.


About

Basically, this first version attempts to connect to an EC2 account, and then display the connection information to show that it has connected.

It uses a library called "boto", and this library is used to connect to all of Amazon's Web Services

To use this in a Buildbot configuration file, simply call the connect_to_ec2() function, which takes in as paramaters, an Amazon id key, and an Amazon secret key.

Example:

    connection = connect_to_ec2("73ghf9h38fh", "75vo87rVO*&V%O7o75v7i%i75I&5li7%i75")

Release 0.2

Goals

  • Start New Instances
  • Add new instances to build slave list
  • Start a build on an EC2 instance build slave

Downloads

About


Release 0.3

Goals

Downloads

About

Tasks

Task Details Priority Contributors Status Link(s)
Define new build step Add a new build step to the build master config file. The build step will be in an external file and imported into the build master config file. Done Adam Delyea   Writing New Build Steps
Connect To EC2 using Python Utilize the EC2 python library to connect to an account on the EC2 network. Once connected, display some information about the users account to prove it's actually connecting. Done Adam Delyea  
Start new instances Allow Buildbot to spawn an instance on demand. Medium Adam Delyea In Progress, On Track  
Add new instances to build slave list Allow newly created EC2 instances to be added to the build slave list Medium Adam Delyea In Progress, On Track  
Start a new build on an EC2 instance Allow Buildbot to successfully start a build using a build slave on an EC2 instance Medium Adam Delyea In Progress, On Track  

Project Resources

Project News

2007-09-17: Project claimed!

2007-10-11: Found a python EC2 library that has all of the functions I will need for interacting with EC2. Just need to write a custom build step to run these library functions.

2007-10-12: Release v0.1 is complete and available for download.

2007-10-12: Release v0.2 loosely defined. More detail to follow.