Commit Graph

626 Commits

Author SHA1 Message Date
74764063d5 Merge pull request #24081 from Microsoft/jjh/signaltofile
Windows: Stack dump to file
Upstream-commit: 1e6fd0378b431425180bad9fe2c38b296c1bc5bf
Component: engine
2016-07-29 22:09:35 +02:00
c68f19845d Add live-restore state to daemon reload event
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: ff62681d59231489e1ef01767a4db66efd54cf2f
Component: engine
2016-07-28 17:10:40 -07:00
eec8319268 Rename config LiveRestore to LiveRestoreEnabled
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: b94542239313bbf960e6718c6b54bbbcbacdfffa
Component: engine
2016-07-28 17:10:40 -07:00
062b507351 Make daemon events listen for plugin lifecycle events.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Upstream-commit: 42abccb841b5bc0d420044e69165852b0054c38f
Component: engine
2016-07-26 10:51:47 -07:00
94c36eb295 Merge pull request #24942 from anusha-ragunathan/plugin-liverestore
Handle plugin shutdown when liveRestore is set.
Upstream-commit: b6197e951498eed717ee550387c34e9a8e6350ed
Component: engine
2016-07-25 09:49:34 -07:00
c27fc95546 Daemon changes to pass exec-root to libnetwork
This is required to make the libnetwork's namespace mgmt
directory configurable

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: d3af5e3d4bc0aadf25d571835893a9d5bead56b3
Component: engine
2016-07-24 09:23:39 -07:00
2150ea40b1 Split advertised address from listen address
There are currently problems with "swarm init" and "swarm join" when an
explicit --listen-addr flag is not provided. swarmkit defaults to
finding the IP address associated with the default route, and in cloud
setups this is often the wrong choice.

Introduce a notion of "advertised address", with the client flag
--advertise-addr, and the daemon flag --swarm-default-advertise-addr to
provide a default. The default listening address is now 0.0.0.0, but a
valid advertised address must be detected or specified.

If no explicit advertised address is specified, error out if there is
more than one usable candidate IP address on the system. This requires a
user to explicitly choose instead of letting swarmkit make the wrong
choice. For the purposes of this autodetection, we ignore certain
interfaces that are unlikely to be relevant (currently docker*).

The user is also required to choose a listen address on swarm init if
they specify an explicit advertise address that is a hostname or an IP
address that's not local to the system. This is a requirement for
overlay networking.

Also support specifying interface names to --listen-addr,
--advertise-addr, and the daemon flag --swarm-default-advertise-addr.
This will fail if the interface has multiple IP addresses (unless it has
a single IPv4 address and a single IPv6 address - then we resolve the
tie in favor of IPv4).

This change also exposes the node's externally-reachable address in
docker info, as requested by #24017.

Make corresponding API and CLI docs changes.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: a0ccd0d42fdb0dd2005f67604cb81a5a6b26787e
Component: engine
2016-07-24 09:23:07 -07:00
ed21a7262c Handle plugin shutdown when liveRestore is set.
When daemon has liveRestore set, daemon shutdown should not shutdown
plugins. Fixes #24759

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Upstream-commit: 4a44cf1d4c8e540b67aaa3834291a964c6ab7524
Component: engine
2016-07-22 15:26:43 -07:00
4a9015ab13 Windows: Stack dump to file
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: b63c92bf241f410b0bda46b42b26f2f86b394c56
Component: engine
2016-07-21 20:04:47 -07:00
32ecbd59e9 Do not rely on "live" event anymore
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 64483c3bdaa1887b8b932e0564362fbbff025dc0
Component: engine
2016-07-19 08:24:39 -07:00
40f145b134 Fix daemon panic use wrong graphdriver with --live-restore flag
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: d9e8cea1b666cc22d6747482ad16600cb9dc6fa1
Component: engine
2016-07-15 05:05:28 -04:00
53c33cc1be Add --oom-score-adjust to daemon
This adds an `--oom-score-adjust` flag to the daemon so that the value
provided can be set for the docker daemon's process.  The default value
for the flag is -500.  This will allow the docker daemon to have a
less chance of being killed before containers do.  The default value for
processes is 0 with a min/max of -1000/1000.

-500 is a good middle ground because it is less than the default for
most processes and still not -1000 which basically means never kill this
process in an OOM condition on the host machine.  The only processes on
my machine that have a score less than -500 are dbus at -900 and sshd
and xfce( my window manager ) at -1000.  I don't think docker should be
set lower, by default, than dbus or sshd so that is why I chose -500.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: a894aec8d81de5484152a76d76b80809df9edd71
Component: engine
2016-07-12 15:53:15 -07:00
1da671b499 Merge pull request #24229 from anusha-ragunathan/shutdown-plugins
Shutdown plugins during daemon shutdown.
Upstream-commit: b91e2dd9942f4c34b62de37c3862b9febd270b22
Component: engine
2016-07-11 22:14:50 -04:00
495149133d Shutdown plugins during daemon shutdown.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Upstream-commit: 863ab9ab134d0baef3c7e5d745eded891e87e734
Component: engine
2016-07-11 14:21:27 -07:00
4451288540 Merge pull request #24427 from swernli/remove_custom_images
Removing Custom Images support
Upstream-commit: b215c4c9748c008b5bdcd3ea267ac21e666da1ff
Component: engine
2016-07-11 14:01:41 -07:00
fde455a0e2 Fix daemon not cleaned up w/ live restore enabled
This patch makes sure daemon resources are cleaned up on shutdown if
there are no running containers.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 2d5dc94b9b547a9ba73f7b613e358b03fdfb2b84
Component: engine
2016-07-07 22:25:41 -04:00
5590093d90 Removing Custom Images support
Now that Windows base images can be loaded directly into docker via "docker load" of a specialized tar file (with docker pull support on the horizon) we no longer have need of the custom images code path that loads images from a shared central location.  Removing that code and it's call points.

Signed-off-by: Stefan J. Wernli <swernli@microsoft.com>
Upstream-commit: 3e109f349ff42ea1a0f555b6e645c51d9bc1539b
Component: engine
2016-07-07 14:56:37 -07:00
9921891219 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: edc307cb9213d11d9c5911b08ebd921a097939c0
Component: engine
2016-07-05 20:42:17 +08:00
0bdbf282f3 Fix spelling in comments, strings and documentation
Signed-off-by: Otto Kekäläinen <otto@seravo.fi>
Upstream-commit: 644a7426cc31c338fedb6574d2b88d1cc2f43a08
Component: engine
2016-07-03 20:58:11 +03:00
f68bab271b Change root_maxkeys
Most modern distros have the limit for the maximum root keys at 1000000
but some do not.  Because we are creating a new key for each container
we need to bump this up as the older distros are having this limit at
200.

Using 1000000 as the limit because that is that most distros are setting
this to now.  If someone has this value configured over that we do not
change it.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: ca3e4545aa7d0da3a36fef41d85d02e9f2c4d15d
Component: engine
2016-06-27 10:23:37 -07:00
0d19acd851 Remove blank line on daemon output when there are no containers to load
Its a minor thing but the daemon's output looks like this when there are
no containers to load:
```
INFO[0001] Loading containers: start.

INFO[0001] Loading containers: done.
```
That blank line (or more correctly, the \n) is unnecessary when
there are no containers to load since there is no `.` printed

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 478dd721ab7aca37264897b664dfa2ec953d7048
Component: engine
2016-06-26 10:51:34 -07:00
d057888fb4 Fix restore active sandbox
we store the active sandbox after daemon.containerd.Restore, but there
is a chance the `Restore` will set the container to exit see
(https://github.com/docker/docker/blob/master/libcontainerd/client_linux.go#L469).
so we should check if the container is really running before add it to
activesandbox.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 78f3094518b1f3f498bd2629667877f9a87d452f
Component: engine
2016-06-16 07:54:36 -04:00
955da7c9c3 Merge pull request #23524 from aboch/restore
Daemon to support network restore
Upstream-commit: 91197953d07843e34f02d6d2dc435cc4c43dfec1
Component: engine
2016-06-15 02:33:16 +00:00
a05c8dd297 Daemon to support network restore
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: ecffb6d58cf89371e3f4a20f55c2e614dbdfe880
Component: engine
2016-06-14 16:45:25 -07:00
848e510213 plugins: experimental support for new plugin management
This patch introduces a new experimental engine-level plugin management
with a new API and command line. Plugins can be distributed via a Docker
registry, and their lifecycle is managed by the engine.
This makes plugins a first-class construct.

For more background, have a look at issue #20363.

Documentation is in a separate commit. If you want to understand how the
new plugin system works, you can start by reading the documentation.

Note: backwards compatibility with existing plugins is maintained,
albeit they won't benefit from the advantages of the new system.

Signed-off-by: Tibor Vass <tibor@docker.com>
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Upstream-commit: f37117045c5398fd3dca8016ea8ca0cb47e7312b
Component: engine
2016-06-14 14:20:27 -07:00
811cef6ca3 Add support for multiples runtimes
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 7b2e5216b89b4c454d67473f1fa06c52a4624680
Component: engine
2016-06-14 07:47:31 -07:00
be63983b3a Add Swarm management backend
As described in our ROADMAP.md, introduce new Swarm management API
endpoints relying on swarmkit to deploy services. It currently vendors
docker/engine-api changes.

This PR is fully backward compatible (joining a Swarm is an optional
feature of the Engine, and existing commands are not impacted).

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 534a90a99367af6f6bba1ddcc7eb07506e41f774
Component: engine
2016-06-13 22:16:18 -07:00
9ada0cfc5f Merge pull request #23213 from crosbymichael/restore-option
Add --live-restore flag
Upstream-commit: 3020081e94277410984c62d12f88de3d4f258681
Component: engine
2016-06-13 20:57:19 -07:00
7af900395b Add --live-restore flag
This flags enables full support of daemonless containers in docker.  It
ensures that docker does not stop containers on shutdown or restore and
properly reconnects to the container when restarted.

This is not the default because of backwards compat but should be the
desired outcome for people running containers in prod.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: d705dab1b1bd0a946d647374325d61fac57736db
Component: engine
2016-06-13 19:16:26 -07:00
8058305668 Merge pull request #22575 from mountkin/fix-22536
fix LogConfig for containers created before docker 1.12 on daemon start
Upstream-commit: 6ba3d63a8ccd58423495c52b003cd01c7b0c7e10
Component: engine
2016-06-13 15:11:01 +02:00
da4d783e80 Add support for volume scopes
This is similar to network scopes where a volume can either be `local`
or `global`. A `global` volume is one that exists across the entire
cluster where as a `local` volume exists on a single engine.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 2f40b1b281a3be8f34d82a5170988ee46ea1f442
Component: engine
2016-06-05 15:37:15 -04:00
cd8eab09a6 Merge pull request #23019 from vdemeester/more-daemon-horn-moving
Moving some more methods away from daemon.go
Upstream-commit: c0501025368544a64060da431a270d8f954b7e98
Component: engine
2016-05-28 22:07:31 -07:00
fe69a90880 Moving some more methods away from daemon.go
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: bfa0885c37efe5734d93f5bbb9e6477f66358e7c
Component: engine
2016-05-27 11:32:26 +02:00
b44b316db0 Invert CgroupDevicesEnabled condition
It feels better to test where it's required than listing everywhere it
is not required.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 72fefc0441d57b59f27bebdb144e0e35c0c63a0d
Component: engine
2016-05-26 13:09:11 +02:00
6e20543be2 Merge pull request #22861 from vdemeester/daemon-images-search-refactoring
Daemon images search refactoring
Upstream-commit: 75109b32db4c23f469b57fb99300fc5d4a689dce
Component: engine
2016-05-26 12:34:31 +02:00
b1b78eb8c6 Merge pull request #22949 from vdemeester/move-daemon-container-horn
Move some container related methods and structs to smaller files
Upstream-commit: d9db8960fda02769264ce0b553adf2b427c1c48a
Component: engine
2016-05-25 13:42:07 -07:00
12513175c8 Merge pull request #22091 from amitkris/build_solaris
Get the Docker Engine to build clean on Solaris
Upstream-commit: 86a7632d63bdddb95aaf1472648056a4fb737d38
Component: engine
2016-05-24 21:41:36 +02:00
565bc9079d Move some container related methods and structs to smaller files
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: fb48bf518bfc200ee9a230a7bedaf640df4e5dae
Component: engine
2016-05-24 21:31:15 +02:00
c25dab543d Add Unit test to daemon.SearchRegistryForImages…
… and refactor a little bit some daemon on the way.

- Move `SearchRegistryForImages` to a new file (`daemon/search.go`) as
  `daemon.go` is getting pretty big.
- `registry.Service` is now an interface (allowing us to decouple it a
  little bit and thus unit test easily).
- Add some unit test for `SearchRegistryForImages`.
- Use UniqueExactMatch for search filters
- And use empty restore id for now in client.ContainerStart.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 636c276f67b3cd96a95dec2f6cfc419b7f219892
Component: engine
2016-05-24 11:07:11 +02:00
850246a4c4 Merge pull request #22590 from yongtang/22463-docker-daemon-events
Emit events for docker daemon
Upstream-commit: d76d38c7d028754c48f842e4631c2d897e63198d
Component: engine
2016-05-24 11:05:39 +02:00
fe4d79b993 Add filter for events emitted by docker daemon
This fix tries to cover the issue raised in #22463 by adding
filter for events emitted by docker daemon so that user could
utilize filter to receive events of interest.

Documentations have been updated for this fix.

Additional tests have been added to cover the changes in this fix.

This fix fixes #22463.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 62014aaf9abeb4256cb66e7ae06bfdf5a77d1140
Component: engine
2016-05-23 19:00:47 -07:00
e954a0d7e9 Emit events for docker daemon
This fix tries to cover the issue raised in #22463 by emitting
events for docker daemon so that user could be notified by
scenarios like config reload, etc.

This fix adds the `daemon reload`, and events for docker daemon.

Additional tests have been added to cover the changes in this fix.

This fix fixes #22463.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 382c152a73dfa1d771334ffbe79759c5c3596144
Component: engine
2016-05-23 19:00:47 -07:00
2736991181 Remove mountedLayer Mount and Unmount
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 8bb4d31b10e4c3abee9ca92535461859bbf25d46
Component: engine
2016-05-23 16:52:58 -07:00
3a35464d9d Get the Docker Engine to build clean on Solaris
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
Upstream-commit: 86d8758e2bb5e9d21d454ceda90b33feb8e74771
Component: engine
2016-05-23 16:37:12 -07:00
f70f621a66 Move some image related methods & struct to smaller files
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: d5baf8ddcfd81734e96f3405b941f5e21b24caff
Component: engine
2016-05-21 22:36:11 +02:00
214a2bf487 Add a --filter option to docker search
The filtering is made server-side, and the following filters are
supported:

* is-official (boolean)
* is-automated (boolean)
* has-stars (integer)

Signed-off-by: Fabrizio Soppelsa <fsoppelsa@mirantis.com>
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: e009ebdf4c0bf0ff64da8d48eefad63d0644de3e
Component: engine
2016-05-20 13:41:28 +02:00
30fc6309f3 Merge pull request #22561 from cpuguy83/delay_start_for_discovery
Wait for discovery on container start error
Upstream-commit: 0088b8fbbea9ca360f8a57cb63c7adc50b4613b0
Component: engine
2016-05-16 09:57:19 -04:00
be88ed49c5 Docker pull/push with max concurrency limits.
This fix tries to address issues raised in #20936 and #22443
where `docker pull` or `docker push` fails because of the
concurrent connection failing.
Currently, the number of maximum concurrent connections is
controlled by `maxDownloadConcurrency` and `maxUploadConcurrency`
which are hardcoded to 3 and 5 respectively. Therefore, in
situations where network connections don't support multiple
downloads/uploads, failures may encounter for `docker push`
or `docker pull`.

This fix tries changes `maxDownloadConcurrency` and
`maxUploadConcurrency` to adjustable by passing
`--max-concurrent-uploads` and `--max-concurrent-downloads` to
`docker daemon` command.

The documentation related to docker daemon has been updated.

Additional test case have been added to cover the changes in this fix.

This fix fixes #20936. This fix fixes #22443.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 7368e41c07c21a1e2c6a49abecd1c2fc76404e49
Component: engine
2016-05-11 19:44:54 -07:00
411eec057a Wait for discovery on container start error
This gives discovery a chance to initialize, particularly if the K/V
store being used is in a container.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 2dce79e05ab8f8fd22ca7b2f73121b2d7723f7cf
Component: engine
2016-05-11 09:49:51 -04:00
56a209df74 fix LogConfig for containers created before docker 1.12 on daemon startup
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
Upstream-commit: 391441c28baec698f0e3f42d88e116291e8a8e98
Component: engine
2016-05-08 00:29:38 +08:00