Multihost deploy engine

Registered by Sergey Skripnick

Multihost deployment is done using another deploy engines and server providers.

Sample configuration:

"name": "MultihostEngine",
"master": {
    "name": "DummyEngine",
    "cloud_config": {"identity": {}}
},
"nodes": [
    {
        "name": "DummyEngine",
        "cloud_config": {"identity": {}}
    },
    {
        "name": "DummyEngine",
        "cloud_config": {"identity": {}}
    }
]

Subdeploy status is tracked by Deployment object with parent set to own `deployment` property.

Blueprint information

Status:
Complete
Approver:
Boris Pavlovic
Priority:
High
Drafter:
Sergey Skripnick
Direction:
Approved
Assignee:
Sergey Skripnick
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Sergey Skripnick
Completed by
Sergey Skripnick

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/multihost-deploy,n,z

Addressed by: https://review.openstack.org/56222
    Add LxcEngine

Addressed by: https://review.openstack.org/57240
    Add multihost engine

Addressed by: https://review.openstack.org/59062
    Add `parent` field to deploy object

Addressed by: https://review.openstack.org/63402
    LxcProvider network refactoring

Addressed by: https://review.openstack.org/62330
    Add ability to get stdout/stderr to sshutils

Addressed by: https://review.openstack.org/62356
    Add `port` attribute to Server object

Addressed by: https://review.openstack.org/63766
    Fix incorrect exit status checking in sshutils

Addressed by: https://review.openstack.org/65976
    Rename Server's 'ip' to 'host'

Addressed by: https://review.openstack.org/67869
    Improve devstack install script

Gerrit topic: https://review.openstack.org/#q,topic:nobp/sshclient-refactoring,n,z

Addressed by: https://review.openstack.org/69610
    Add ssh port forwarding to lxc provider

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

(?)

Work Items

Work items:
[eyerediskin] Add `parent` field to deployment object: INPROGRESS
Add cli command to display subdeploys: TODO
[eyerediskin] Add MultihostEngine: INPROGRESS

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.