Support get_file for Heat Mistral Resource Type (Mistral Workflow)
Currently user can deploy Hot template that contain Mistral Resource Type.
But Heat is using different format of Mistral Workflow and user cannot use the same format as Mistral or even use get_file while the file is Mistral workflow.
In case that user has a very complex Mistral Workflows and now he want to deploy it over Heat he will need to translate it manually to the Heat syntax .
It will be much more simple to use a Workflow file from Mistral and combine that in the hot template .
Simple Mistral WF example :
=======
---
version: '2.0'
heal_stack_
description: Simple workflow example
type: direct
input:
- stack_id: 'fd39cb0c-
- status_and_action: { 'SUSPENDED': 'resume', 'SHUTOFF': 'rebuild' }
- resources_
tasks:
list_
action: heat.resources_list stack_id=<% $.stack_id %> nested_depth=<% $.resources_
publish:
on-success:
- start_heal_
start_
with-items: server_id in <% $.servers_ids %>
workflow: heal_server_ server_id=<% $.server_id %> status_
EOF
And here how it looks like in hot :
=======
heal_
type: OS::Mistral:
properties:
name: heal_stack_servers
type: direct
input:
stack_id: { get_param: "OS::stack_id" }
tasks:
- name: list_stack_servers
action: heat.resources_list stack_id=<% $.stack_id %> nested_depth=<% $.resources_
publish:
- start_heal_
- name: start_heal_
workflow: heal_server
input:
publish:
EOF
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Guy Paz
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Thomas Herve