There are several actions (functions) that can be invoked by rules to do the actual deployment. When action is invoked it is not executed immediately but enqueued and executed later when there are no more actions that can be performed by workflow.
The following actions are available for workflow rules:
update-cf-stack - updates Heat stack by substituting values into Heat template and merging it into Heat stack definition. It has the following parameters:
template - Heat template filename without extension
error - function context variable to be populated with command error info in case of command failure
mappings - dictionary to be used for values substitution into template. All values in JSON template file in the form of "$myKey" are replaced with a value under key "myKey" in this parameter
arguments - optional dictionary of Heat template arguments ("Parameters" section of Heat templates)
update-cf-stack function also searches for 2 predefined tags in its body:
<success> - a block to be executed after successfull stack update
<failure> - block that would be executed in case of function failure
Templates are located in data/cf directory
send-command - sends an execution plan to Murano Agent on specific VM. It has the following parameters:
template - execution plan template filename without extension
error - function context variable to be populated with command error info in case of command failure
service - ID of a service that target units belongs to
unit - ID of target unit (VM)
mappings - dictionary to be used for values substitution into template. All values in JSON template file in the form of "$myKey" are replaced with a value under key "myKey" in this parameter
send-command function also searches for 2 predefined tags in its body:
<success> - a block to be executed after successfull stack update
<failure> - block that would be executed in case of function failure
Templates are located in data/agent directory
report - sends status report back to REST API service. It has the following parameters:
entity - entity type ("unit", "service", "environment")
level - log level
id - ID of unit/service/environment
text - reported status text