Commit Graph

415 Commits

Author SHA1 Message Date
5bcb28804b Merge pull request #22268 from Microsoft/jjh/continuationescape
Support platform semantic file paths through ESCAPE
Upstream-commit: 8e924153e219d040e3aa672df4e0c7baff9f8d8b
Component: engine
2016-05-26 10:00:56 -07:00
4197623885 Reimplementing more builder integration tests as unit tests
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
Upstream-commit: cf2611f3239d18919e437e82554cec178028612e
Component: engine
2016-05-22 01:00:57 +02:00
886f3ce26b Support platform file paths through escape
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: e8e3dd32c5bad727010ec787f484b98942977531
Component: engine
2016-05-20 20:29:59 -07:00
e033d6beca Merge pull request #22462 from Microsoft/jjh/22181unittests
Windows: Reduce CLI time, move some to unit tests
Upstream-commit: 9de21de4531e01169d903751ab48a29457769610
Component: engine
2016-05-13 00:27:29 +02:00
af05fef951 Reimplementing builder integration tests as unit tests
Signed-off-by: Tomasz Kopczynski <tomek@kopczynski.net.pl>
Upstream-commit: 18eeb399852b7efe9459a1d77b0a5032a6b88bba
Component: engine
2016-05-11 22:13:39 +02:00
d1aa34c3d1 Windows: Reduce CLI time, move some to unit tests
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: faab71701f710a8862e71d4ecd6a86cef49f67b9
Component: engine
2016-05-06 12:26:08 -07:00
b06eb99229 Windows: Support ARG in builder
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 6b5c83bf18fe406e397c001acb0a1d9d7e147fd9
Component: engine
2016-05-04 14:32:23 -07:00
da56d24b50 Merge pull request #22269 from coolljt0725/skip
Skip TestBuildNotVerboseFailure if no network
Upstream-commit: bf7307558e42e0ad9f41316f397d880e6d4981b6
Component: engine
2016-04-28 11:19:56 +02:00
600e267c7f Skip TestBuildNotVerboseFailure if no network
TestBuildNotVerboseFailure use a non-exist image busybox1,
it requires network connection to access to Dockerhub, skip
this test if there is no network.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 9ab0aa43365cd648d7681a58b60e91f791bc920a
Component: engine
2016-04-27 21:29:05 -04:00
7cba2b7aed Merge pull request #22181 from Microsoft/jjh/workdir
Windows: Consistent build workdir handling
Upstream-commit: 2b97201e0cd8301484fde379d2bf7f0ad3f36f10
Component: engine
2016-04-26 16:51:09 -07:00
51ef85c587 Windows: Consistent build workdir handling
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 0433801093f1988db0e210e28352f4af71a0ac81
Component: engine
2016-04-26 15:32:52 -07:00
70a36f55d4 Labels set on the command line always override labels in Dockerfile
This fix tries to address the inconsistency in #22036 where labels
set on the command line will not override labels specified in
Dockerfile, but will override labels inherited from `FROM` images.

The fix add a LABEL with command line options at the end of the
processed Dockerfile so that command line options labels always
override the LABEL in Dockerfiles (or through `FROM`).

An integration test has been added for test cases specified in #22036.

This fix fixes #22036.

NOTE: Some changes are from #22266 (@tiborvass).

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 5844736c14b29860ea03b040e9a052e59ad75bfc
Component: engine
2016-04-23 18:49:17 -07:00
430ab207ac Windows: Set default directory
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: c2d183426ba2fb4e850dc006d3ad3cc3bd86cc24
Component: engine
2016-04-18 15:59:41 -07:00
de95cbad37 Get events until a time in the past.
This change allow to filter events that happened in the past
without waiting for future events. Example:

docker events --since -1h --until -30m

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 55053d3537100eaeaad9c83b43e31f22d14fde7b
Component: engine
2016-04-14 16:22:16 -07:00
783220b8bb Apply build labels to images with only a FROM tag.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 1a85c8ebbe1ab508bcd47b883b9732c032509503
Component: engine
2016-03-30 17:28:13 -04:00
02220a45c4 Merge pull request #21270 from ehazlett/resource-labels
Add Label support for Images (build), Networks and Volumes on Creation
Upstream-commit: 53d2e5e9d754ce8fbef733759e9ec450514133e3
Component: engine
2016-03-22 15:12:33 -04:00
fe56b4ef22 add label support for build, networks and volumes
build: implement --label

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

network: allow adding labels on create

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

volume: allow adding labels on create

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

add tests for build, network, volume

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

vendor: libnetwork and engine-api bump

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
Upstream-commit: fc214b4408d915e3510f61c7584ca01c176d1373
Component: engine
2016-03-22 11:49:06 -04:00
ffcbf49a63 Pull, Pull-A, and Build will only pull tags from the targets role or the targets/releases role.
It will ignore tags in all other delegation roles.

Signed-off-by: cyli <cyli@twistedmatrix.com>
Upstream-commit: 623ccc2f319ec28929c75a09bba76916c84f0d2b
Component: engine
2016-03-21 10:56:49 -07:00
f9e5200e21 distribution: errors: do not access the errors slice if it's empty
- cherry-pick from 1.10.3 branch: 0186f4d4223a094a050d06f456355da3ae431468
- add token service test suite
- add integration test (missing in 1.10.3 branch)

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 1b5c2e1d722757a55364fb45cf3fcec7f2c75fb4
Component: engine
2016-03-16 09:00:39 +01:00
96d657135e Fix CopyWithTar creation of new destination dir as remapped root
If the destination does not exist, it needs to be created with ownership
mapping to the remapped uid/gid ranges if user namespaces are enabled.
This fixes ADD operations, similar to the prior fixes for COPY and WORKDIR.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 06d95003b3ddd22d26121280d645e48582a4f931
Component: engine
2016-03-12 23:05:45 -05:00
578f7ee12a Optimized integration test case DockerSuite.TestBuildUsersAndGroups for #19425
Removed unnecessary RUN statements and combined some of the RUN statement into a single line.

The runtime performance is seen as follows:
pre-change:
PASS: docker_cli_build_test.go:3826: DockerSuite.TestBuildUsersAndGroups
63.074s

post-change:
PASS: docker_cli_build_test.go:3826: DockerSuite.TestBuildUsersAndGroups
49.698s

Signed-off-by: Anil Belur <askb23@gmail.com>
Upstream-commit: deeb5c95e2eaa58d4490cb126839b8bc41e5ba08
Component: engine
2016-03-09 18:00:56 +05:30
98685a6505 Ensure WORKDIR is created with remapped root ownership
Correct creation of a non-existing WORKDIR during docker build to use
remapped root uid/gid on mkdir

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 799a6b94ee661022d66f88a009ff58f08eb5a2c3
Component: engine
2016-03-08 11:58:55 -05:00
b93d0a36d8 Optimize slow bottleneck test of DockerSuite.TestBuildDockerignoringWildDirs.
This PR fix the DockerSuite.TestBuildDockerignoringWildDirs test
in #19425.
Instead of having multiple RUN instructions in Dockerfile for every
single directory tested, this PR tries to collapse multiple RUN
instructions into one RUN instruction in Dockerfile.
When a docker image is built, each RUN instruction in Dockerfile
will generate one layer in history. It takes considerable amount of
time to build many layers if there are many RUN instructions within
the Dockerfile. Collapsing into one RUN instruction not only speeds
up the execution significantly, it also conforms to the general
guideline of the Dockerfile reference.
Since the test (DockerSuite.TestBuildDockerignoringWildDirs) is
really about testing the docker build with ignoring wild
directories, the purpose of the test is not altered with this PR
fix.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: c77bb28dfb4e248005ed0c447df9d11d1822e133
Component: engine
2016-03-03 23:16:10 +00:00
049d8d3bcf cliconfig: credentials: support getting all auths
docker build is broken because it sends to the daemon the full
cliconfig file which has only Email(s). This patch retrieves all auth
configs from the credentials store.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 44152144ca766221e97fdaa5200fec3557a64f58
Component: engine
2016-03-02 17:48:56 +01:00
afc4d63ffe Merge pull request #20565 from kencochrane/remove_email_on_login
Remove email address field from login
Upstream-commit: 2453262e7ba131fede74dbf31df41da9d2f36c34
Component: engine
2016-03-01 08:02:16 -08:00
2919d69a0c Remove email address field from login
This removes the email prompt when you use docker login, and also removes the ability to register via the docker cli. Docker login, will strictly be used for logging into a registry server.

Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
Upstream-commit: aee260d4eb3aa0fc86ee5038010b7bbc24512ae5
Component: engine
2016-02-29 17:53:27 -08:00
6a88816da7 Merge pull request #20782 from estesp/new-parent-dir-ownership
Fix ownership of non-existing parent dir
Upstream-commit: 67b16c73818726d9818d0229fa6cdda3e5f698b0
Component: engine
2016-03-01 01:45:38 +01:00
848fd14888 Fix ownership of non-existing parent dir
During "COPY" or other tar unpack operations, a target/destination
parent dir might not exist and should be created with ownership of the
root in the right context (including remapped root when user namespaces
are enabled)

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 7a61b9ae425e5c100da2bb32b929031c6302b3fb
Component: engine
2016-02-29 09:14:23 -05:00
98394b0b6e Vendor engine-api to 70d266e96080e3c3d63c55a4d8659e00ac1f7e6c
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 53b0d62683ee798198c553353dc2106623a9259b
Component: engine
2016-02-29 19:28:37 +08:00
cfd2e7e48d Support TLS remote test daemon
This will allow us to have a windows-to-linux CI, where the linux host
can be anywhere, connecting with TLS.

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: f4a1e3db998816e5fcb0df56c29519c488890464
Component: engine
2016-02-25 14:12:17 -05:00
6be195136a Sixth set of TestBuild CI Enabling for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 5fc0de2688da4fbe010980a832d8f73bff4be444
Component: engine
2016-02-13 20:54:59 -08:00
05e211a98f Merge pull request #20290 from calavera/fix_stop_signal_merge
Inherit StopSignal from Dockerfile.
Upstream-commit: 5a9a435d40fb238b627c9e31858b6e31ae38ec53
Component: engine
2016-02-13 09:26:11 +01:00
663efc4f39 Inherit StopSignal from Dockerfile.
Make sure the image configuration is not overriden by the default
value in the `create` flag.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: a252516ec19c9c83055a882da894712f2e812ecc
Component: engine
2016-02-12 17:56:40 -05:00
5d5044b24f Pass authentication credentials through to build
In Docker 1.10 and earlier, "docker build" can do a build FROM a private
repository that hasn't yet been pulled. This doesn't work on master. I
bisected this to https://github.com/docker/docker/pull/19414.
AuthConfigs is deserialized from the HTTP request, but not included in
the builder options.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 6fed46aeb97943315aed12f2dc62565f7bcc53dc
Component: engine
2016-02-12 10:50:16 -08:00
c35751d5f0 Merge pull request #20170 from Microsoft/10662-TestBuildCI5
Fifth set of TestBuild CI enables for Windows
Upstream-commit: 9be87be582f1c4539e84385c1ac917418c015cdd
Component: engine
2016-02-10 16:02:26 -08:00
104ddcecd2 Fifth set of TestBuild CI enables for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 0adcce10a1b9373c0926eaee1269f50765a49f02
Component: engine
2016-02-10 12:37:58 -08:00
dd3f7fc6e9 Third set of TestBuild* CI enabling for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 4603a7259e133f5fdcb9e7856ca857338b26dd38
Component: engine
2016-02-09 15:19:38 -08:00
7d8fc9149c Merge pull request #19985 from Microsoft/CombineSetupWorkingDir
Combine SetupWorkingDirectory for Linux and Windows
Upstream-commit: d6870238e329e43d2df291a5f82d27929f9a192d
Component: engine
2016-02-09 15:18:49 -08:00
7d584ec835 Fourth set of enabling Builder CI tests for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: eed648ac5ac50a17a5202bd7a0b00738727f9e0f
Component: engine
2016-02-05 17:46:06 -08:00
2fc41c0b8b Combine SetupWorkingDirectory for Linux and Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 6791230320fa9f8ae9df3e90d5c52d85621828a0
Component: engine
2016-02-05 10:27:10 -08:00
495762f74d Move base image selection to a utility function
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 96c522162634ff4d5e55ddf2ff841921a99b7b09
Component: engine
2016-02-04 15:06:34 -08:00
f274470025 Merge pull request #19695 from Microsoft/10662-TestBuildCI2
Second set of enabling TestBuild CI for Windows
Upstream-commit: c2d6831fc498383be0ba9e555e3ab3139b844bb9
Component: engine
2016-02-01 16:29:52 +01:00
9d6400f4f2 Merge pull request #19805 from WeiZhang555/test-inspect
Make test code consistent
Upstream-commit: 35ef3efe9af64c22c7efbe826f8f63b025639130
Component: engine
2016-01-29 12:43:58 -08:00
8bc92ae008 Assert error in body of function inspectField*
1. Replace raw `docker inspect -f xxx` with `inspectField`, to make code
cleaner and more consistent
2. assert the error in function `inspectField*` so we don't need to
assert the return value of it every time, this will make inspect easier.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: 62a856e9129c9d5cf7db9ea6322c9073d68e3ea4
Component: engine
2016-01-29 23:39:07 +08:00
ab0f4d1d1d Second set of enabling TestBuild CI for Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 2b95f012db167e15c72bf30c7f3abbd879f77a42
Component: engine
2016-01-28 13:43:22 -08:00
3c263eb202 First batch of Windows-Windows TestBuild CI enabling
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 563a4d1b9f75eed5531565e70a3518cab16fa825
Component: engine
2016-01-26 12:15:13 -08:00
7952047ef0 Slight TestBuildEnvUsage2 speedup
TestBuildEnvUsage2 was flagged in https://github.com/docker/docker/issues/19425
as one of the slowest integration tests. It's slow because it has some
comprehensive builder test cases that end up creating a lot of layers.
Even with a busybox base image, this can be expensive. It's not possible
to build "FROM scratch" because the test cases need the shell to ensure
environment variables are set correctly.

Some of the ENV and RUN statements can be combined. This causes fewer
layers to get created. Doing this produces a marginal improvement in the
runtime.

Before:

    PASS: docker_cli_build_test.go:3956: DockerSuite.TestBuildEnvUsage2 43.619s

After:

    PASS: docker_cli_build_test.go:3956: DockerSuite.TestBuildEnvUsage2 31.286s

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 74fafa5dd202f9134989f3880aec17665b652da7
Component: engine
2016-01-22 17:13:50 -08:00
dca237fb71 api: client: build: do not fall through if git isn't installed
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 167cc42986c8939c7aacf73570adaf19b8cad0b3
Component: engine
2016-01-19 16:50:14 +01:00
a939b26632 Windows: Fix test regression from 19155
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: d3392a3bdecca4b79e1ea942595f05c03fcd5995
Component: engine
2016-01-14 12:00:27 -08:00
980beea08a Merge pull request #19155 from coolljt0725/create_cwd_on_create
Create the working directory on container creation
Upstream-commit: a225e39667d7ddd2345326bc5cd3b1ce15fd0bad
Component: engine
2016-01-14 09:13:44 -08:00