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