Commit Graph

1965 Commits

Author SHA1 Message Date
Jessie Frazelle 7c667f9d6e Merge pull request #15999 from cpuguy83/15994_ext_volume_bind
Set bind driver after volume is created
2015-09-04 09:47:10 -07:00
David Calavera 6549d6517b Move VolumeDriver to HostConfig to make containers portable.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-09-04 12:42:44 -04:00
Kunal Kushwaha 44da5c3de2 "docker network" missing from docker --help
Fixed issues related to network subcommand tests
- "network" in exempted list of short help check
- Condition for exact test modified to meet experimental commands
- Sorting of commands done in flags_experimental

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2015-09-04 15:34:17 +09:00
Alexander Morozov 0009852cb0 Merge pull request #15877 from Microsoft/10662-trigger
Fix trigger count and output
2015-09-03 20:04:05 -07:00
John Howard 69bf17ffbd Fixes 2 panics initialising tests
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-03 18:26:38 -07:00
Tibor Vass c8c1c472b2 Merge pull request #15845 from calavera/refactor_daemon_list
Refactor daemon container list.
2015-09-03 20:48:54 -04:00
John Howard 6620102926 Fix trigger count and output
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-03 17:39:19 -07:00
Arnaud Porterie f324f4851f Update image pull tests
Update and migrate existing tests to the `DockerHubPullSuite`. Most
tests were preserved, but refactored and made more exhaustive. One test
was deliberately removed (`TestPullVerified`) as it is unreliable and
that the feature was obsoleted by content trust.

Move all trust related tests to `docker_cli_pull_trusted_test.go`.

Move tests depending on a local registry to `docker_cli_pull_local_test.go`.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-03 15:57:41 -07:00
Arnaud Porterie c87cbd3862 Add integration-cli/checker package
Add a `checker` package that adds some utility Checker implementation,
the first one being `checker.Contains`, as well as brining all go-check
provided Checker implementations in scope as a commodity.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-03 15:57:41 -07:00
Michael Crosby 288275ab60 Merge pull request #16038 from aboch/sbx
Vendor libnetwork dc52820147f40fe424c8959987af3b396f842639
2015-09-03 11:48:02 -07:00
Arnaud Porterie 9e4addde76 Add test suite for push/pull code
Introduce the `DockerHubPullSuite` that interacts with its own dedicated
daemon, thus allowing to start from a clean environment and finely test
against the impact of isolated push and pull operations.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-09-02 22:06:24 -07:00
Alessandro Boch 56fdb05258 Docker changes for libnetwork Sandbox
- Ground-work for integrating with user namespace support

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-09-02 17:24:56 -07:00
Brian Goff 39be36658d Set bind driver after volume is created
When using a named volume without --volume-driver, the driver was
hardcoded to "local".
Even when the volume was already created by some other driver (and
visible in `docker volume ls`), the container would store in it's own
config that it was the `local` driver.
The external driver would work perfecly fine until the daemon is
restarted, at which point the `local` driver was assumed because that is
as it was set in the container config.

Set the bind driver to the driver returned by createVolume.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-09-02 20:13:20 -04:00
Aaron Lehmann 6cc38775bb Remove TestPushInterrupt
This test relies on a race condition, and has been failing often in CI.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-09-02 15:30:55 -07:00
David Calavera 1ed3cb2b6c Merge pull request #15921 from srust/volume_driver_register_retry
Retry registering a volume driver
2015-09-02 11:24:52 +02:00
Stephen Rust 45fdce8a0d Retry registering a volume driver
Signed-off-by: Stephen Rust <srust@blockbridge.com>
2015-09-01 14:56:29 -04:00
Alexander Morozov 70f0d6d84c Merge pull request #15983 from Microsoft/unix-run-test
Move run tests out of unix files
2015-09-01 10:49:01 -07:00
John Howard d7eb85bb1f Move run tests out of unix files
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-01 09:42:19 -07:00
John Howard 4fccf8adfa Moved unix links tests to non-platform
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-09-01 09:10:24 -07:00
David Calavera 26fb160610 Merge pull request #15976 from duglin/MissingDefer
Add missing defer to delete temp dir
2015-09-01 17:13:37 +02:00
Doug Davis 51e721ab07 Add missing defer to delete temp dir
Minor thing I just noticed

Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-09-01 07:19:38 -07:00
Brian Goff 567687fd98 Merge pull request #15900 from Microsoft/10662-testinfra
Test infrastructure for cross platform
2015-09-01 09:18:29 -04:00
Alexander Morozov 84bc41a3fb Merge pull request #15963 from Microsoft/fix-unixtestport
Move TestPort out of _unix
2015-08-31 17:09:59 -07:00
John Howard 3c2b128582 Fix typo in test title
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-31 15:28:40 -07:00
John Howard 68c7d24a12 Move TestPort out of _unix
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-31 14:40:36 -07:00
David Calavera 96974170f8 Merge pull request #15606 from jlhawn/img_delete
[daemon] Refactor image_delete.go
2015-08-31 18:22:48 +02:00
John Howard cd18e7bb73 Test infrastructure for cross platform
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-31 09:10:18 -07:00
Brian Goff 754c10430b Merge pull request #15807 from coolljt0725/remove_remove_redundant_tag_name
Minor fix: remove redundant tag name in error message of create failed.
2015-08-31 11:34:40 -04:00
David Calavera 06699f73fb Refactor daemon container list.
Separate container iteration, filtering and reducing.
This will make easier in the future to improve the implementation of
docker ps as we know it.

The end goal is to unify the objects returned by the api for docker ps
and docker inspect, leaving all docker ps transformations to the client.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-31 04:24:08 -04:00
David Calavera 754d81bd69 Merge pull request #15873 from cpuguy83/no_args_for_volume_subcmd
Fix `docker volume invalidarg` so it displays usage
2015-08-31 10:04:45 +02:00
Lei Jitang 16220e0681 Minor fix: remove redundant tag name in error message of create failed.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-30 10:43:33 +08:00
Stephen Rust 0ef740a5bf Don't hold lock around volume driver for volume create.
Signed-off-by: Stephen Rust <srust@blockbridge.com>
2015-08-28 16:28:28 -04:00
Josh Hawn 111d2f3487 [daemon] Refactor image_delete.go
This file was not well documented and had very high cyclomatic complexity.
This patch completely rearranges this file and the ImageDelete method to
be easier to follow and more maintainable in the future.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-08-28 11:01:24 -07:00
Sebastiaan van Stijn b1cb1b1df4 Merge pull request #14570 from vdemeester/13365-ps-image-filter
Add docker ps ancestor filter for image
2015-08-28 19:47:43 +02:00
Alexander Morozov 6caaa8a635 Merge pull request #15023 from hqhq/hq_add_status_in_inspect
Add status string to State field for inspect
2015-08-28 08:27:36 -07:00
Tonis Tiigi 9dd6c8822d Use DockerSuite for PullClientDisconnect test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-27 11:22:54 -07:00
David Calavera 0634c653d5 Merge pull request #15646 from tonistiigi/15589-pull-cancellation
Fix pull on client disconnect
2015-08-27 17:54:08 +02:00
Brian Goff 38da43184d Fix `docker volume invalid` so it displays usage
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-27 09:46:05 -04:00
Vincent Demeester c1af0ac082 Add 'ancestor' ps filter for image
Makes it possible to filter containers by image, using
--filter=ancestor=busybox and get all the container running busybox
image and image based on busybox (to the bottom).

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-26 22:59:48 +02:00
Alexander Morozov 7a74422724 Merge pull request #15826 from Microsoft/start-from-one
Builder counts from 1
2015-08-26 13:59:38 -07:00
Alexander Morozov 70a814c3f3 Merge pull request #15493 from stevvooe/no-buffer-on-push
Avoid buffering to tempfile when pushing with V2
2015-08-26 13:59:01 -07:00
Sebastiaan van Stijn fa13f7cde8 Merge pull request #14242 from cpuguy83/add_volume_api
Add volume api
2015-08-26 21:57:12 +02:00
Brian Goff b3b7eb2723 Add volume API/CLI
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-26 13:37:52 -04:00
Jessie Frazelle 5dadfa8b69 Merge pull request #15848 from calavera/revert_ipc_mounts
DO NOT MERGE: Check if these commits broke the builds.
2015-08-26 10:29:25 -07:00
John Howard 17d6c6c7e5 Builder counts from 1
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-26 10:05:04 -07:00
Brian Goff 2cec06fbcd Merge pull request #13304 from coolljt0725/restart_daemon_with_paused_containers
Fix restart docker daemon with paused containers
2015-08-26 09:04:14 -04:00
David Calavera b857dadb33 Merge pull request #15711 from monitorjbl/import-commit-message
adding message option to the import subcommand
2015-08-26 11:42:10 +02:00
David Calavera a9378a0ab5 Revert "Modify test to include /dev/shm sharing"
This reverts commit 457aeaa2e1.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-26 05:22:46 -04:00
Taylor Jones 936b2c6afe adding message option to the import subcommand
Signed-off-by: Taylor Jones <monitorjbl@gmail.com>
2015-08-25 02:55:04 +00:00
Lei Jitang 9a9724ad56 Fix docker daemon restart with paused container.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-25 09:42:58 +08:00
Stephen J Day 349aef06d5 Avoid buffering to tempfile when pushing with V2
The practice of buffering to a tempfile during a pushing contributes massively
to slow V2 push performance perception. The protocol was actually designed to
avoid precalculation, supporting cut-through data push. This means we can
assemble the layer, calculate its digest and push to the remote endpoint, all
at the same time.

This should increase performance massively on systems with slow disks or IO
bottlenecks.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-08-24 18:08:05 -07:00
Jessie Frazelle 903cd2b9e3 Merge pull request #12159 from mrunalp/feature/ipc_share_dev
ipc: Share /dev/shm and /dev/mqueue when --ipc container:<id/name> is used
2015-08-24 17:55:03 -07:00
Alexander Morozov 6b21e98432 Merge pull request #15766 from hqhq/hq_fix_device
Add mode check for device
2015-08-24 10:58:49 -07:00
Brian Goff fd8b25c802 Merge pull request #15348 from tonistiigi/11008-always-unless-stopped-restart-policy
Add always-unless-stopped restart policy
2015-08-24 13:48:56 -04:00
Brian Goff e14eaba784 Merge pull request #12918 from thieman/tnt-issue-12595
Use image ID in ps if tag has been updated
2015-08-24 12:24:42 -04:00
Brian Goff 2b174d3d9d Merge pull request #15444 from coolljt0725/add_test_require_for_test_blkio
Add test require for TestRunWithBlkioInvalidWeight and TestRunWithBlkio
2015-08-24 08:33:17 -04:00
Brian Goff 1ee53d4fb7 Merge pull request #15779 from mountkin/split-build-test
split build API tests to a separate file
2015-08-24 08:31:48 -04:00
Qiang Huang 429423624c Add mode check for device
This fixes two problems:
1. docker run --device /dev/sda:rw ubuntu bash doesn't work
2. --device /dev/zero:/dev/noro:ro doesn't show clear error message,
but fail when writing to cgroup file.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-24 17:57:12 +08:00
David Calavera 9bac520c12 Merge pull request #15571 from ewindisch/apparmor_denywproc
AppArmor: Deny w to /proc/* files
2015-08-24 11:03:41 +02:00
Lei Jitang c340ca4f5d Add some missing cgroup test require and refactor the require check.
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-08-24 11:37:11 +08:00
Travis Thieman 2167f40a76 Use image ID if tag has been updated
Fixes #12595

Signed-off-by: Travis Thieman <travis.thieman@gmail.com>
2015-08-23 12:11:24 -04:00
Shijiang Wei 96e37f671a split build API tests to a separate file
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-23 23:59:15 +08:00
Brian Goff 5929502b4e Merge pull request #15412 from vdemeester/dont-sleep-too-much
time.Sleep in integration tests — comment and waitRun/waitInspect
2015-08-21 20:43:55 -04:00
Jessie Frazelle fefc9a3a6a Merge pull request #15750 from mountkin/fix-exec-panic
fix a panic when the exec fails to start
2015-08-21 15:54:58 -07:00
Jessie Frazelle 9bd8a9b66b Merge pull request #14006 from hqhq/hq_add_kmem_limit
Add support for kernel memory limit
2015-08-21 14:34:27 -07:00
Jessie Frazelle 19f7bfcda9 Merge pull request #15507 from clintonskitson/patch_issue_15467
added check for bind on create to determine local volume driver
2015-08-21 14:23:44 -07:00
Shijiang Wei fcf9daad91 fix a panic when the exec fails to start
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-22 00:01:44 +08:00
Clinton Kitson 6b8129d1fe added check for bind on create to determine local volume driver
Signed-off-by: Clinton Kitson <clintonskitson@gmail.com>
2015-08-20 01:40:04 -07:00
Mrunal Patel 457aeaa2e1 Modify test to include /dev/shm sharing
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2015-08-19 12:36:57 -04:00
Doug Davis ca79576585 Merge pull request #15664 from skatsuta/fix-parse-null
builder: avoid parsing null- string to nil slice (issue #15634)
2015-08-19 09:06:20 -07:00
Qiang Huang b6f1b4ad35 Add support for kernel memory limit
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-08-19 23:56:55 +08:00
Doug Davis 09cdd0524e Merge pull request #15691 from skatsuta/fix-printf-wrong-type
integration-cli: fix printf verbs of wrong types
2015-08-19 08:12:45 -07:00
Sebastiaan van Stijn 59e49e1db0 Merge pull request #12927 from lindenlab/custom-host-port-ranges
Proposal: Change --publish=SPEC to allow binding to custom host port ranges
2015-08-19 17:04:23 +02:00
Soshi Katsuta 5759b95e7e integration-cli: fix printf verbs of wrong types
Signed-off-by: Soshi Katsuta <katsuta_soshi@cyberagent.co.jp>
2015-08-19 17:47:33 +09:00
Soshi Katsuta a41f431d11 integration-cli: use c.Assert(err, check.IsNil) instead of if err != nil
Signed-off-by: Soshi Katsuta <katsuta_soshi@cyberagent.co.jp>
2015-08-19 15:23:11 +09:00
Soshi Katsuta 5b870d7fa6 integration-cli: modify %s to %d in formatting an int
Signed-off-by: Soshi Katsuta <katsuta_soshi@cyberagent.co.jp>
2015-08-19 12:06:05 +09:00
Soshi Katsuta d45fcc6c80 integration-cli: add a integration test to avoid parsing null string in ADD, COPY and VOLUME to nil slice
Signed-off-by: Soshi Katsuta <katsuta_soshi@cyberagent.co.jp>
2015-08-19 11:11:46 +09:00
Tonis Tiigi 10305dc5e8 Add unless-stopped restart policy
Fixes #11008

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-18 11:39:06 -07:00
Vincent Demeester 799d9605d6 Remove/Comment time.Sleep in integration tests
Remove what seems unnecessary time.Sleep (1 second even) and comment the
ones that seemed necessary.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-18 20:36:08 +02:00
David Calavera 8aa520b8c0 Merge pull request #15649 from LK4D4/syslog_validation
Syslog validation
2015-08-18 11:14:31 -07:00
Tonis Tiigi 8eeafa058c Fix pull on client disconnect
Fixes #15589

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2015-08-18 09:41:37 -07:00
Zhang Kun 1ed15550f5 fix in daemon side
Signed-off-by: Zhang Kun <zkazure@gmail.com>

goformat

Signed-off-by: Zhang Kun <zkazure@gmail.com>

fix small

Signed-off-by: Zhang Kun <zkazure@gmail.com>

change to rm

Signed-off-by: Zhang Kun <zkazure@gmail.com>

handler other error

Signed-off-by: Zhang Kun <zkazure@gmail.com>

unique ERR

Signed-off-by: Zhang Kun <zkazure@gmail.com>

setHostConfig_fail_test

Signed-off-by: Zhang Kun <zkazure@gmail.com>

format

Signed-off-by: Zhang Kun <zkazure@gmail.com>

err handle and modify test

Signed-off-by: Zhang Kun <zkazure@gmail.com>

golint error

Signed-off-by: Zhang Kun <zkazure@gmail.com>
2015-08-18 10:06:36 +08:00
Doug Davis 29ced5d0c4 Merge pull request #15599 from calavera/ps_format_q
Fix ignore `-q` flag in `docker ps` when there is a default format.
2015-08-17 15:44:28 -07:00
Alexander Morozov 3f61002b05 Fix LogConfig.Config in inspect
Also add test for daemon-wide log-opt.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-17 15:27:44 -07:00
Alexander Morozov 960791ba60 Check syslog config on daemon start
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-08-17 14:29:45 -07:00
Brian Goff 5c88a6fdca Merge pull request #15292 from mountkin/fix-exec-test
move the assertions outside of the goroutine
2015-08-17 17:24:58 -04:00
David Calavera df46bfdd4d Fix ignore `-q` flag in `docker ps` when there is a default format.
Docker ps default format should not take precedence over cli flags.
This happens effectively for other flags except `-q`.
We need to let the cli to set the format as table to print the
expected output with `-q`.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-08-17 10:48:04 -07:00
Brian Goff 2f2779b6a5 Fix `inspect` output when no log driver specified
Config options were being ignored in the inspect output when no driver
was specified.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-17 11:35:34 -04:00
Sebastiaan van Stijn e1f3a5ad0a Merge pull request #14113 from dit4c/10348-exec-privileged
Remerge of `docker exec --privileged` with better tests
2015-08-16 00:20:41 +02:00
Arnaud Porterie bd9cc788d0 Merge pull request #15598 from cpuguy83/15570_fix_exec_tty
Fix issue with exec TTY caused by 15446
2015-08-14 19:43:04 -07:00
Don Kjer 47272f9cc5 Adding support to publish on custom host port ranges
Signed-off-by: Don Kjer <don.kjer@gmail.com>

Changing vendor/src/github.com/docker/libnetwork to match lindenlab/libnetwork custom-host-port-ranges-1.7 branch
2015-08-15 02:41:29 +00:00
Brian Goff 5ffcecf130 Fix issue with exec TTY caused by 15446
The bool logic around setting up the TTY ended up getting flipped
accidentally.
Also added a test for exec with TTY.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-14 14:55:26 -07:00
Tibor Vass 3e523ae015 Merge pull request #14530 from Microsoft/10662-serversidevalidation
Windows: [TP3] Move netmode validation to server
2015-08-14 16:05:59 -04:00
John Howard f6ed590596 Move netmode validation to server
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-14 12:17:41 -07:00
Eric Windisch 7342d59114 AppArmor: Deny w to /proc/* files
Introduce a write denial for files at the root of /proc.

This prohibits root users from performing a chmod of those
files. The rules for denials in proc are also cleaned up,
making the rules better match their targets.

Locally tested on:
- Ubuntu precise (12.04) with AppArmor 2.7
- Ubuntu trusty (14.04) with AppArmor 2.8.95

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-08-13 15:39:25 -04:00
Sebastiaan van Stijn c6c195a465 Merge pull request #13501 from vdemeester/8048-image-repository-tag
Fix #8048 : make `docker images repository:tag` work
2015-08-13 21:36:21 +02:00
Vincent Demeester 4fb88d2e11 Fix #8048 : make `docker images repository:tag` work
Make command like "docker images ubuntu:14.04" work and filter out the
image with the given tag.

Closes #8048.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-08-13 08:50:09 +02:00
Tim Dettrick 90326939c8 Updated test to check for `exec --privileged` side-effects
Also improving documentation for same feature as part of
docker/docker#14113 docs review.

Signed-off-by: Tim Dettrick <t.dettrick@uq.edu.au>
2015-08-13 16:37:20 +10:00
Tim Dettrick 03f65b3d0d Revert "Revert "Add docker exec run a command in privileged mode""
This reverts commit 40b71adee3.

Original commit (for which this is effectively a rebased version) is
72a500e9e5 and was provided by Lei Jitang
<leijitang@huawei.com>.

Signed-off-by: Tim Dettrick <t.dettrick@uq.edu.au>
2015-08-13 16:36:44 +10:00
Arnaud Porterie 697cdb8e2f Update regression test
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-12 18:46:55 -07:00
Arnaud Porterie 4f3b0d0f4a Revert #14884
This reverts commit 810d3b2642.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-12 18:46:48 -07:00
Arnaud Porterie bf892dcfcc Merge pull request #15420 from vlajos/typofixes-vlajos-20150807
typofix - https://github.com/vlajos/misspell_fixer
2015-08-08 01:08:49 -07:00
David Calavera 196aa6d62d Merge pull request #14965 from stefanberger/nohidevols2
Have network files mounted read-only when -v parameter has 'ro' passed
2015-08-07 19:10:59 -07:00
Veres Lajos 5146232723 typofix - https://github.com/vlajos/misspell_fixer
Signed-off-by: Veres Lajos <vlajos@gmail.com>
2015-08-07 23:25:49 +01:00
Zhang Wei 3d6617ffe7 fix golint warnings/errors on package api/types/
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-08-07 09:43:43 +08:00
Stefan Berger 38295d4b48 Have network files mounted read-only when -v parameter has 'ro' passed
Have network files mounted read-only when mounted using the -v
open and -v parameter has 'ro' passed.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-06 20:37:28 -04:00
Tibor Vass 57c8f4244b Merge pull request #15213 from Microsoft/10662-cliwindowsdaemon
Windows: Test infrastructure plumbing
2015-08-06 11:25:22 -04:00
Alexander Morozov af9dc3050b Merge pull request #15353 from jlhawn/fixing-concurrency-trust
[graph] Use a pipe for downloads to write progress
2015-08-05 18:52:27 -07:00
Antonio Murdaca 6805241fe2 Merge pull request #15352 from icecrime/fix_pause_tests
Use busybox in 'pause' tests
2015-08-06 03:14:44 +02:00
Josh Hawn d80c4244d3 [graph] Use a pipe for downloads to write progress
The process of pulling an image spawns a new goroutine for each layer in the
image manifest. If any of these downloads fail we would stop everything and
return the error, even though other goroutines would still be running and
writing output through a progress reader which is attached to an http response
writer. Since the request handler had already returned from the first error,
the http server panics when one of these download goroutines makes a write to
the response writer buffer.

This patch prevents this crash in the daemon http server by waiting for all of
the download goroutines to complete, even if one of them fails. Only then does
it return, terminating the request handler.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-08-05 18:13:39 -07:00
Arnaud Porterie 3529e3dac7 Use busybox in 'pause' tests
Don't assume that any random image will have 'top' and explicitely use
the busybox image for testing.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-08-05 17:35:20 -07:00
John Howard da44d0fccb Windows: Test infrastructure plumbing
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-05 14:34:32 -07:00
John Howard ac120567e8 Windows: Workaround for CI
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-08-05 11:20:30 -07:00
Shijiang Wei bb161b7789 move the assertions outside of the goroutine
Signed-off-by: Shijiang Wei <mountkin@gmail.com>
2015-08-05 13:59:31 +08:00
Doug Davis fe6a7c8e57 Another try to fix InspectExecID
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-08-04 09:21:41 -07:00
David Calavera e84a938f2e Merge pull request #15222 from jlhawn/error_on_v2pull_hash_mismatch
[Re]Enforce manifest/layer digest verification
2015-08-03 13:02:52 -07:00
Josh Hawn de52a3bcaa [graph] Enforce manifest/layer digest verification
We noticed a regression since the 1.7.1 patch after some refactoring. This
patch corrects the behavior and adds integration tests for modified manifest
and rootfs layer blobs.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-08-03 11:41:23 -07:00
Arnaud Porterie 67bca8ab8a Merge pull request #15215 from dmcgowan/notary-update
Notary updates
2015-08-03 09:06:09 -07:00
Alexander Morozov 69f3def58d Merge pull request #15225 from runcom/add-restart-always-test-on-daemon-restart
test: daemon restart with containers running with restart always policy manually stopped
2015-08-03 08:40:44 -07:00
Antonio Murdaca af59c80b4a test: daemon restart with containers running with restart always policy
manually stopped

If a container is running with a restart policy of always and it's
manually stopped, then on daemon restart it will be running.

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-08-02 11:14:01 +02:00
Mohammed Aaqib Ansari 84c9a6684f skipping test TestRunCapAddSYSTIME on lxc
Signed-off-by: Mohammed Aaqib Ansari <maaquib@gmail.com>
2015-07-31 22:07:40 -04:00
Derek McGowan 6ce76cd9ed Updated to use latest version of notary
Update UX to use aliases for root, snapshot, and target key

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-31 17:32:35 -07:00
David Calavera 9e9f3aa36b Merge pull request #15185 from aboch/vnd_lbn_1.8
Vendoring libnetwork 31139cdb513aea5ad1ed08b60d4350a68b4c96db
2015-07-31 08:58:41 -07:00
Brian Goff 5276655b69 Merge pull request #14463 from sunyuan3/TestRunCapAddSYSTIME
Add TestRunCapAddSYSTIME test case.
2015-07-31 09:40:12 -04:00
Tibor Vass 1032202b88 Merge pull request #15193 from jfrazelle/fix-lxc
fix lxc test machine
2015-07-31 09:13:52 -04:00
Brian Goff 468bc7d819 Merge pull request #15191 from duglin/TlsTest
Add a test to make sure that --tlsverify=false turns on tls in daemon
2015-07-31 08:54:35 -04:00
Yuan Sun a5e2fa2b2e Add TestRunCapAddSYSTIME test case.
Signed-off-by: Yuan Sun <sunyuan3@huawei.com>
2015-07-31 12:53:46 +08:00
Jessica Frazelle f12e18d7ef fix lxc test machine
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-07-30 21:30:47 -07:00
Doug Davis 5ced3ab323 Add a test to make sure that --tlsverify=false turn on tls in daemon
Signed-off-by: Doug Davis <dug@us.ibm.com>
2015-07-30 21:21:24 -07:00
Tibor Vass 8d2739df98 Merge pull request #15146 from kolyshkin/mkdirall
Simplify and fix MkdirAll usage
2015-07-30 22:40:57 -04:00
Alessandro Boch 4964ab0821 Add test code to cover issue #14859
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-07-30 17:37:11 -07:00
Josh Hawn 75f6929b44 Fix `docker cp` Behavior With Symlinks
[pkg/archive] Update archive/copy path handling

  - Remove unused TarOptions.Name field.
  - Add new TarOptions.RebaseNames field.
  - Update some of the logic around path dir/base splitting.
  - Update some of the logic behind archive entry name rebasing.

[api/types] Add LinkTarget field to PathStat

[daemon] Fix stat, archive, extract of symlinks

  These operations *should* resolve symlinks that are in the path but if the
  resource itself is a symlink then it *should not* be resolved. This patch
  puts this logic into a common function `resolvePath` which resolves symlinks
  of the path's dir in scope of the container rootfs but does not resolve the
  final element of the path. Now archive, extract, and stat operations will
  return symlinks if the path is indeed a symlink.

[api/client] Update cp path hanling

[docs/reference/api] Update description of stat

  Add the linkTarget field to the header of the archive endpoint.
  Remove path field.

[integration-cli] Fix/Add cp symlink test cases

  Copying a symlink should do just that: copy the symlink NOT
  copy the target of the symlink. Also, the resulting file from
  the copy should have the name of the symlink NOT the name of
  the target file.

  Copying to a symlink should copy to the symlink target and not
  modify the symlink itself.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-30 12:14:28 -07:00
Tibor Vass a687448c4d Merge pull request #15163 from crosbymichael/proc-ro
Don't mount /proc as ro
2015-07-30 15:12:29 -04:00
Kir Kolyshkin a83a769347 Simplify and fix os.MkdirAll() usage
TL;DR: check for IsExist(err) after a failed MkdirAll() is both
redundant and wrong -- so two reasons to remove it.

Quoting MkdirAll documentation:

> MkdirAll creates a directory named path, along with any necessary
> parents, and returns nil, or else returns an error. If path
> is already a directory, MkdirAll does nothing and returns nil.

This means two things:

1. If a directory to be created already exists, no error is returned.

2. If the error returned is IsExist (EEXIST), it means there exists
a non-directory with the same name as MkdirAll need to use for
directory. Example: we want to MkdirAll("a/b"), but file "a"
(or "a/b") already exists, so MkdirAll fails.

The above is a theory, based on quoted documentation and my UNIX
knowledge.

3. In practice, though, current MkdirAll implementation [1] returns
ENOTDIR in most of cases described in #2, with the exception when
there is a race between MkdirAll and someone else creating the
last component of MkdirAll argument as a file. In this very case
MkdirAll() will indeed return EEXIST.

Because of #1, IsExist check after MkdirAll is not needed.

Because of #2 and #3, ignoring IsExist error is just plain wrong,
as directory we require is not created. It's cleaner to report
the error now.

Note this error is all over the tree, I guess due to copy-paste,
or trying to follow the same usage pattern as for Mkdir(),
or some not quite correct examples on the Internet.

[v2: a separate aufs commit is merged into this one]

[1] https://github.com/golang/go/blob/f9ed2f75/src/os/path.go

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
2015-07-30 11:48:08 -07:00
Eric Windisch f5c388b35a Only explicitly deny ptrace for container-originated procs
The 'deny ptrace' statement was supposed to only ignore
ptrace failures in the AUDIT log. However, ptrace was implicitly
allowed from unconfined processes (such as the docker daemon and
its integration tests) due to the abstractions/base include.

This rule narrows the definition such that it will only ignore
the failures originating inside of the container and will not
cause denials when the daemon or its tests ptrace inside processes.

Introduces positive and negative tests for ptrace /w apparmor.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-30 14:40:28 -04:00
Michael Crosby bfc51cf660 Don't mount /proc as ro
This caused a regression with LSM labeling.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-07-30 10:57:50 -07:00
Arnaud Porterie b71cf69380 Merge pull request #15132 from LK4D4/improve_test
Fix message and add additional check to test
2015-07-29 17:36:11 -07:00
Arnaud Porterie d94aeb2876 Merge pull request #14980 from jlhawn/build_tag_resolved_digests
[api/client] Tag resolved digest from Dockerfile
2015-07-29 16:52:14 -07:00
Arnaud Porterie 4a71323ec3 Merge pull request #15098 from calavera/backwards_compat_kill_error
Keep backwards compatibility in kill api.
2015-07-29 16:42:36 -07:00
Eric Windisch 5832715052 Fix the proc integration test & include missing AA profile
Integration tests were failing due to proc filter behavior
changes with new apparmor policies.

Also include the missing docker-unconfined policy resolving
potential startup errors. This policy is complain-only so
it should behave identically to the standard unconfined policy,
but will not apply system path-based policies within containers.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-29 17:08:51 -04:00
Alexander Morozov 0f85fadb4e Merge pull request #15133 from dmcgowan/notary-fix-test-date
Skip notary tests which update system clock
2015-07-29 12:51:05 -07:00
Derek McGowan bf3c1e6a3a Skip notary tests which update system clock
Currently some notary tests change the system clock to check for expiration.
Skip these tests until the code can be refactored to not rely on updating the system clock.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-29 12:09:40 -07:00
Alexander Morozov 0d09439ace Fix message and add additional check to TestBuildContainerWithCgroupParent
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-29 11:46:33 -07:00
Jessie Frazelle d7661cb48b Merge pull request #15099 from ewindisch/apparmor-restore-en
Restore AppArmor generation + fixes
2015-07-29 09:36:59 -07:00
Alexander Morozov 6bca8ec3c9 Replace GenerateRandomID with GenerateNonCryptoID
This allow us to avoid entropy usage in non-crypto critical places.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-28 22:31:01 -07:00
Josh Hawn bb2e6c72d2 [api/client] Tag resolved digest from Dockerfile
Builds where the base images have been resolved to trusted digest
references will now be tagged with the original tag reference from
the Dockerfile on a successful build.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-28 17:54:48 -07:00
Eric Windisch 3edc88f76d Restore AppArmor profile generation
Will attempt to load profiles automatically. If loading fails
but the profiles are already loaded, execution will continue.

A hard failure will only occur if Docker cannot load
the profiles *and* they have not already been loaded via
some other means.

Also introduces documentation for AppArmor.

Signed-off-by: Eric Windisch <eric@windisch.us>
2015-07-28 17:45:51 -04:00
David Calavera 621e3d8587 Keep backwards compatibility in kill api.
Return an error when the container is stopped only in api versions
equal or greater than 1.20 (docker 1.8).

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-28 12:25:36 -07:00
Qiang Huang fed85c3296 Add status string to State field for inspect
Fixes: #13579

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
2015-07-28 08:48:27 +08:00
Chris Seto 83cb288575 Skip DockerSuite.TestExecResizeImmediatelyAfterExecStart on lxc
Signed-off-by: Chris Seto <chriskseto@gmail.com>
2015-07-27 19:20:15 -04:00