Added "Github Submodules" section to Automated Builds doc.

Signed-off-by: Hollie Teal <hollie.teal@docker.com>
Made requested changes (capitalization)
Move "info" to daemon/info.go

Signed-off-by: Solomon Hykes <solomon@docker.com>
Updated openSUSE's installation instructions

Cover network configuration and reference the official openSUSE image
inside of the examples.

Docker-DCO-1.1-Signed-off-by: Flavio Castelli <fcastelli@suse.com> (github: flavio)
Merge pull request #7479 from shykes/cleanup-server-info

Cleanup: move "info" to daemon/info.go
Merge pull request #7465 from flavio/update-opensuse-doc

Updated openSUSE's installation instructions
Merge pull request #7406 from hollietealok/docs_add

Added "Github Submodules" section to Automated Builds doc.
Subsystems can register cleanup handlers with Engine.OnShutdown

Signed-off-by: Solomon Hykes <solomon@docker.com>
Move signal handling code to pkg/signal.Trap

Signed-off-by: Solomon Hykes <solomon@docker.com>
Cleanup: refactor shutdown and signal handling facility

This disentangles the following functions, which were previously all mixed together:

* 1) Waiting for jobs to terminate when shutting down
* 2) Handling signals in the Docker daemon
* 3) Per-subsystem cleanup handlers
* 4) pidfile management

Responsibilities are dispatched as follows:

* Signal traps are set in `main`, and trigger `engine.Shutdown`
* `engine.Shutdown` coordinates cleanup by waiting for jobs to complete, and calling shutdown handlers
* To perform cleanup at shutdown, each subsystem registers handlers with `engine.OnShutdown`
* `daemon` is one subsystem, so it registers cleanup via `engine.OnShutdown`.
* `daemon` owns the pidfile, which is used to lock access to `/var/lib/docker`. Part of its cleanup is to remove the pidfile.

Signed-off-by: Solomon Hykes <solomon@docker.com>
Remove unnecessary job "initserverpidfile"

That job was a hacky solution to a real race condition. This removes the
hack without re-introducing the race.

Signed-off-by: Solomon Hykes <solomon@docker.com>
Replace Server.IsRunning with Engine.IsShutdown

Signed-off-by: Solomon Hykes <solomon@docker.com>
Extra testing for engine.Shutdown

Signed-off-by: Solomon Hykes <solomon@docker.com>
Remove last trace of Daemon->Server dependency

This removes a shim `daemon.Server` interface which was used to start
separating Daemon from Server *gradually*, without getting cyclic
dependency errors.

Now that the last Daemon->Server dependency has been removed, we can
finally remove the shim. Yay!

Signed-off-by: Solomon Hykes <solomon@docker.com>
Remove unused field from engine.Job

Signed-off-by: Solomon Hykes <solomon@docker.com>
Engine.Shutdown only waits 5 seconds for active jobs to complete

Signed-off-by: Solomon Hykes <solomon@docker.com>