deis/deis — pull request #1833 by gabrtv (2014-09-14 03:26:58+00:00)
Title: Fleet http

This PR replaces the SSH-wrapped Fleet scheduler with a new implementation that uses the Fleet HTTP API over a bind-mounted unix domain socket. Initial stress testing shows _dramatic_ improvements in reliability of scaling/deploy operations. This PR also makes `--hosts` field irrelevant (though SSH auth is still required for `deis run`).

Changes include:

* Addition of `fleet.socket` to all hosts to expose the Fleet API over a local unix domain socket
* Completely new `fleet` scheduler module that uses the Fleet HTTP API w/out SSH wrappers
* Fixes to `api.models` to include versions in all image requests and avoid pulling entire repositories
* Completely rewritten `deis run` implementation w/ SSH performed in-memory, with support for compound shell commands (e.g. `deis run 'ls -la && whoami'`)
* Data migration to move users from the old `coreos` scheduler to the new `fleet` scheduler

Testing this PR requires turning on the Fleet HTTP API per instructions here: https://github.com/coreos/fleet/blob/master/Documentation/api-v1-alpha.md