Jump to: navigation, search

Difference between revisions of "Smokestack"

 
Line 15: Line 15:
  
 
[[SmokeStack]] is a Rails application that provides a webUI and REST API to run smoke tests on Openstack. It currently supports custom branches of nova and glance. Each test configuration allows you to customize the nova and glance branch and provides an option to merge w/ trunk (highly recommended). Packages are built with PPA packages and installed via Chef on freshly built Rackspace Cloud Servers. Smoke tests include a set of Ruby openstack-compute bindings tests along with the tests in the standard nova 'smoketests' directory.
 
[[SmokeStack]] is a Rails application that provides a webUI and REST API to run smoke tests on Openstack. It currently supports custom branches of nova and glance. Each test configuration allows you to customize the nova and glance branch and provides an option to merge w/ trunk (highly recommended). Packages are built with PPA packages and installed via Chef on freshly built Rackspace Cloud Servers. Smoke tests include a set of Ruby openstack-compute bindings tests along with the tests in the standard nova 'smoketests' directory.
 +
 +
== Creating a new test configuration ==
 +
 +
[[SmokeStack]] currently supports custom nova and glance branches.
 +
 +
{{http://c3323772.r72.cf0.rackcdn.com/new_test.png}}
  
 
== Jobs ==
 
== Jobs ==
Line 38: Line 44:
 
{{http://c3323772.r72.cf0.rackcdn.com/job.png}}
 
{{http://c3323772.r72.cf0.rackcdn.com/job.png}}
  
== Creating a new test configuration ==
+
== Configurations ==
 
 
[[SmokeStack]] currently supports custom nova and glance branches.
 
 
 
{{http://c3323772.r72.cf0.rackcdn.com/new_test.png}}
 
 
 
== Cloud Configurations ==
 
  
 
[[SmokeStack]] 'configurations' are groups of settings that define how each VPC cloud is configured. The settings control:
 
[[SmokeStack]] 'configurations' are groups of settings that define how each VPC cloud is configured. The settings control:

Revision as of 23:51, 7 June 2011

SmokeStack

A webUI to run smoke tests on the OpenStack.

Source Code

https://github.com/dprince/smokestack

Online at

http://184.106.189.251/

Description

SmokeStack is a Rails application that provides a webUI and REST API to run smoke tests on Openstack. It currently supports custom branches of nova and glance. Each test configuration allows you to customize the nova and glance branch and provides an option to merge w/ trunk (highly recommended). Packages are built with PPA packages and installed via Chef on freshly built Rackspace Cloud Servers. Smoke tests include a set of Ruby openstack-compute bindings tests along with the tests in the standard nova 'smoketests' directory.

Creating a new test configuration

SmokeStack currently supports custom nova and glance branches.

Template:Http://c3323772.r72.cf0.rackcdn.com/new test.png

Jobs

Each job goes into a Redis backed job queue. Smokestack currently has 3 job workers (which allows for 3 concurrent jobs to be running at any time). This is easily scalable by adding more workers and Cloud Servers accounts.

Each job makes use of an openstack_vpc project template which is used to automate and control the setup of things in the cloud. The openstack_vpc project (available online here: https://github.com/dprince/openstack_vpc) is also a handy tool for developers who want to spin up groups of servers to have direct access to a fully working Openstack (nova/glance) system in the cloud.

Here is what happens each time a job runs:

1) A Cloud Servers VPC group is created. (See https://github.com/rackspace/cloud_servers_vpc for more information)

2) Packages are built (in the cloud) based on the configured SmokeStack branches for nova and glance. An API repo is created which is used to deploy these packages.

3) Chef is installed and each node configured according to the selected 'configuration' (see below).

4) Smoke tests are executed (first the OSAPI tests and then the nova 'smoketests').

5) Results, logs, bzr revisions are harvested and stored in the SmokeStack DB.

The results look something like this:

Template:Http://c3323772.r72.cf0.rackcdn.com/job.png

Configurations

SmokeStack 'configurations' are groups of settings that define how each VPC cloud is configured. The settings control:

1) The type and size of Cloud Servers used

2) The Chef cookbook repo used

3) The Chef roles and recipes that should be used for each node.

Template:Http://c3323772.r72.cf0.rackcdn.com/configuration.png

SmokeStack currently contains two configurations called: 'Libvirt MySQL' and 'Libvirt Postgres'. Future configurations might support testing different nova configurations (zones) and/or include different hypervisors like XenServer (using bare metal), etc.