Commit graph

1965 commits

Author SHA1 Message Date
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