openstack heat slides

Post on 08-May-2015

5.558 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

orchestrating multiple cloud applications

Agenda

• Standards used in Heat

• Heat Overview & Roadmap

• Heat basic architecture & CLI

• JeOS & Heat-jeos CLI

• Heat installation & running

• CloudFormation Template

Standards used in Heat

• AWS CloudFormation

• TOSCA

Topology and Orchestration Specification for Cloud Applications

Heat Overview

• Orchestrating (by stacks, updating running stacks)

• Resource management

• CloudFormation templates

• Integrates well with Puppet and Chef

• Very active community of 9 developers from Red Hat

Heat Roadmap (Folsom)

• Complete integration with Common, Glance, Keystone, Swift, and Nova

• Complete implementation of the AWS CloudFormation and CloudWatch API

• Instance and application HA

• Autoscaling

• Nested Stacks

Heat basic architecture

AMPQ

Heat API

Heat Metadata Heat Engine

DB

OpenStack

Stack

VM VM VM

RPC

Heat basic architecture

AMPQ

Heat API

Heat Metadata Heat Engine

DB

OpenStack

Stack

VM VM VM

RPC

Heat basic architecture

AMPQ

Heat API

Heat Metadata Heat Engine

DB

OpenStack

Stack

VM VM VM

RPC

Heat basic architecture

AMPQ

Heat API

Heat Metadata Heat Engine

DB

OpenStack

Stack

VM VM VM

RPC

Heat command line

heat <command> [options] [args]

• create

• delete

• describe

• update

• event-list

• list

• gettemplate

• estimate-template-cost

• validate

• resource

• resource-list

• resource-list-details

JeOS

• Typically, a JeOS consist of the following: OS core OS Minimum maintenance tools Minimum user space tools Packages repository

Heat-jeos tool builds virtual machine images to use with Heat. git clone git://github.com/

heat-api/heat-jeos.git

cd heat-jeos

sudo python setup.py install.sh

Heat-jeos command line

heat-jeos <command> [options] [args]

• create

• list

• tdl

• image

• register

Heat installation on Ubuntu (DevStack)

• Configure DevStack to enable Heat (localrc) ENABLED_SERVICES+=,heat,h-api-cfn,\

h-api-cw,h-eng,\

h-meta

IMAGE_URLS+=",some_image“ (specific ones) https://github.com/heat-api/prebuilt-

jeos-images/downloads

./stack.sh

Running Heat

source openrc heat service

heat list

<ListStacksResponse>

<ListStacksResult>

<StackSummaries/>

</ListStacksResult>

</ListStacksResponse>

Preparing Nova for running stacks

nova keypair-add heat_key

Launching a stack

heat -d create teststack

--template-file=WordPress_SI.template

--parameters="InstanceType=m1.large;

DBUsername=wp;

DBPassword=password;

KeyName=heat_key;

LinuxDistribution=F16"

If everything is nice

<CreateStackResponse>

<CreateStackResult>

<StackId>arn:openstack:heat:\

:service:stacks/teststack/1</StackId>

</CreateStackResult>

</CreateStackResponse>

----------------------------------------

heat describe teststack <a lot of info…>

If something goes wrong

<StackStatusReason>

Resource Instance "WikiDatabase"

failed with:

nova reported unexpected

instance[WikiDatabase]

status[ERROR]

</StackStatusReason>

<StackStatus>

CREATE_FAILED

</StackStatus>

Anatomy of a CloudFormation Template

• Description

• Parameters

• Mappings

• Resources

• Outputs

Useful links

• http://heat-api.org/

• https://github.com/heat-api/heat/wiki

• https://github.com/heat-api/heat-jeos

Q&A

Dina Belova

dbelova@mirantis.com

top related