openstack heat slides
Post on 08-May-2015
5.558 Views
Preview:
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