Commit Graph

2514 Commits

Author SHA1 Message Date
e32ea4c0f9 Add network events.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: f15af1eff75f920c956e7c437d1ef81f5c31129a
Component: engine
2015-12-30 17:39:33 -05:00
e54bb2b509 Add volume events.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 9d12d093009d3c4bf3bd4ebad3f8327c36d2d584
Component: engine
2015-12-30 17:39:33 -05:00
3580481051 Add event types.
- Stop serializing JSONMessage in favor of events.Message.
- Keep backwards compatibility with JSONMessage for container events.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 72f1881df102fce9ad31e98045b91c204dd44513
Component: engine
2015-12-30 17:39:33 -05:00
75ad76df88 Add tests for docker events -f container.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
(cherry picked from commit 531ecf59f5bd92b12d4548617ca7bf179c8179a3)
Upstream-commit: 687ef0056204c487aa1a2aeb283e8bda37be74a1
Component: engine
2015-12-30 17:39:32 -05:00
5af0a64a16 Move test out of the windows build.
Because it can still run on windows server and fail because it doesn't
have `chown`.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 9aad7d209f8919726b40034a40e619f1efa46716
Component: engine
2015-12-30 16:36:48 -05:00
cd2f0504b4 Merge pull request #18158 from mauri/add_owner
ADD files to a folder doesn't set correct UID and GID
Upstream-commit: 56f8b051ebc423b188c4a9eb8c151a338a4cb042
Component: engine
2015-12-30 11:19:15 -08:00
440e6d5df7 Merge pull request #18714 from jecarey/16756-docker_cli_pull_test
Use of checkers in docker_cli_pull_test.go
Upstream-commit: 51fa287368205e1f043d632e5930b7cce08a2419
Component: engine
2015-12-30 10:00:41 -08:00
eb2413b744 Merge pull request #18952 from coolljt0725/fix_stats_update
Fix docker stats show wrong memory limit when do docker update
Upstream-commit: 708f98f5f9e0a8e957c689a15ca380b8e52f6269
Component: engine
2015-12-30 08:17:42 -08:00
cfc051fa3a Fix files ownership when ADD is used
Signed-off-by: Mauricio Garavaglia <mauriciogaravaglia@gmail.com>
Upstream-commit: b638bc6f17f7cef6534b20dd44845e5b066ae2cc
Component: engine
2015-12-30 11:35:19 -03:00
6c53da9054 Merge pull request #18985 from hqhq/hq_handle_dockerCmdInDir
Handle error for dockerCmdInDir
Upstream-commit: c4486e48f2911ad6269c4746fb5a0ae4ea2c5e73
Component: engine
2015-12-30 15:25:20 +01:00
b167eafbb8 Handle error for dockerCmdInDir
Only two of these are not handled, the one in `TestBuildForceRm`
is intended to not be handled, while the other one in
`TestBuildResourceConstraintsAreUsed` causes problem.

In test case `TestBuildResourceConstraintsAreUsed`, somehow we
are not able to access network to get base image, but the error
message is:

```
Error: failed to inspect container : Unable to read inspect data: json: cannot unmarshal array into Go value of type types.ContainerJSON
```

Totally confusion.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 1b34008532849467623039f78191e0f706fb34a5
Component: engine
2015-12-30 15:21:34 +08:00
eee4baf0b5 Fix docker stats show wrong memory limit when do docker update
When a container create with -m 100m and then docker update other
cgroup settings such as --cpu-quota, the memory limit show by
docker stats will become the default value but not the 100m.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 518ed75e1ab5b102fffd7fcbf046c127b44c7be7
Component: engine
2015-12-29 20:33:16 -05:00
51b37769f0 Remove usage of pkg sockets and tlsconfig.
- Use the ones provided by docker/go-connections, they are a drop in replacement.
- Remove pkg/sockets from docker.
- Keep pkg/tlsconfig because libnetwork still needs it and there is a
  circular dependency issue.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 8e034802b7ad92a29f08785e553415adcd1348a3
Component: engine
2015-12-29 19:27:12 -05:00
f07bb00458 Merge pull request #18780 from jfrazelle/seccomp-default
set default seccomp profile
Upstream-commit: 78ce43bad85fdf97d7c836315e46b531901c8ae7
Component: engine
2015-12-28 16:46:30 -08:00
3b4ed44ee4 Merge pull request #18897 from runcom/fix-net-none-build
integration-cli: fix --net=none build
Upstream-commit: 38440cadf3e27b32b3ee7b9011b1a0a87cbcca69
Component: engine
2015-12-28 10:51:18 -08:00
3f03a2c89c add docs and unconfined to run a container without the default seccomp profile
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 15674c5fb74df00d7560fb35619a5372ea2ee74e
Component: engine
2015-12-28 10:26:51 -08:00
aac8048807 add default seccomp profile tests
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: a48fe6238494547f392b06adf9d48944b4dd8ac3
Component: engine
2015-12-28 10:26:48 -08:00
b5ffb5a2c4 set default seccomp profile
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 947293a28084cb5ee2e10e4d128c6e2b9d9da89d
Component: engine
2015-12-28 10:18:47 -08:00
c4af30652d Implemet docker update command
It's used for updating properties of one or more containers, we only
support resource configs for now. It can be extended in the future.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 8799c4fc0feadede6ae60e77bd7d9dfd7cc72a79
Component: engine
2015-12-28 19:19:26 +08:00
602cbecb67 integration-cli: fix --net=none build
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: bb8e1dc8fa7bda27592b140b433b5ffabdb44917
Component: engine
2015-12-24 16:36:37 +01:00
1d3ad033b8 Merge pull request #18810 from runcom/pkg-authz-fixes
pkg: authorization: do not register the same plugin
Upstream-commit: 914fad8b7d3426d9c637bfa07ccb47c141048163
Component: engine
2015-12-23 15:09:06 -08:00
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
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
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
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
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
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
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
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
8c2d6245d9 upate TestRunWithBlkioInvalidWeightDevice with clearly invalid device name
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Upstream-commit: 673f2b8697727a0f0bfb3c4bd049cdac89a5a508
Component: engine
2015-12-22 12:43:42 +08:00
ccad5598d4 When a manifest is not found, allow fallback to v1
PR #18590 caused compatibility issues with registries such as gcr.io
which support both the v1 and v2 protocols, but do not provide the same
set of images over both protocols. After #18590, pulls from these
registries would never use the v1 protocol, because of the
Docker-Distribution-Api-Version header indicating that v2 was supported.

Fix the problem by making an exception for the case where a manifest is
not found. This should allow fallback to v1 in case that image is
exposed over the v1 protocol but not the v2 protocol.

This avoids the overly aggressive fallback behavior before #18590 which
would allow protocol fallback after almost any error, but restores
interoperability with mixed v1/v2 registry setups.

Fixes #18832

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 9d6acbee92016c47796ee8751dce9c59056f850d
Component: engine
2015-12-21 18:19:38 -08:00
161c03c6c1 Merge pull request #15879 from Mashimiao/add-support-blkio_throtte_iops
Add support for blkio read/write iops device
Upstream-commit: 312c82677bdc86d50b483d642ad8c61f1c840c55
Component: engine
2015-12-21 23:45:18 +01:00
def74d9c92 Use of checkers in docker_cli_pull_test.go
Signed-off-by: James Carey <jecarey@us.ibm.com>
Upstream-commit: 1b010516d09fb587999eff6abb69cc76b25f7944
Component: engine
2015-12-21 14:04:38 -06:00
306ef7b263 Merge pull request #17692 from vdemeester/images-format
Add --format support to images command
Upstream-commit: 42460b6772323552bfb58ae703124145ffd8a56b
Component: engine
2015-12-21 09:57:29 -08:00
f41d29a49b Add --format support to images command
- rename `api/client/ps` to `api/client/formatter`
- add a a image formatter

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 34a3c3cacf2fd827f13a5e37541acff1409658c4
Component: engine
2015-12-21 17:38:07 +01:00
1c5df6581b Change the quiet flag behavior in the build command
Right now, the quiet (-q, --quiet) flag ignores the output
generated from within the container.

However, it ought to be quiet in a way that all kind
of diagnostic output should be ignored, unless the build
process fails.

This patch makes the quiet flag behave in the following way:
 1. If the build process succeeds, stdout contains the image ID
    and stderr is empty.
 2. If the build process fails, stdout is empty and stderr
    has the error message and the diagnostic output of that process.

If the quiet flag is not set, then everything goes to stdout
and error messages, if there are any, go to stderr.

Signed-off-by: Boaz Shuster <ripcurld.github@gmail.com>
Upstream-commit: 60b4db7eb17f4eb509be4a4968364ada2075d60c
Component: engine
2015-12-21 16:38:50 +02:00
a04e1f9592 Add support for blkio read/write iops device
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Upstream-commit: 843084b08b521a70baf9284ec4e23e941ab38367
Component: engine
2015-12-21 09:14:49 +08:00
cd79f6b524 Merge pull request #18767 from wenchma/add_checkduplicate_test
Add network create api test on CheckDuplicate
Upstream-commit: 58c049595fba7cb509d8a6656ecce6389c34a5a5
Component: engine
2015-12-19 10:46:11 -05:00
ea70c9d5d6 Add network create api test on CheckDuplicate
Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
Upstream-commit: 5649dae89bbbb356a24560c1d3164722b2207344
Component: engine
2015-12-19 22:29:30 +08:00
76f3bf50c1 pkg/version.Version: use the new String() method
Resolves #18750

Signed-off-by: Aditi Rajagopal <arajagopal@us.ibm.com>
Upstream-commit: 278e75800c7be10ca43ffb11de25cd342da106fe
Component: engine
2015-12-18 15:29:32 -05:00
d63981ab4d authZ: more fixes
- fix naming and formatting
- provide more context when erroring auth
- do not capitalize errors
- fix wrong documentation
- remove ugly remoteError{}

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 5a64c8027ecd2bebe773c9abd2e73c2fd7d23de1
Component: engine
2015-12-18 16:29:01 +01:00
ef849e6c0d Merge pull request #18716 from clnperez/fix-blkio-tests
Update TestRunWithBlkioInvalidDevice Tests
Upstream-commit: 406da8616ccc13795cb85b9a34c459d3cda2ae82
Component: engine
2015-12-17 10:23:59 -08:00
177c044c3a Merge pull request #18590 from aaronlehmann/limit-v1-fallbacks
Limit v1 protocol fallbacks
Upstream-commit: 98be580794923df223ea623c55311c290d402c54
Component: engine
2015-12-17 14:44:05 +01:00
ce29ee35b2 Merge pull request #18662 from runcom/pkg-authZ-response
pkg: authorization: add Err to tweak response status code
Upstream-commit: 5baa93c04ef4a195df397914baf0a980c93d1271
Component: engine
2015-12-17 11:12:27 +01:00
98eeaeab93 pkg: authorization: add Err to tweak response status code
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 46e3a249a1971f8697ca338c9b02e27d36ddab12
Component: engine
2015-12-17 11:08:47 +01:00
9a50c6c5f4 Merge pull request #18559 from ahmetalpbalkan/return-container-networks
Proposal: Add container networks list to /containers/json
Upstream-commit: 0f749ad55ab794872e601b4f665b07c0be07abfc
Component: engine
2015-12-17 10:11:18 +01:00
d2691dfadc Do not fall back to the V1 protocol when we know we are talking to a V2 registry
If we detect a Docker-Distribution-Api-Version header indicating that
the registry speaks the V2 protocol, no fallback to V1 should take
place.

The same applies if a V2 registry operation succeeds while attempting a
push or pull.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: a57478d65f1f5782cc746c260f9d841a0907ce54
Component: engine
2015-12-16 15:02:03 -08:00
7c30c7ccac Merge pull request #15964 from duglin/APIVersion
Add a DOCKER_API_VERSION env var
Upstream-commit: 905f3336b2715b3960b5ff4f860db387797d9adf
Component: engine
2015-12-16 14:23:47 -08:00