Commit Graph

694 Commits

Author SHA1 Message Date
f56b7023bb Merge pull request #28623 from cpuguy83/update_graphdriver_docs
Ensure graphdriver only loads with experimental flag
Upstream-commit: d3e3a97cb2b3d86587ae52e3d8247dc2ba4d2c4e
Component: engine
2016-12-24 11:59:24 +01:00
478844dff8 Implement content addressability for plugins
Move plugins to shared distribution stack with images.

Create immutable plugin config that matches schema2 requirements.

Ensure data being pushed is same as pulled/created.

Store distribution artifacts in a blobstore.

Run init layer setup for every plugin start.

Fix breakouts from unsafe file accesses.

Add support for `docker plugin install --alias`

Uses normalized references for default names to avoid collisions when using default hosts/tags.

Some refactoring of the plugin manager to support the change, like removing the singleton manager and adding manager config struct.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Upstream-commit: 3d86b0c79b16334ce5836c0315e4c310b84c2e17
Component: engine
2016-12-23 13:29:58 -08:00
38849b2667 Moves graphdriver plugn docs out of experimental
Also updates some of the structures being sent so plugins are getting
all the new options.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 677fa03654886ee776ff478c30681d5376cfc196
Component: engine
2016-12-22 15:30:25 -05:00
89240fcdc4 correct the spelling error of driver (#29523)
Signed-off-by: erxian <evelynhsu21@gmail.com>
Upstream-commit: 054e479bfae694194d40b4b68c63e5819a436b29
Component: engine
2016-12-19 07:33:36 -05:00
5906dd918b Merge pull request #29459 from yongtang/29365-follow-up
Allow containers to continue even if mount failed after live restore
Upstream-commit: 110a95717d2d7e140c139a9f6b8fb7f72ec20dcb
Component: engine
2016-12-17 01:46:25 +01:00
343586bbdc Fix volume plugin refecounting on daemon restart
Ensures all known volumes (known b/c they are persisted to disk) have
their volume drivers refcounted properly.

In testing this, I found an issue with `--live-restore` (required since
currently the provided volume plugin doesn't keep state on restart)
where restorted plugins did not have a plugin client loaded causing a
panic when trying to use the plugin.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 6ef1060cd0acb847e06db890abb335faa837a9e2
Component: engine
2016-12-16 10:14:06 -05:00
7b8a80a706 Allow containers to continue even if mount failed after live restore
This fix is a follow up to #29365. In #29365 a bug was fixed for
`docker exec -u user` after live restore by remounting.
However, #29365 will prevent containers from restored if mount failed.

In this fix, containers will be restored even if mount in that step failed.
Some functionalities might be missing (like `docker exec -u user`) but
at least it is possible to do certain operations like stop/restart/delete.

This fix is related to #29365.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 3003ae1d8bd112e78bcc8c1c70efd9d3ef6f0ddc
Component: engine
2016-12-15 15:48:14 -08:00
4bd3e0fe3d Fix docker exec -u issue after docker daemon restart
This fix tries to address the issue raised in 29342 where
`docker exec -u` after docker daemon restart returns an error:
```
unable to find user test: no matching entries in passwd file
```

The reason was that `container.BaseFS` is not present after restart.

This fix adds the `daemon.Mount` during the restore to bring up the
`container.BaseFS`.

An integration test has been added to cover the changes.

This fix fixes 29342.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 7feb2a17e4b9d1a5305a8a44004e916b79cbdd97
Component: engine
2016-12-13 22:36:30 -08:00
9e9a89f944 Pass daemon experiemental flag to libnetwork
Required to enable ipvlan experimental network driver

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: b0eef4e427fc87826dd8abd59d09365abdfbedbb
Component: engine
2016-12-13 14:22:54 -08:00
2613b94bd4 daemon: switch to 'ensure' workflow for AppArmor profiles
In certain cases (unattended upgrades), system services can disable
loaded AppArmor profiles. However, since /etc being read-only is a
supported setup we cannot just write a copy of the profile to
/etc/apparmor.d.

Instead, dynamically load the docker-default AppArmor profile if a
container is started with that profile set. This code will short-cut if
the profile is already loaded.

Fixes: 2f7596aaef3a ("apparmor: do not save profile to /etc/apparmor.d")
Signed-off-by: Aleksa Sarai <asarai@suse.de>
Upstream-commit: 567ef8e7858ca4f282f598ba1f5a951cbad39e83
Component: engine
2016-12-07 08:47:28 +11:00
abe19725d9 Merge pull request #28996 from Microsoft/jjh/sqlite-remove-windows
Windows: Factor out sqlite
Upstream-commit: a756c1ac659468bb8d6ec9ee2e1182fc6cae4002
Component: engine
2016-12-01 13:56:11 -08:00
c3ca8eccc1 Windows: Factor out sqlite
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 3f6127b173949cb36557601a56bc15ae2c45a698
Component: engine
2016-12-01 09:38:08 -08:00
ba962e129a Merge pull request #28487 from cpuguy83/stack_dumps
Move stack dump dir to exec root
Upstream-commit: 6367c67ab71916d677d3498f0bb536da9ae63597
Component: engine
2016-11-30 20:01:29 +01:00
c805a193cc Move plugin shutdown after layerstore shtudown
This ensures that graphdriver plugins can properly cleanup on daemon
exit.
Also prevents errors during shutdown when it tries to send the plugin a
`Cleanup()` request but ultimately times out since it's already been
shutdown.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 4b400ecc4df4bcf245f1f751a7fd0c9c193d9dbf
Component: engine
2016-11-29 20:00:02 -05:00
33ea65e4f5 Allow graphdriver plugins to use v2
Currently the plugin initialization is too late for a loaded v2 plugin
to be usable as a graph driver.

This moves the initialization up before we create the graph driver.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 020b051dfb92edcb1e43cee77c881dd3e15481c0
Component: engine
2016-11-18 17:23:59 -05:00
594f65145f Move stack dump dir to exec root
Dump stack dumps to exec root instead of daemon root.
When no path is provided to the stack dumper, such is the case with
SIGQUIT, dump to stderr.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 0bd720b28dc7b416fe2193bdafaca011ec24d032
Component: engine
2016-11-16 12:55:18 -05:00
2967986572 don't spell error
Signed-off-by: chchliang <chen.chuanliang@zte.com.cn>
Upstream-commit: 167f2f3f1bb4cf80abe1fbb4a090179a850363e3
Component: engine
2016-11-12 14:57:37 +08:00
8ed32ee4ec Merge pull request #28274 from Microsoft/jjh/acl
Windows: create daemon root with ACL
Upstream-commit: 2712bb26e33eea46b69776b7b8aa6e18da0d3554
Component: engine
2016-11-11 09:20:32 -08:00
4d7a48f6ec Merge pull request #27955 from mlaventure/runc-docker-info
Add external binaries version to docker info
Upstream-commit: 0427afa409f1a2034537b4659bf7a3a1454fa617
Component: engine
2016-11-10 21:27:14 -08:00
29d6547bdb Windows: create daemon root with ACL
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 46ec4c1ae2700ed638072fd7fb326afc10eded20
Component: engine
2016-11-10 17:51:28 -08:00
fadae43674 move plugins out of experimental
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: c410222e42fb9195909390337bc129c6481e2453
Component: engine
2016-11-10 15:51:32 -08:00
9dbbc071d5 secrets: secret management for swarm
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

wip: use tmpfs for swarm secrets

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

wip: inject secrets from swarm secret store

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

secrets: use secret names in cli for service create

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

switch to use mounts instead of volumes

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

vendor: use ehazlett swarmkit

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

secrets: finish secret update

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
Upstream-commit: 3716ec25b423d8ff7dfa231a7b3cf0154726ed37
Component: engine
2016-11-09 14:27:43 -05:00
515ebb7b5c Add expected 3rd party binaries commit ids to info
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 2790ac68b32b399c872de88388bdccc359ed7a88
Component: engine
2016-11-09 07:42:44 -08:00
8101ecbf52 Fix typo limitied
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 27de9f6ece0f62dbdf2a6bfa12cf3019f25e78fa
Component: engine
2016-11-08 13:06:24 -08:00
71fb2940a4 Merge pull request #26276 from runcom/seccomp-conf
daemon: add a flag to override the default seccomp profile
Upstream-commit: efa5e85cf7c6d91fbc8003770fee14bd716a2fdd
Component: engine
2016-11-04 15:45:30 +00:00
a8f159283e Spew debugging
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 4c62b1263648833122828cf8cc8259f5b7e32da5
Component: engine
2016-11-03 10:05:11 -07:00
250cd5b7d2 daemon: add a flag to override the default seccomp profile
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: b237189e6c8a4f97be59f08c63cdcb1f2f4680a8
Component: engine
2016-11-02 21:41:29 +01:00
07a831dfc2 Fix logrus formatting
This fix tries to fix logrus formatting by removing `f` from
`logrus.[Error|Warn|Debug|Fatal|Panic|Info]f` when formatting string
is not present.

Fixed issue #23459

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
Upstream-commit: fa710e504b0e3e51d4031790c18621b02dcd2600
Component: engine
2016-10-31 22:05:01 -06:00
0e3402d520 Allow providing a custom storage directory for docker checkpoints
Signed-off-by: boucher <rboucher@gmail.com>
Upstream-commit: bd7d51292c399edba5f339e6be55fac6c0811ff5
Component: engine
2016-10-28 07:56:05 -04:00
2a9003b823 Add basic prometheus support
This adds a metrics packages that creates additional metrics.  Add the
metrics endpoint to the docker api server under `/metrics`.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Add metrics to daemon package

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

api: use standard way for metrics route

Also add "type" query parameter

Signed-off-by: Alexander Morozov <lk4d4@docker.com>

Convert timers to ms

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 3343d234f3b131d4be1d4ca84385e184633a79bd
Component: engine
2016-10-27 10:34:38 -07:00
a3de26010f Merge pull request #27525 from AkihiroSuda/prune-network-cluster
add `docker network prune`
Upstream-commit: 11cd64f0dce35ad897ede7eb29babdc487e99617
Component: engine
2016-10-25 09:02:28 -07:00
e24e6d4206 Merge pull request #27467 from tonistiigi/attach-cb
Move stdio attach from libcontainerd backend to callback
Upstream-commit: 8ed31089c03c36954e95c2066b1f3724e2d5c849
Component: engine
2016-10-25 16:23:07 +02:00
4fb550ce0f add docker network prune
`docker network prune` prunes unused networks, including overlay ones.
`docker system prune` also prunes unused networks.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: 7e24c16086a9a4f38e241e51837f2be4877c04a6
Component: engine
2016-10-25 06:43:54 +00:00
9a299b360f Make experimental a runtime flag
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Upstream-commit: 7781a1bf0fef748877326632b88e92fbf3c90daa
Component: engine
2016-10-24 15:20:01 -07:00
1883869e16 Move stdio attach from libcontainerd backend to callback
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 37a3be2449d2a314305615ffcc287a598a829dba
Component: engine
2016-10-24 00:20:36 -07:00
2a18c9fa95 Merge pull request #26973 from allencloud/change-code-in-container-restore
change code in container restore
Upstream-commit: a6688959b4d574994f29af43d263caa83ee89ed2
Component: engine
2016-10-21 18:53:37 -07:00
146d61be30 support insecure registry in configuration reload
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 582803f00addb597efbfc64a5143f2f848b76ae6
Component: engine
2016-10-20 07:54:31 +08:00
11e5249376 Add config parameter to change stop timeout during daemon shutdown
This fix tries to add a daemon config parameter `--shutdown-timeout`
that specifies the timeout value to stop containers gracefully
(before SIGKILL). The default value is 15s.

The `--shutdown-timeout` parameter is added to daemon options and
config file. It will also be updated during daemon reload.

Additional test cases have been added to cover the change.

This fix fixes #22471.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: d7be6b2debb653739a32cfcb7c333ca062f62be0
Component: engine
2016-10-18 08:07:50 -07:00
15c4940651 Update docker stop and docker restart to allow not specifying timeout and use the one specified at container creation time.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: cc703784f39fb3f585ec685cf7aeda6410648446
Component: engine
2016-10-17 12:53:35 -07:00
9fc27540de Add config parameter to change per-container stop timeout during daemon shutdown
This fix tries to add a flag `--stop-timeout` to specify the timeout value
(in seconds) for the container to stop before SIGKILL is issued. If stop timeout
is not specified then the default timeout (10s) is used.

Additional test cases have been added to cover the change.

This fix is related to #22471. Another pull request will add `--shutdown-timeout`
to daemon for #22471.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: e66d2108911a2fad016205bdd6bf181f7e822c1c
Component: engine
2016-10-17 12:28:46 -07:00
86c7d2f369 Merge pull request #27027 from tonistiigi/fix-name-collision
Fix name collision handling in restore
Upstream-commit: 9ced849832dc7a5f15f7fda6d2f3bdb38bbf5483
Component: engine
2016-10-14 08:59:56 +02:00
d71f1080b9 Make authorization plugins use pluginv2.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Upstream-commit: c5393ee147e981ded8fdf12c8da790abd1130175
Component: engine
2016-10-11 13:09:28 -07:00
effa6f4094 Update plugingetter import path in docker/docker.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Upstream-commit: a98be0344b24d71235c17a87ff425f3d602e48e8
Component: engine
2016-10-11 11:24:18 -07:00
1ec6d6cfdb Merge pull request #27259 from LK4D4/no_map_pointers
daemon: do not use pointers to map
Upstream-commit: 2945f902bdd090811d840c288bbe7e7072804ea6
Component: engine
2016-10-10 13:15:03 -07:00
aaf0ce0824 daemon: do not use pointers to map
Also, do not shadow err with :=

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 44c280afbf27534dffdbc9c462692e4d2d3cc99a
Component: engine
2016-10-10 11:37:36 -07:00
97516856c4 Remove restartmanager from libcontainerd
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 606a245d8548e98e889df1b9cf511b5953a309b9
Component: engine
2016-10-07 12:09:54 -07:00
75a301f015 Windows: Support credential specs
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: e85867cb68cc28208c91bb43fc5cdcff824c468e
Component: engine
2016-10-06 09:32:22 -07:00
6d8d7fa57b Merge pull request #27136 from allencloud/add-lock-in-libcontainerd
add lock in libcontainerd client AddProcess of Windows
Upstream-commit: 5e072a25f80f13028fdb86df4179a8ee60cbde90
Component: engine
2016-10-04 09:29:59 -04:00
43c9d470cf add lock in libcontainerd client AddProcess of Windows
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 5143be0ccf70c7cb2acc2aa39fd7ec47450e5daa
Component: engine
2016-10-04 10:29:21 +08:00
c99a6c9099 Merge pull request #26860 from anusha-ragunathan/nw-pv2
Make libnetwork use pluginv2.
Upstream-commit: 0cc7f0185f59f9271b7b783b776dac74347e8f51
Component: engine
2016-10-03 17:12:16 -07:00