Jump to: navigation, search

Difference between revisions of "Rally/DeployEngines"

m (Configuration Example: Italic)
(Adding introduction)
Line 1: Line 1:
 +
= Deploy engines: Introduction =
 +
 +
One of the core entities in Rally architecture are the '''''Deploy engines'''''. The task of a deploy engine is to control the process of deploying some OpenStack distribution like ''DevStack'' or ''FUEL'' before any benchmarking procedures take place. Every deploy engine should implement the following fairly simple interface:
 +
* ''constuctor'', which takes a ''deployment'' entity as its only parameter;
 +
* ''deploy()'', which should deploy the appropriate OpenStack distribution given the cloud config from the ''deployment'' object the engine was initialized with (possibly using one of available [[ServerProviders|server providers]]). The method should also return a dictionary with endpoints of the deployed OpenStack distribution;
 +
* ''cleanup()'', which should clean up the OpenStack deployment (again, possibly using one of available [[ServerProviders|server providers]]).
 +
 
=Available Deploy engines=
 
=Available Deploy engines=
  

Revision as of 19:54, 9 December 2013

Deploy engines: Introduction

One of the core entities in Rally architecture are the Deploy engines. The task of a deploy engine is to control the process of deploying some OpenStack distribution like DevStack or FUEL before any benchmarking procedures take place. Every deploy engine should implement the following fairly simple interface:

  • constuctor, which takes a deployment entity as its only parameter;
  • deploy(), which should deploy the appropriate OpenStack distribution given the cloud config from the deployment object the engine was initialized with (possibly using one of available server providers). The method should also return a dictionary with endpoints of the deployed OpenStack distribution;
  • cleanup(), which should clean up the OpenStack deployment (again, possibly using one of available server providers).

Available Deploy engines

DummyEngine

Description

This engine does not deploy anything, but uses an existing OpenStack deployment. It may be useful in case you have a preconfigured OpenStack deployment ready for benchmark scenarios launching.

Configuration Example

   {
       "name": "DummyEngine",
       "cloud_config": {
           "identity": {
               "url": "http://192.168.122.22/",
               "uri": "http://192.168.122.22:5000/v2.0/",
               "admin_username": "admin",
               "admin_password": "password",
               "admin_tenant_name": "demo"
           }
       }
   }

"identity" contains OpenStack cloud endpoints.

DevstackEngine

Description

This engine deploys a Devstack cloud using the given Devstack repository. The localrc field of the Devstack engine configuration will be used to initialize the Devstack's localrc file. As this deploy engine is not a dummy one, it also needs a concrete Server Provider to be specified in the config.

Configuration Example

   {
       "name": "DevstackEngine",
       "localrc": {
           "ADMIN_PASSWORD": "secret",
           "NOVA_REPO": "git://example.com/nova/",
           ...
       },
       "devstack_repo": "git://example.com/devstack/",
       "provider": ${PROVIDER_CONFIG}
       }
   }


${PROVIDER_CONFIG} - configuration of any available server provider.

Note

More Deploy engines are to come in future releases, namely deploy engines for FUEL, Tripple-O etc. Stay tuned.