View
167
Download
0
Category
Preview:
Citation preview
Project Update - Heat Mon 8 , 5:30pm-6:10pm Hynes Convention Center - Level 2 - MR 203
Heat- Project OnboardingTue 9 , 2:00pm-3:30pm Hynes Convention Center - Plaza Level - MR 105
Large Orchestration stacksWed 10 , 5:20pm-6:00pm Hynes Convention Center - Plaza Level - MR 104
Heat - Project OnboardingRico Lin @ EasyStackZane Bitter @ Red Hat
Rabi Mishra (Ocata PTL), Thomas Herve (Newton PTL), Huang Tianhua, Peter Razumovsky, Sahdev Zala, Crag Wolfe, Steve Baker, shizhihui, Kanagaraj Manickam, Dan Prince, Ethan Lynn, Cao Xuan Hoang, Steven Hardy, Flavio Percoco Premoli, Jason Dunsmore, Dmitriy, Ian Main, Sergey Kraynev, gengchc, Andreas Jaeger, Juan Antonio Osorio Robles, Tuan, Mohankumar, zhufl, Yong Sheng Gong, Alex Schultz, Oleksii Chuprykov, Ha Van Tu, pawnesh kumar, Sam Yaple, shangxdy, Sofer Athlan-Guyot, Chris, Tanvir Talukder, Rakesh, Bharath Thiruveedula, James Slagle, Csaba Fülöp, Miguel Caballer, Anant Patil, Mathieu Velten, Yosef Hoffman, Michael Still, Georgy Dyuldin, Dan Radez, Zhenyu Zheng, Abhishek Chanda, Tony Breeds, gecong, zhangyanxian, anusreea, Alexander Ignatyev, ChangBo Guo(gcb), Nam, Chuck Short, Béla Vancsics, Davanum Srinivas, lvdongbing, Pierre Riteau, Daniel Gonzalez Nothnagel, Bhagyashri Shewale, Chason, Lars Kellogg-Stedman, Ying Zuo, Bin Zhou, Julian Sy, Spencer Yu, WeiJi, prince_katiyar, Martin André, Tovin Seven, yunfeng zhou, Jeremy Pugh, zengchen, Stephen Gordon, Jan Provaznik, surbhi sarda, Ana Krivokapić, Lu lei, Vijendra Soni, liangshang, Liusheng, Tetiana Lashchova, LiuNanke, Rob Cresswell, Lucky samadhiya, Bertrand Lallau, avnish, PanFengyun, Amit Ugol, Sylvain Baubeau, Russell Bryant, Drago Rosson, Anh Tran, Boden Russell, Leon Shaw, Sharat Sharma, Qiming Teng, Di XiaoLi, Ashutosh Mishra
Ideas + blueprints/bugs + specs/patches + reviews
= Super !!!
AndYour Help Is Desired!
● Heat● Python-heatclient● Heat-agents● Heat-templates● Heat-specs● Heat-cfnclient● Heat-cfntools● Heat-translator● Tosca-parser
● Also alot of projects that relative
Heat repos
Heat Architecture
worker worker
YAML Template
Convergence
worker1 workerN
amqp
engine1 engineN
$ openstack stack create -t kubernetes.yaml Stack
Stack
Stack
worker2
depends on
Stack
CREATE_COMPLETE!!
SyncPoint 1
Stack
engine1Stack
Lagency
From Template to Resources
heat_template_version: pike...resources: dog1: type: OS::Sled::Dog properties: name: snow_white….. dog2: type: OS::Sled::Dog properties: leader: { get_resource: dog1 }….. dog3:…..
Create a stack and validate it
heat_template_version: pike...resources: dog1: type: OS::Sled::Dog properties: name: snow_white….. dog2: type: OS::Sled::Dog properties: leader: { get_resource: dog1 }….. dog3:…..
Stack
dog1
2 3 4 5
registered resource mapping:OS::Sled::Dog: a class or another fileOS::Heat::Fire: OS::Heat::None...
3. check and parse withproperty schema.
class
4. if func. in side, call function of the version (pike)
5. got resource object
2. get a class or files for that resource
1. search mapping implements base on type
6. build dependenices for resource
From a resource object to actually create
Stack
dog1
2 3 4 5
1. ask worker to `check_resource`
2. call with `create_convergence`
3. create with `handle_create`
4. use service client with context from heat to triger createlike: self.sled_dogs().create(*kwargs)
5. mark as CREATE COMPLETE.All resource go to `CREATE COMPLETE`
Update the resource
Stack
dog1
2 3 4 51. Only will update resources that been changed
heat_template_version: pike...resources:….. dog2: type: OS::Sled::Dog properties: leader: { get_resource: dog3 }…..
2. worker check resource
3. get original data from database or reality
4. update or replace
5. Mark as Update/Create COMPLETE
Stack'
dog1
2.1 3 4 5
● support_status = support.SupportStatus(version='9.0.0')
● entity = 'sled_dogs'● default_client_name = 'sled'● properties_schema● attributes_schema● _resolve_attribute● parse_live_resource_data● translation_rules● handle_XXX
○ create○ update○ delete○ suspend○ resume○ adopt○ restore○ snapshot○ create_cancel○ update_cancel○ signal○ metadata_reset
● check_XXX_complete
I need a new resource type
def resource_mapping(): return { 'OS::Sled::Dog': SledDog }
Or in environment file:
source_registry: "OS::Sled::Dog": "OS::Sled::Cat" "OS::Sled::Puppy": "An URL or file"
Software Config
Software Deploy
Nova Server
What you can install withheat-config-ansibleheat-config-apply-configheat-config-cfn-initheat-config-chefheat-config-docker-cmdheat-config-docker-composeheat-config-hieraheat-config-json-fileheat-config-kubeletheat-config-puppetheat-config-saltheat-config-scriptAnd you can customize your own hook
os-collect-config
os-refresh-config
os-apply-config
kubelet-hook $ kubelet
Webserverdone
config-notify
Signal
'CCFN_SIGNALTEMP_URL_SIGNALNO_SIGNALHEAT_SIGNALZAQAR_SIGNAL
auto_scaling(auto_healing(server))
OS::Nova::Server
OS::Zaqar::Queue
OS::Aodh::EventAlarm
OS::Mistral::Workflow
OS::Zaqar::MistralTrigger
Signal
Fix
Meter
Trigger
OS::Heat::AutoScalingGroup
Auto_{what matters}
XXX::Server
XXX::Signal XXX::Alarm
XXX::Workflow
Signal
Meter
Trigger
XXX::AutoScaling
How you metering?How you
handle signal?
How you trigger a fix job
What's meter to
you?
Fix
● openstack stack event show <stack> <resource> <event>● openstack stack resource show <stack> <resource>● report a bug! https://bugs.launchpad.net/heat● chat on irc #heat or join our meeting● A reset botton?
And if anything went wrong
● openstack stack abandon <stack>● openstack stack export <stack>● openstack stack adopt --adopt-file <adopt-file> <stack-name>● openstack stack snapshot create <stack>● openstack stack snapshot restore <stack> <snapshot>
A Reset Button
● Consider backwards● With Unittest● synchronize● review! review! review!
Hacking rules
● Python 3.5 support● Neutron Segment resource for routed networks● Neutron VLAN trunk ports (802.1Q)● External custom resources managed by Mistral workflows● New intrinsic functions: make_url, list_concat_unique● Internal architecture improvements● Stable attribute values (no live lookup) in convergence● Memory & performance improvement for convergence● Reliability improvements for large stacks● [Preview] Optionally compare to actual state of resources during updates
Pike Roadmap
Questions?https://github.com/openstack/heat
https://launchpad.net/heathttps://wiki.openstack.org/wiki/Heat
IRC: #heatOur Meeting time:
Every Wednesdays at 1500 UTCin #openstack-meeting-5
Large Orchestration stacksWed 10 , 5:20pm-6:00pm
Hynes Convention Center - Plaza Level - MR 104
Thank You!https://github.com/openstack/heat
https://launchpad.net/heathttps://wiki.openstack.org/wiki/Heat
IRC: #heatOur Meeting time:
Every Wednesdays at 1500 UTCin #openstack-meeting-5
Large Orchestration stacksWed 10 , 5:20pm-6:00pm
Hynes Convention Center - Plaza Level - MR 104
Recommended