Jump to: navigation, search

Heat/Software-Configuration-Provider

< Heat
Revision as of 12:04, 18 July 2013 by Jsloyer (talk | contribs) (Created page with "Overview: This blueprint handles the python resource provider for the Heat Engine to be able to parse a HOT template and configure software on an instance. Purpose of this blu...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Overview: This blueprint handles the python resource provider for the Heat Engine to be able to parse a HOT template and configure software on an instance. Purpose of this blueprint is to allow for a clean, declarative way of defining software components to be hosted on compute instances in HOT templates. In contrast to current cfn templates, where software-related metadata is mangled into compute instance resource definitions, the goal is to separate software metadata into seperate resources and have them related to instances via a hosted_on relation. The compute instance itself should then only contain bare minimum metadata to get the instance activated.

What is missing/what are we trying to solve: Currently in Heat there is a gap in configuring complex and larger software systems. For example sharing a username, password, or database dynamically at deploy time does not exist in Heat right now. It is possible to accomplish this with cfn signaling but it is messy and complex. We wish to simply this.

Goal: A user wants to deploy a wordpress application and a mysql server. The user does not want to deploy these products in serial and does not want to have global properties for these servers. Ideally the user wants the database server and application silo'ed from each other and each server define what it provides and what the other requires.

Use cases: -Define a HOT template with a single software component such as wordpress hosted on a compute instance -Define a HOT template with two software components (web app and DB) hosted on two compute instances that depend on each other -Deploy a HOT template with software component definitions