Jump to: navigation, search

Difference between revisions of "Heat"

Line 18: Line 18:
 
* The software integrates other core components of [[OpenStack]] into a one-file template system.  The templates allow creation of most [[OpenStack]] resource types (such as instances, floating ips, volumes, security groups, users, etc), as well as some more advanced functionality such as instance high availability, instance autoscaling, and nested stacks.  By providing very tight integration with other [[OpenStack]] core projects, all [[OpenStack]] core projects could receive a larger user base.
 
* The software integrates other core components of [[OpenStack]] into a one-file template system.  The templates allow creation of most [[OpenStack]] resource types (such as instances, floating ips, volumes, security groups, users, etc), as well as some more advanced functionality such as instance high availability, instance autoscaling, and nested stacks.  By providing very tight integration with other [[OpenStack]] core projects, all [[OpenStack]] core projects could receive a larger user base.
 
* Currently no other CloudFormation implementation exists for [[OpenStack]].  The developers believe cloud developers have a strong desire to move workloads from AWS to [[OpenStack]] deployments.  Given the missing gap of a well-implemented and integrated CloudFormation API in [[OpenStack]], we provide a high quality implementation of this gap improving the ubiquity of [[OpenStack]].
 
* Currently no other CloudFormation implementation exists for [[OpenStack]].  The developers believe cloud developers have a strong desire to move workloads from AWS to [[OpenStack]] deployments.  Given the missing gap of a well-implemented and integrated CloudFormation API in [[OpenStack]], we provide a high quality implementation of this gap improving the ubiquity of [[OpenStack]].
 
'''Roadmap for the project''':
 
 
[http://wiki.openstack.org/Heat/RoadMap RoadMap]
 
 
'''Location of project source code''':
 
* [[GitHub]] Repository: https://github.com/heat-api
 
* Web Site: http://www.heat-api.org
 
 
'''Programming language, required technology dependencies''':
 
* Python2, matching [[OpenStack]] design principles
 
 
All dependencies are standard [[OpenStack]] technology dependencies. The following PyPI packages are required:
 
* pycrypto
 
* eventlet
 
* glance
 
* greenlet
 
* httplib2
 
* iso8601
 
* python-keystoneclient
 
* kombu
 
* lxml
 
* python-memcached
 
* sqlalchemy-migrate
 
* python-novaclient
 
* Paste
 
* Routes
 
* pysendfile
 
* SQLAlchemy
 
* WebOb
 
 
'''Is project currently open sourced? What license?''':
 
* Open source since project inception in March 2012
 
* Licensed under ASL 2.0
 
 
'''Level of maturity of software and team''':
 
* software - medium - for example we are missing VPC functionality
 
* team - high
 
 
'''Proposed project technical lead and qualifications''':
 
 
Our proposed PTL:
 
* Steven Dake - 10 years distributed computing experience - 15 years software development experience, Led development of the Corosync Cluster Engine (https://github.com/corosync/corosync).  A leader in driving the Linux high availability development and user community to adopt a common set of building blocks and technologies to support high availability on Linux platforms.
 
 
An alternate strong PTL candidate:
 
* Angus Salkeld - 5 years clustering, 8 1/2 years embededed linux - 11 years software development experience.  A leader in driving the Linux high availability development community to adopt libqb (https://github.com/asalkeld/libqb) used as a standard infrastructure library.
 
 
'''Other project developers and qualifications''':
 
* Chris Alfonso - 13 years of professional software development and system administration experience, specializing in open source computing. Led development of hosted x.509 based subscription management platform (http://access.redhat.com/management) and contributed to many open source projects.
 
* Zane Bitter - 8 years professional software development experience, specialising in embedded systems, mostly Linux, including 4 years developing Ethernet L3 switches.
 
* Greg Blomquist - 12 years of software development experience with a focus on web application development and administration.
 
* Steven Hardy - 12 years software development experience, distributed application development, device drivers and enterprise systems management. Spacewalk (www.spacewalk.redhat.com) & Linux kernel contributor.
 
* Ian Main - 5 years of distributed computing expierence - 14 years of professional software development.  Lots of open source work including GTK+, GNOME, and many other projects.
 
* Jeff Peeler - 4.5 years software development experience. Worked on Asterisk (www.asterisk.org) for 3 years while employed by Digium.
 
* Tomas Sedovic - 4 years software development experience, worked on the Aeolus (http://aeolusproject.org/) project.
 
 
'''Infrastructure requirements (testing, etc)''':
 
 
We have integrated with stackforge, which recently moved into [[OpenStack]]'s infrastructure.  We use the [[OpenStack]] workflow including gerrit/jenkins.
 
 
'''Have all current contributors agreed to the OpenStack CLA?'''
 
 
Yes
 
 
'''Status''': To be completed by PPB
 
 
= Archive =
 
  
 
= Heat =
 
= Heat =
  
[http://www.heat-api.org Heat] provides a REST API to orchestrate multiple composite cloud applications implementing the [http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/Welcome.html?r=7078 AWS CloudFormation] API.
+
Heat provides a REST API to orchestrate multiple composite cloud applications implementing the [http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/Welcome.html?r=7078 AWS CloudFormation] API.
  
 
Why heat?  It makes the clouds rise!
 
Why heat?  It makes the clouds rise!
Line 116: Line 49:
 
The templates integrate well with [https://s3.amazonaws.com/cloudformation-examples/IntegratingAWSCloudFormationWithPuppet.pdf Puppet] and [http://www.full360.com/blogs/integrating-aws-cloudformation-and-chef Chef]
 
The templates integrate well with [https://s3.amazonaws.com/cloudformation-examples/IntegratingAWSCloudFormationWithPuppet.pdf Puppet] and [http://www.full360.com/blogs/integrating-aws-cloudformation-and-chef Chef]
  
= Getting Started Guides =
+
= Links =
Getting started on Fedora 16 & 17 https://github.com/heat-api/heat/blob/master/docs/GettingStarted.rst#readme
+
* [http://wiki.openstack.org/Heat/RoadMap RoadMap]
 +
* [https://launchpad.net/heat LaunchPad]
 +
* [https://github.com/heat-api GitHub Repository]
 +
* [http://wiki.openstack.org/Heat/TroubleShooting Trouble Shooting]
  
Getting started on Ubuntu Precise https://github.com/heat-api/heat/wiki/Getting-Started-with-Heat-using-Master-on-Ubuntu.
+
== Getting Started Guides ==
 +
* Getting started on Fedora 16 & 17 https://github.com/heat-api/heat/blob/master/docs/GettingStarted.rst#readme
 +
* Getting started on Ubuntu Precise https://github.com/heat-api/heat/wiki/Getting-Started-with-Heat-using-Master-on-Ubuntu.
  
= HOWTO Guides =
+
== HOWTO Guides ==
 
* [http://wiki.openstack.org/Heat/Using-the-metadata-server Using Metadata Server]
 
* [http://wiki.openstack.org/Heat/Using-the-metadata-server Using Metadata Server]
 
* [http://wiki.openstack.org/Heat/Configuring-Floating-IPs Using Floating IPs]
 
* [http://wiki.openstack.org/Heat/Configuring-Floating-IPs Using Floating IPs]
Line 128: Line 66:
 
* [http://wiki.openstack.org/Heat/Using-boto Using boto]
 
* [http://wiki.openstack.org/Heat/Using-boto Using boto]
 
* [http://wiki.openstack.org/Heat/Running-openshift Running Openshift on heat]
 
* [http://wiki.openstack.org/Heat/Running-openshift Running Openshift on heat]
 
= Trouble Shooting =
 
 
[http://wiki.openstack.org/Heat/TroubleShooting Trouble Shooting]
 
 
= Links =
 
 
[[LaunchPad]]: https://launchpad.net/heat
 
[[GitHub]] Repository: https://github.com/heat-api
 
  
 
= IRC =
 
= IRC =

Revision as of 23:32, 13 November 2012

<<TableOfContents()>>

Project codename: Heat

Summary:

Heat is a service to orchestrate multiple composite cloud applications using the AWS CloudFormation template format, through both an OpenStack-native ReST API and a CloudFormation-compatible Query API.

Detailed Description:

What is the purpose of the project and vision for it?

  • Heat provides an AWS CloudFormation implementation for OpenStack that orchestrates an AWS CloudFormation template describing a cloud application by executing appropriate OpenStack API calls to generate running cloud applications.

Describe the relevance of the project to other OpenStack projects and the OpenStack mission to provide a ubiquitous cloud computing platform:

  • The software integrates other core components of OpenStack into a one-file template system. The templates allow creation of most OpenStack resource types (such as instances, floating ips, volumes, security groups, users, etc), as well as some more advanced functionality such as instance high availability, instance autoscaling, and nested stacks. By providing very tight integration with other OpenStack core projects, all OpenStack core projects could receive a larger user base.
  • Currently no other CloudFormation implementation exists for OpenStack. The developers believe cloud developers have a strong desire to move workloads from AWS to OpenStack deployments. Given the missing gap of a well-implemented and integrated CloudFormation API in OpenStack, we provide a high quality implementation of this gap improving the ubiquity of OpenStack.

Heat

Heat provides a REST API to orchestrate multiple composite cloud applications implementing the AWS CloudFormation API.

Why heat? It makes the clouds rise!

Architecture

The developers are focused on creating an OpenStack style project using OpenStack design tenets, implemented in Python. We have started with full integration with Keystone. We have a number of components.

An overview of the architecture is available. As the developers have only started development in March 2012, the architecture is evolving rapidly.

heat

The heat tool is a CLI which communicates with the heat-api to execute AWS CloudFormation APIs. End developers could also use the heat REST API directly.

heat-api

The heat-api component provides an OpenStack-native REST API that processes API requests by sending them to the heat-engine over RPC.

heat-api-cfn

The heat-api-cfn component provides an AWS Query API that is compatible with AWS CloudFormation and processes API requests by sending them to the heat-engine over RPC.

heat-engine

The heat engine's main responsibility is to orchestrate the launching of templates and provide events back to the API consumer.

The templates integrate well with Puppet and Chef

Links

Getting Started Guides

HOWTO Guides

IRC

The developers use IRC in #heat on freenode for development discussion.

Meetings

IRC meetings are held on Wednesday at 21:00 UTC

Status of implementation

March 16, 2012 - Code base started.

April 4, 2012 - Launching a WordPress template with POC. See Heat's getting started guide.

April 23, 2012 - Multiple Instance WordPress template v2-M1. See Heat's getting started guide.

May 14, 2012 - High Availability v3. See Heat's getting started guide.

June 27, 2012 - Ubuntu Support, High Availability improvements, more templates v4. See Heat's wiki for documentation to get started.

July 31, 2012 - Access scoping by tenant in Keystone, CloudWatch-compatible API for metrics, more templates v5.

September 20, 2012 - Automated functional testing, many bug fixes, improved CloudWatch-compatible API, more templates v6.

October 23, 2012 - OpenStack-native API support, authenticated metric collection via CloudWatch-compatible API v7.

November, 2012 - Heat has been incubated!