Commit Graph

21804 Commits

Author SHA1 Message Date
547bf07eca pkg: authorization: do not register the same plugin
This patches avoids registering (and calling) the same plugin more than
once. Using an helper map which indexes by name guarantees this and keeps
the order.
The behavior of overriding the same name in a flag is consistent with,
for instance, the `docker run -v /test -v /test` flag which register
the volume just once.
Adds integration tests.

Without this patch:
```
Dec 20 19:34:52 localhost.localdomain docker[9988]:
time="2015-12-20T19:34:52.080901676+01:00" level=debug msg="Calling
GET
/v1.22/info"
Dec 20 19:34:52 localhost.localdomain docker[9988]:
time="2015-12-20T19:34:52.081213202+01:00" level=debug msg="AuthZ
request using plugin docker-novolume-plugin"
Dec 20 19:34:52 localhost.localdomain docker[9988]:
time="2015-12-20T19:34:52.081268132+01:00" level=debug
msg="docker-novolume-plugin implements: authz"
Dec 20 19:34:52 localhost.localdomain docker[9988]:
time="2015-12-20T19:34:52.081699788+01:00" level=debug msg="AuthZ
request using plugin docker-novolume-plugin"
Dec 20 19:34:52 localhost.localdomain docker[9988]:
time="2015-12-20T19:34:52.081762507+01:00" level=debug
msg="docker-novolume-plugin implements: authz"
Dec 20 19:34:52 localhost.localdomain docker[9988]:
time="2015-12-20T19:34:52.082092480+01:00" level=debug msg="GET
/v1.22/info"
Dec 20 19:34:52 localhost.localdomain docker[9988]:
time="2015-12-20T19:34:52.628691038+01:00" level=debug msg="AuthZ
response using plugin docker-novolume-plugin"
Dec 20 19:34:52 localhost.localdomain docker[9988]:
time="2015-12-20T19:34:52.629880930+01:00" level=debug msg="AuthZ
response using plugin docker-novolume-plugin"
```

With this patch:
```
Dec 20 19:37:32 localhost.localdomain docker[16620]:
time="2015-12-20T19:37:32.376523958+01:00" level=debug msg="Calling
GET
/v1.22/info"
Dec 20 19:37:32 localhost.localdomain docker[16620]:
time="2015-12-20T19:37:32.376715483+01:00" level=debug msg="AuthZ
request using plugin docker-novolume-plugin"
Dec 20 19:37:32 localhost.localdomain docker[16620]:
time="2015-12-20T19:37:32.376771230+01:00" level=debug
msg="docker-novolume-plugin implements: authz"
Dec 20 19:37:32 localhost.localdomain docker[16620]:
time="2015-12-20T19:37:32.377698897+01:00" level=debug msg="GET
/v1.22/info"
Dec 20 19:37:32 localhost.localdomain docker[16620]:
time="2015-12-20T19:37:32.951016441+01:00" level=debug msg="AuthZ
response using plugin docker-novolume-plugin"
```

Also removes a somehow duplicate debug statement (leaving only the
second one as it's a loop of plugin's manifest):
```
Dec 20 19:52:30 localhost.localdomain docker[25767]:
time="2015-12-20T19:52:30.544090518+01:00" level=debug
msg="docker-novolume-plugin's manifest: &{[authz]}"
Dec 20 19:52:30 localhost.localdomain docker[25767]:
time="2015-12-20T19:52:30.544170677+01:00" level=debug
msg="docker-novolume-plugin implements: authz"
```

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: c28fc06e002e06deed3437da76bc213b7bd752ba
Component: engine
2015-12-23 21:08:40 +01:00
f2e9351eed Merge pull request #18876 from konstruktoid/tmpfs_apparmor
add /bin/tar to apparmor profile
Upstream-commit: fc87c5a2f1120a70e04d787a340abfa204e3fb13
Component: engine
2015-12-23 11:39:38 -08:00
df32f2591a Revert create return parameter removal
Cleanup does not happen if retErr is not set on return

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: 54f8ba7e9e496ae58c15eddb084fbd51418ab197
Component: engine
2015-12-23 11:21:02 -08:00
3b1545d1b1 Fix race condition between container register and mount
When a container is created it is registered before the mount is created. This can lead to mount does not exist errors when inspecting between create and mount.

Fixes #18753

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: d8e090669ed4d9b27206d7f8797c01ed4b2cd20f
Component: engine
2015-12-23 11:20:51 -08:00
64820f351d Refactor RWLayer to use referenced object instead of string
RWLayer will now have more operations and be protected through a referenced type rather than always looked up by string in the layer store.
Separates creation of RWLayer (write capture layer) from mounting of the layer.
This allows mount labels to be applied after creation and allowing RWLayer objects to have the same lifespan as a container without performance regressions from requiring mount.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: d04fa49a0dec89d2f71a813ce8eaa182184139c5
Component: engine
2015-12-23 11:19:17 -08:00
1cfbdcfe91 Remove package pkg/ulimit, use go-units instead.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 83237aab2b9430a88790467867505cc9a5147f3e
Component: engine
2015-12-23 13:27:58 -05:00
b109cc7bb5 Move ulimit options to runconfig opts
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 5adbea7075b2fda6ea9947d131aaa2a5db0c1295
Component: engine
2015-12-23 13:27:58 -05:00
889a0e3758 Upgrade go-units vendor to latest version with ulimits.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 3b8301b6600855e348bf4eeacabe5059f52e9d99
Component: engine
2015-12-23 13:27:58 -05:00
60c9e9b1c7 Merge pull request #18863 from dnephin/upgrade_connections_pkg
Update go-connections vendor to pickup addition of parser functions
Upstream-commit: 577cf61afad695f0ba226cdf8a995a8c78883e51
Component: engine
2015-12-23 10:02:25 -08:00
595a0cd27e Merge pull request #18839 from aaronlehmann/v1-fallback-404
When a manifest is not found, allow fallback to v1
Upstream-commit: 95b708cf19f24dcf0044f2f4e96db2579201cbeb
Component: engine
2015-12-23 10:01:39 -08:00
2fc88144d2 Merge pull request #18875 from thaJeztah/move-erikh-to-alumni
Move Erik to alumni
Upstream-commit: 0295b0a02655d496b30e46781ea24f304022fe4e
Component: engine
2015-12-23 09:15:59 -08:00
2db5ffe958 add /bin/tar to apparmor profile
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
Upstream-commit: 602498d1b093e4d066e8434aa1cbc041999d44ea
Component: engine
2015-12-23 18:11:16 +01:00
5805d2d5d6 Move Erik to alumni
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: fae00ad445cd6071e86d3372a6056d98dcdb9f6c
Component: engine
2015-12-23 18:01:02 +01:00
73ee680a1d Merge pull request #18874 from duglin/falseDocs
remove =false from options that default to false in the docs
Upstream-commit: 8022d1159d472f0a54957d4e8cc2f39a0856f088
Component: engine
2015-12-23 16:34:44 +01:00
743bbc7202 remove =false from options that default to false in the docs
This re-aligns the docs with what the cmd line now does.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: e6115a6c1c02768898b0a47e550e6c67b433c436
Component: engine
2015-12-23 07:11:35 -08:00
58f7d0c31d Merge pull request #17782 from WeiZhang555/network-ls-nopre
Add filter for `network ls` to hide predefined network
Upstream-commit: 4432a8982188f5f3ccad753860b12bf0e516c4e9
Component: engine
2015-12-23 13:59:17 +01:00
6f10e6b229 Add filter for network ls to hide predefined net
Add filter support for `network ls` to hide predefined network,
then user can use "docker network rm `docker network ls -f type=custom`"
to delete a bundle of userdefined networks.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: 26dd026bd70c9c18a16b0e339821c309e56d8ff0
Component: engine
2015-12-23 13:26:40 +08:00
189c56a7c6 Break big lock into some tiny locks
Don't involve code waiting for blocking channel in locked critical
section because it has potential risk of hanging forever.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: 1326f0cba5f933674e23769de1385d3b0841e758
Component: engine
2015-12-23 13:23:23 +08:00
0c8c982991 Remove unused parser functions that were replaced by go-connections/nat.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: b8659da2147293b6ecb49e05927ddbc6ef6b8cc4
Component: engine
2015-12-22 19:06:49 -05:00
382aba32a8 Make docker load to output json when the response content type is json.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 9fd2c0feb0c131d01d727d50baa7183b976c7bdc
Component: engine
2015-12-22 19:00:27 -05:00
85924c9d77 Upgrade vendored github.com/docker/go-connections to latest version, which includes new nat parse functions.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: fcc24995e0a4ad99c1a6dc445a8c6ff94df55c7c
Component: engine
2015-12-22 18:59:47 -05:00
d319ce34b8 Move runconfig blkiodev options and parsing into runconfig/opts package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: f015c29193c1afefff907ed65cbfb876e36263fa
Component: engine
2015-12-22 18:20:21 -05:00
f88ae3fe07 Merge pull request #18860 from dnephin/remove_migrate_if_downlevel
Remove migrateIfDownlevel and aufs migration from docker pre-0.7
Upstream-commit: 1105caa7f10ae1fa775670256fa7d4ca9d44e4dd
Component: engine
2015-12-23 00:08:36 +01:00
13048f0ce1 Merge pull request #18831 from calavera/test_event_observer
Extract event processing to a common function for testing.
Upstream-commit: eacedcbe21e15f396ea1d9f620047718cce03df7
Component: engine
2015-12-22 15:04:32 -08:00
6fc9c2e476 Merge pull request #18757 from thaJeztah/patch-release-process
Document process for patch-releases
Upstream-commit: 45033c0bdee09d63c6f92de6d71028a5b0a152d2
Component: engine
2015-12-22 23:42:34 +01:00
8bcec320d6 Merge pull request #18858 from thaJeztah/adieu-vieux
Move Victor to alumni
Upstream-commit: 319d488e6e66112ddf0f14072591fe0bf4461ec3
Component: engine
2015-12-22 14:38:54 -08:00
143c9b690b Merge pull request #18762 from calavera/runconfig_to_types
Move container configuration types to api/types/container.
Upstream-commit: 030347c3c9505fa80eed0ecfde5d1e9af05c3cbc
Component: engine
2015-12-22 14:22:08 -08:00
dadaf8ff90 Extract event processing to a common function for testing.
We keep only one logic to test event related behavior that will help us
diagnose flacky event errors.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: af51df20bdd9962b1aaa79819cafefc715290d28
Component: engine
2015-12-22 17:10:06 -05:00
b064975176 Remove migrateIfDownlevel and aufs migration from docker pre-0.7
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 0673361ef6a0439b79239efb000574ae991b84f7
Component: engine
2015-12-22 16:45:42 -05:00
a9fe9a6c5b Merge pull request #18857 from calavera/catch_pipeline_error
Catch command pipeline error.
Upstream-commit: 9f228b37fc1108bee544973841513ffd0d06035c
Component: engine
2015-12-22 13:34:56 -08:00
663db95ac5 libnetwork vendoring
Vendoring libnetwork @ 9f0563ea8f430d8828553aac97161cbff4056436

Brings in:
    * Support for overlay network driver in 3.10+ kernels
    * Freebsd compilation fixes
    * Remove .dockerinit dependency
    * IPAM driver capability support
    * Network internal mode support
    * Misc. fixes

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Upstream-commit: f0904affd127ea8bdebfc3f3c586f8eb38e91da5
Component: engine
2015-12-22 13:32:17 -08:00
db95b6f873 Merge pull request #18856 from albers/completion-network-rm
remove `--format` from bash completion for `docker network rm`
Upstream-commit: 0bbed98bc0f4456f8e2be8e91e978dd167113678
Component: engine
2015-12-22 12:38:11 -08:00
8e30598fab Merge pull request #18855 from rhatdan/volume-tmpfs
No options to tmpfs is valid
Upstream-commit: 9c89e83ff1b8d6598b487bebbbc29cef58840cc0
Component: engine
2015-12-22 12:24:51 -08:00
608da884be Catch command pipeline error.
Rather than ignoring errors in the pipeline, return an execution error
and do not proceed with the latest command in the pipeline.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: f38257308b12ecf6de7ce72895a6430d6a3dc775
Component: engine
2015-12-22 15:17:15 -05:00
d09f09929b remove --format from bash completion for docker network rm
Signed-off-by: Harald Albers <github@albersweb.de>
Upstream-commit: f03695efc100a8f35e73bf51fc694e370e019d25
Component: engine
2015-12-22 11:35:41 -08:00
47e00eae65 No options to tmpfs is valid
If you run a

docker run command with --tmpfs /mountpoint:noexec

Or certain options that get translated into mount options, the mount command can get passed "" for mount data.
So this should be valid.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
Upstream-commit: 89a775d2dc596b9ac86873edf447fff2f7012ef3
Component: engine
2015-12-22 14:15:07 -05:00
027f002cb3 Move Config and HostConfig from runconfig to types/container.
- Make the API client library completely standalone.
- Move windows partition isolation detection to the client, so the
  driver doesn't use external types.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 7ac4232e70fe7cf7318333cd0890db7f95663079
Component: engine
2015-12-22 13:34:30 -05:00
2ecbc5b7f6 Remove usage of runconfig.ConvertKVStringsToMap in the API client library.
It's a very simple function that we can duplicate.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 747dccde41762f10d0afcdd9b243fb1ea85cbd9f
Component: engine
2015-12-22 13:31:46 -05:00
f1f019f89d Move ExecConfig to types.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 839f73c3028629ac1dde6617d6466b98f2bde416
Component: engine
2015-12-22 13:31:46 -05:00
b006691148 Replace usage of pkg/nat with go-connections/nat.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 056e7449039af522fa0a1567ef67916eaa0de93e
Component: engine
2015-12-22 13:31:46 -05:00
3b25d376dd Move blkiodev package to types.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 0aab83d996f645a2e1e28b1e2c03b530c13a5fc1
Component: engine
2015-12-22 13:31:46 -05:00
d6be4062df Vendor new connections library.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: ad7fa0110206de6ff53825afb17cb8bbf181785d
Component: engine
2015-12-22 13:31:46 -05:00
7e8fcbf740 Move StrSlice to types.
This is a very docker concept that nobody elses need.
We only maintain it to keep the API backwards compatible.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: f9b857a200696b07b67e6a7f94ede32487f5649d
Component: engine
2015-12-22 13:31:43 -05:00
7bdc187f53 Merge pull request #18765 from Mashimiao/update-blkio-weight-device-test
update Blkio Tests name
Upstream-commit: 81c8e4d4c8937980f16ef7ac95d1710b5122aa46
Component: engine
2015-12-22 09:53:22 -08:00
56e3702320 Merge pull request #18844 from hqhq/hq_mv_oom_disable
Move OomKillDisable to resource
Upstream-commit: ac1187dc8d5b264bfa06a91ae3a300bdf4e7adbc
Component: engine
2015-12-22 18:52:24 +01:00
bcd4ff1dab Merge pull request #18837 from thaJeztah/remove-darwin-i386
Don't build Darwin 32-bit binaries
Upstream-commit: ff796e5bf740dba44c88132406892bf4c7050a92
Component: engine
2015-12-22 09:51:29 -08:00
455533c9e7 Merge pull request #18851 from thaJeztah/update-contributing
Update contributing.md
Upstream-commit: b5fb5b9d006a7a392396fcdbc9490b89634dce63
Component: engine
2015-12-22 09:49:53 -08:00
7572160b03 Merge pull request #18852 from errordeveloper/master
Update link for Weave Net plugin docs
Upstream-commit: 61e28f17a3524f2efffbd9c4f999b16ccf1c9236
Component: engine
2015-12-22 18:32:38 +01:00
89fa05b282 Update link for Weave Net plugin docs
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
Upstream-commit: 45241d36d349e0802cf12a2437a732b8c8c18479
Component: engine
2015-12-22 16:45:54 +00:00
8da2c14d42 Merge pull request #18847 from albers/completion-rename-functions
Better function names in bash completion
Upstream-commit: 5b913de5e68690c79563feb9a5082d5915371dcf
Component: engine
2015-12-22 08:43:08 -08:00