openstack heat slides

20
orchestrating multiple cloud applications

Upload: dbelova

Post on 08-May-2015

5.558 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: OpenStack Heat slides

orchestrating multiple cloud applications

Page 2: OpenStack Heat slides

Agenda

• Standards used in Heat

• Heat Overview & Roadmap

• Heat basic architecture & CLI

• JeOS & Heat-jeos CLI

• Heat installation & running

• CloudFormation Template

Page 3: OpenStack Heat slides

Standards used in Heat

• AWS CloudFormation

• TOSCA

Topology and Orchestration Specification for Cloud Applications

Page 4: OpenStack Heat slides

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

Page 5: OpenStack Heat slides

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

Page 6: OpenStack Heat slides

Heat basic architecture

AMPQ

Heat API

Heat Metadata Heat Engine

DB

OpenStack

Stack

VM VM VM

RPC

Page 7: OpenStack Heat slides

Heat basic architecture

AMPQ

Heat API

Heat Metadata Heat Engine

DB

OpenStack

Stack

VM VM VM

RPC

Page 8: OpenStack Heat slides

Heat basic architecture

AMPQ

Heat API

Heat Metadata Heat Engine

DB

OpenStack

Stack

VM VM VM

RPC

Page 9: OpenStack Heat slides

Heat basic architecture

AMPQ

Heat API

Heat Metadata Heat Engine

DB

OpenStack

Stack

VM VM VM

RPC

Page 10: OpenStack Heat slides

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

Page 11: OpenStack Heat slides

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

Page 12: OpenStack Heat slides

Heat-jeos command line

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

• create

• list

• tdl

• image

• register

Page 13: OpenStack Heat slides

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

Page 14: OpenStack Heat slides

Running Heat

source openrc heat service

heat list

<ListStacksResponse>

<ListStacksResult>

<StackSummaries/>

</ListStacksResult>

</ListStacksResponse>

Page 15: OpenStack Heat slides

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"

Page 16: OpenStack Heat slides

If everything is nice

<CreateStackResponse>

<CreateStackResult>

<StackId>arn:openstack:heat:\

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

</CreateStackResult>

</CreateStackResponse>

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

heat describe teststack <a lot of info…>

Page 17: OpenStack Heat slides

If something goes wrong

<StackStatusReason>

Resource Instance "WikiDatabase"

failed with:

nova reported unexpected

instance[WikiDatabase]

status[ERROR]

</StackStatusReason>

<StackStatus>

CREATE_FAILED

</StackStatus>

Page 18: OpenStack Heat slides

Anatomy of a CloudFormation Template

• Description

• Parameters

• Mappings

• Resources

• Outputs

Page 19: OpenStack Heat slides

Useful links

• http://heat-api.org/

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

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

Page 20: OpenStack Heat slides

Q&A

Dina Belova

[email protected]