Multi region support

Registered by Limor Stotland

mistral should be able to work as part of a multi region setup.
missing capabilities:
1. Keystone support : The ability to ask from keystone an end point by its region
2.region as a task property:

from Vijayaguru Guruchave (https://blueprints.launchpad.net/mistral/+spec/mistral-multicloud):

It allows mistral to run without any configured keystone endpoint. All actions will be performed using whatever keystone endpoint and credentials that are passed to the request.

It will be possible to execute a workflow within the clouds that the client requests. We can refer heat blueprint[1] to implement the following.

    * An [authpassword] configuration section in mistral.conf with the following options:
        multi_cloud - boolean defaults to False. When True the configured auth_uri will be ignored and the X-Auth-Url header included in the client request will be used instead
        allowed_auth_uris - list defaults to []. Ignored if multi_cloud is False. If empty, authenticating against any supplied X-Auth-Url will be attempted. Otherwise the X-Auth-Url will be validated against the configured list and authentication will fail if no match is found.

It should then be possible to launch workflows on arbitrary clouds.

[1] https://wiki.openstack.org/wiki/Heat/Blueprints/heat-multicloud

Blueprint information

Status:
Complete
Approver:
Renat Akhmerov
Priority:
High
Drafter:
Limor Stotland
Direction:
Approved
Assignee:
Lingxian Kong
Definition:
New
Series goal:
Accepted for pike
Implementation:
Implemented
Milestone target:
milestone icon pike-2
Started by
Renat Akhmerov
Completed by
Renat Akhmerov

Related branches

Sprints

Whiteboard

Maybe region should not be a part of a task but an action. For example, as part of this story - it should be possible, for example, to have a task that lists the servers from all the regions. For example:

list_servers_task:
    with-items: region_name in <% $.regions %>
    action: nova.servers_list region=<% $.region_name %>
    on-success:
        - check_servers

Relates to https://blueprints.launchpad.net/mistral/+spec/mistral-keystone-region-list

Gerrit topic: https://review.openstack.org/#q,topic:bug/1633345,n,z

Addressed by: https://review.openstack.org/407240
    Support openstack context for workflow and task

Addressed by: https://review.openstack.org/414059
    Support openstack context for workflow and task - 2

Gerrit topic: https://review.openstack.org/#q,topic:bp/mistral-multi-region-support,n,z

Addressed by: https://review.openstack.org/414508
    Support openstack context for workflow

Addressed by: https://review.openstack.org/414694
    Support openstack context for workflow and task - 2

Addressed by: https://review.openstack.org/460351
    Add "running_region" param for OpenStack actions

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.