Openstack heat is a promising project, mainly responsible for using templates in the data center to automate resource management.
That is, the user defines a resource template with good readability (JSON or yaml). Heat is responsible for deploying these resources in openstack.
It consists of three layers: heatclient, heatapi, and heatengine. The call logic is shown in.
Heat-ClientTo receive input commands, parameters, and templates (URL, File path or data ).Rest APIRequest sentHeat-APIService.
Heat-APIThe Service accepts the request, reads the template information, and usesRPCRequest sentHeat-engine.
Heat-engineParse template data and call various resource plug-ins.
Resource-Plugins, Various resource plug-ins throughOpenstackOfClientsSend commandOpenstackService.
The specific code analysis can refer to the https://github.com/yeasy/tech_writing/blob/master/OpenStack/OpenStack%20Heat%E4%BB%A3%E7%A0%81%E5%88%86%E6%9E%90.pdf.