Deployment Fixtures (multi-node system deployment description)

Registered by Rob Hirschfeld

This blueprint calls for an API spec to describe the full deployment environment(s) for OpenStack components.

The blueprint enables an OpenStack project to describe its deployment infrastructure in a consistent way across projects (REST API, configuration file, etc). The working name for these descriptions will be a "fixture" because the objective is to create a pattern that can be used to automatically create repeatable deployments. Note: I am seeking alternates for Fixture. The pattern should be independent of the actual implementation mechanism, but should clearly indicate when changes require implementation changes.

Challenge: to express deployment architecture of an OpenStack deployment in a way that can
1) Be used as input for by automated deployments and accommodate minor changes/addition to configuration parameters
2) Identify when changes are made to the software that requires to the deployment automation
3) Fully describe the relationships of a deployment including dependencies, services offered, and connectivity requirements

A deployment fixture has
   * the attributes/configuration points as inputs to the deployment
      * where possible attributes should have lists or validations to limit range of inputs
   * roles that describe the capabilities that need to be deployed (I am using Chef roles as a reference here)
   * the services that are provided by the project that may be consumed by other projects
   * the services that are provided by other projects or the base infrastructure (pre-reqs)
   * a description of the connectivity requirements between roles
   * indicates which packages & versions should be used for the deployment (in a way that is multi-os)

I propose a JSON config file & validation schema as a fixture API. This API would be implementation independent and could be validated by tests that check the system. Since there is a validation schema, you can enforce versioning changes and make sure that deployments have architecture validation.

Blueprint information

Thierry Carrez
Rob Hirschfeld
Needs approval
Rob Hirschfeld
Series goal:
Milestone target:
Completed by
Mark McLoughlin

Related branches



Updated the blue print from a tool to implement cloud deployment to an API spec that can be used to as the input for independent cloud deployment tools. For example, Dell would use Crowbar to consume the API.


It looks like this proposal is nearly a year old with little progress. It also doesn't appear to be a proposal for an addition to the openstack-common but rather a new OpenStack project?


Work Items