Heat Provide great resource management abilities to OpenStack, a lot of fancy projects came out base on Heat’s orchestration abilities. A lot of OpenStack environment installed with Heat, but didn’t know how to use it well. Zombie resource happens, and this is very bad for cloud management.
We will give examples to operators and developers for how you can manage your cloud smartly by taking advantage of Heat.
Also deep dive into Heat’s features: “Convergence” and “SoftwareDeployment” for developers.
25. Stack
Get Resource Info Direct From Another Resource
type: OS::Nova::Server
properties:
flavor: {
get_resource: flavor}
user_data: {
get_attr: [boot_config, config]}
31. Use cases - Ceph
Stack: Ceph
Image Server SoftwareConfig
SoftwareDeployment
Ceph
ansible
control
script
Me Too!
Ceph
Ansible
script
Hi, I pull from Ceph-ansible repo
32. Use cases - Ceph
Stack: Ceph
Image Server SoftwareConfig
SoftwareDeployment
Ceph
ansible
control
script
Hi, Server!
Here is SoftwareConfig for you,
and with parameter
(role= ceph-monitor)
Go knock yourself out!!!
Ceph
Ansible
script
33. Use cases - ?
Stack
Image Server SoftwareConfig
?
Ansible
script SoftwareDeployment
?
Ansible
control
script Ansible
Puppet
Script
Salt
Kubelet
Cfn-init
Docker-compose
34. Example: Application Deployment
1 Operation11 + ? Operations VS
Stack
Write
config
Run
Ansible port
Instance
security
group
Volume
keypair
image
floating IP
LBaas
Collect
information for
other instance
36. Clouds are noisy - servers fail to come up, or die when the
underlying hypervisor crashes or suffers a power failure.
Heat should be resilient and allow concurrent operations
on any sized stack.
convergence_engine = True
46. 4. check_resoruce():
Load resource, check current_traversal is equal to stack’s current_traversal.
Also check timeout or finish
leaves
AMQP
(engine_
worker)
Worker
Worker
Worker
Worker
A
C
D
B
A
SyncPoint
Stack
DB
47. 5. _do_check_resoruce():
Try to update or create resource, replace if upadate failed,
clearup from convergence if can’t get the lock
Worker
A
C
D
B
A
SyncPoint
Stack
DB
leaves
52. 5-9, 4. check_resoruce():
Load next resource, check current_traversal is equal to stack’s current_traversal.
Go execute and check timeout or finish.
AMQP
(engine_
worker)
Worker
Worker
Worker
Worker
B
C
D
B
SyncPoint
Stack
A
DB
leaves
53. 5-9, 4. check_resoruce():
Load next resource, check current_traversal is equal to stack’s current_traversal.
Go execute and check timeout or finish.
AMQP
(engine_
worker)
Worker
Worker
Worker
Worker
C
D
SyncPoint
Stack
A
C
B
DB
leaves
54. 5-9, 4. check_resoruce():
Load next resource, check current_traversal is equal to stack’s current_traversal.
Go execute and check timeout or finish.
AMQP
(engine_
worker)
Worker
Worker
Worker
Worker
D
SyncPoint
Stack
A
D
DB
B
C
leaves
57. Another Stcak Update Request Join?
Stack SyncPoint will show which Stack traversal is current.
AMQP
(engine_
worker)
Worker
Worker
C
D
SyncPoint
Stack_a
A
C
B
DB
Stack_a
A
Hey, wrong traversal ID here!!
Me!?
leaves
59. Heat Fleet’s sessions
● inwinSTACK- Heat Up Your Stack - Deep Dive to Heat, Learn How to
Orchestrate Your Cloud - Wednesday, 11:15am
● User/ops session for summit - Wednesday, 3:40pm
● Extending OpenStack Heat to Orchestrate Security Policies and Network
Function Service Chains - Thursday, 9:50am
● Why Reinvent the Wheel? - Using Murano, Heat, Container Clustering and
Ceilometer to Provide Auto--scaling and Enforce Self-Healing Best Practices in
Applications - Thursday, 11:00am
● Heat, Cloud-init & Cloud-config: OpenStack Orchestration Deep Dive, Hands-
On Lab - Thursday, 4:30pm