Commit Graph

491 Commits

Author SHA1 Message Date
c01c194858 Updates some integration tests to fix userns builds
- `TestRunMountReadOnlyDevShm` and `TestRunHostnameInHostMode` needs
  `NotUserNamespace` requirement as these are known limitation of
  userns.
- `TestBuildWorkdirCmd` should use a preload image (`busybox`) instead
  of one that require network access.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: bc19388fb239b1aa761d323405a7d6a6362845f4
Component: engine
2017-01-02 19:13:26 +01:00
9966a465fe Merge pull request #29799 from vdemeester/integration-registry-package
[test-integration] Add a registry package with registry v1/v2 code
Upstream-commit: ed689c48b08f393fbb652681b9b3e859380ae5e3
Component: engine
2017-01-02 15:37:09 +01:00
ee40f7aac0 Add a registry package with registry v1/v2 code
This extract what was in registry_test.go and
registry_mock_test.go. This also move `RegistryHosting`
requirement to `registry.Hosting`

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 4300e5e8818571a55e00d9987bec3ad6ca92dc6f
Component: engine
2017-01-02 11:03:53 +01:00
2758f0996d Remove pkg/integration and move it to testutil or integration-cli
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 33968e6c7df164fff0a882c50ae7f4f7e6190e4b
Component: engine
2016-12-30 18:26:34 +01:00
5732c11db2 Merge pull request #29371 from vdemeester/clean-integration-utils
[test-integration] Clean utils.go from most of its content
Upstream-commit: 021710fcdf61308657b8a25bbf23019535dcdd81
Component: engine
2016-12-29 09:28:46 +01:00
2f9b83d720 Clean integration-cli/utils.go from most of its content
Most of the code is now on pkg/integration.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: def13fa23c812d367e3c61d9c39bdcee66929c17
Component: engine
2016-12-28 19:05:48 +01:00
4fcf2cd7b7 Fix image's CMD after WORKDIR in Dockerfile
This fix tries to fix 29667 where image's `CMD` is modified
after `WORKDIR` in Dockerfile.

The value of `b.runConfig.Cmd` was modified in the processing
of `WORKDIR`, in order to fix 28902. However, the same
`b.runConfig.Cmd` is passed to `commit()`.

This fix restored the `b.runConfig.Cmd` before `commit()`
the image for `WORKDIR`.

A test has been added.

This fix fixes 29667.

This fix is related to 28902, 28909, 28514.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 083602384737635af9a89b75a6ca6d27f7515dc6
Component: engine
2016-12-26 20:43:29 -08:00
ce009b27d8 Fix processing of unset build-args during build
This reverts 26103.  26103 was trying to make it so that if someone did:
  docker build --build-arg FOO .
and FOO wasn't set as an env var then it would pick-up FOO from the
Dockerfile's ARG cmd.  However, it went too far and removed the ability
to specify a build arg w/o any value. Meaning it required the --build-arg
param to always be in the form "name=value", and not just "name".

This PR does the right fix - it allows just "name" and it'll grab the value
from the env vars if set. If "name" isn't set in the env then it still needs
to send "name" to the server so that a warning can be printed about an
unused --build-arg. And this is why buildArgs in the options is now a
*string instead of just a string - 'nil' == mentioned but no value.

Closes #29084

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: cdb8ea90b04683adb25c8ccd71b6eaedc44b51e2
Component: engine
2016-12-07 07:41:55 -08:00
e8c489744e Revert "Fix dockerfile parser with empty line after escape"
This reverts commit 3e1b539e8d0ed4abf695b0a8c42346fba6d5a6b0.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 6e0666e622a8b1fc19c19eb490d218eebca15edc
Component: engine
2016-12-02 14:15:55 +01:00
f53ec9c3d1 Windows: Builder case insensitive env
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 49f392ff6b528d571eac538f5365bd51c4c83e5c
Component: engine
2016-11-28 10:30:45 -08:00
e12f9af05e COPY file . after WORKDIR (now always created)
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 286ab6d69bb999f5fcbdfdcac50bb8d65bb50c56
Component: engine
2016-11-23 09:56:02 -08:00
d4244fefc2 Merge pull request #28415 from Microsoft/jjh/builduser
Windows: Allow `USER` in builder
Upstream-commit: 0a5a41a438ae4fef2fc1f8f8935721f1e3f28769
Component: engine
2016-11-17 10:32:56 -08:00
3e22d4d10e Windows: Revert 27884
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 7e03ce3f13baa61ce5547574163059b712b37025
Component: engine
2016-11-16 13:38:45 -08:00
b8e423e3ed Windows: Allow user in builder
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: a3c4ab9b657018cf6fc33e70a44c790563c16043
Component: engine
2016-11-14 14:10:47 -08:00
5656296e4b Use naive diff for overlay2 when opaque copy up bug present
When running on a kernel which is not patched for the copy up bug
overlay2 will use the naive diff driver.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: 64b43ed5ecf3e805bd72bd6a9493c8c5d08478aa
Component: engine
2016-11-09 13:42:10 -08:00
d1279f3328 Fix case where \\ at EOF made the builder ignore the command
Came from looking at issue #27545

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: eaf0b5708fc91ab0c78eeee1a2c9c1251439d4a8
Component: engine
2016-11-03 05:48:49 -07:00
9e9fd11160 Merge pull request #22641 from cpuguy83/build_finalization
Adds ability to flatten image after build
Upstream-commit: 22f3e43e9a35711bb63108f1714840a92a4b138e
Component: engine
2016-11-01 14:30:18 -07:00
c7c95dc226 Adds ability to squash image after build
Allow built images to be squash to scratch.
Squashing does not destroy any images or layers, and preserves the
build cache.

Introduce a new CLI argument --squash to docker build
Introduce a new param to the build API endpoint `squash`

Once the build is complete, docker creates a new image loading the diffs
from each layer into a single new layer and references all the parent's
layers.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 362369b4bbea38881402d281ee2015d16e8b10ce
Component: engine
2016-11-01 13:41:59 -04:00
bedb3b19ee Convert Unused ARG error to warning
Signed-off-by: Addam Hardy <addam.hardy@gmail.com>
Upstream-commit: f150f42009dddb4f9b8d4ceef8763af701b0d0f9
Component: engine
2016-10-31 21:42:50 -05:00
27e4d0d0fb Windows: Fix COPY file . after WORKDIR
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: f0b93b6ed8b4c0776065be972b4d5b4611f25fbf
Component: engine
2016-10-30 13:12:27 -07:00
d280390d0c Merge pull request #24725 from yongtang/24693-dockerfile-empty-line-after-escape
Fix dockerfile parser with empty line after escape
Upstream-commit: c5adc271b2991c1eb8a25cdab14e425edb2cd99b
Component: engine
2016-10-28 13:53:15 -07:00
5c99e2a951 Merge pull request #27805 from Microsoft/jjh/fixbuildercache
Windows: Fix builder cache bug
Upstream-commit: 9e206b551288c5197a2523ad0f887341972d75c8
Component: engine
2016-10-28 02:49:40 +02:00
6ef00270be Windows: Fix builder cache bug
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 4f3889e4be9fe518e9be73306a8716c3a5f4b1c6
Component: engine
2016-10-27 12:27:30 -07:00
bad2fec338 Fix dockerfile parser with empty line after escape
This fix tries to fix the bug reported by #24693 where an empty
line after escape will not be stopped by the parser.

This fix addresses this issue by stop the parser from continue
with an empty line after escape.

An additional integration test has been added.

This fix fixes #24693.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 3e1b539e8d0ed4abf695b0a8c42346fba6d5a6b0
Component: engine
2016-10-27 10:43:08 -07:00
b63aa05761 Merge pull request #27702 from tonistiigi/net-builder0
add --network option for docker build
Upstream-commit: 62ff3e90835c3c572051afbbbac53303e57a5c89
Component: engine
2016-10-25 21:50:33 -07:00
ca14deb769 Add integration tests for build with network opts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: e3b48fca0db71cc24270dcf254590541279980d4
Component: engine
2016-10-25 10:25:42 -07:00
adbaf3869a Windows: Honour escape directive fully
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 912781841422363219e064a1df6df39dabf4cd81
Component: engine
2016-10-21 14:22:14 -07:00
2fac2c1b97 [test] fix failure of TestBuildLabelsOverride on Windows
TestBuildLabelsOverride was consistently failing due to "Windows does not support FROM scratch" error

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: bb17d1fabbd75d76edb8bf26e006ff0238ba8c00
Component: engine
2016-10-16 11:05:31 +00:00
086cdbe518 Merge pull request #27174 from duglin/Issue26027
Don't env-var evaluate labels from docker build cmd line
Upstream-commit: 6f54d70a54d8d711e2b9d1e2578d45682e7130b8
Component: engine
2016-10-14 20:57:41 -07:00
b38cf86690 Enabled more test on Windows, API and Build
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 6482410c9d708d0979aedfc65c156eba835cefb3
Component: engine
2016-10-06 17:18:42 -07:00
49c4720cde Enable more build tests on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 443d7313f5fd23dd7fac7fe8ec70c9a8afdb9d9e
Component: engine
2016-10-06 00:53:30 -07:00
0f8abc83e4 Don't env-var evaluate labels from docker build cmd line
Fixes #26027

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 28a9a7deb002f3c86cb59dbd02ee75435e7fe1e2
Component: engine
2016-10-05 18:17:02 -07:00
5bbd3d9214 Require continuation char to be last char in a line
While look at #27039 I noticed that we allow for whitespace after
the continuation char (\\) which is wrong. It needs to be the very
last char in the line.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 105bc63295a7126798d3722a0e205c5ead4e2b1c
Component: engine
2016-10-04 09:38:00 -07:00
ed910442b7 [nit] integration-cli: obey Go's naming convention
No substantial code change.

 - Api         --> API
 - Cli         --> CLI
 - Http, Https --> HTTP, HTTPS
 - Id          --> ID
 - Uid,Gid,Pid --> UID,PID,PID
 - Ipam        --> IPAM
 - Tls         --> TLS (TestDaemonNoTlsCliTlsVerifyWithEnv --> TestDaemonTLSVerifyIssue13964)

Didn't touch in this commit:
 - Git: because it is officially "Git": https://git-scm.com/
 - Tar: because it is officially "Tar": https://www.gnu.org/software/tar/
 - Cpu, Nat, Mac, Ipc, Shm: for keeping a consistency with existing production code (not changable, for compatibility)

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: 7fb7a477d79c67ab53c432977780662ccbfeec57
Component: engine
2016-09-30 01:21:05 +00:00
a5f8803b6c Add integration test for build —cache-from
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 4b8e680bcc4864020effe46560a57098e0dc4c35
Component: engine
2016-09-23 11:30:34 -07:00
a0b2adc110 Merge pull request #26516 from yongtang/26453-build-bad-syntax
Check bad syntax on dockerfile before building.
Upstream-commit: 72f556a9ff1043a4188e8eeef892d8a0ba4fe34f
Component: engine
2016-09-23 12:24:20 +02:00
d129fb411b Windows: Remove hard coded base image
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 34fe27f153386d07509fc7bb8363d0166ef9cda3
Component: engine
2016-09-22 09:57:35 -07:00
91744d608c Windows: Remove interim build hacks from tests
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: b52c3ec4a45ee89d8ad713a16566fd470b4b5bf1
Component: engine
2016-09-21 11:11:13 -07:00
3a18bebe6e Merge pull request #26553 from darrenstahlmsft/FixWildcard
Windows: Fix wildcard expansion after slash in filename
Upstream-commit: 39f5d97cde3f93953be3c9172034b83d61bff710
Component: engine
2016-09-14 16:56:35 -07:00
efe814ccf6 Windows: Fix wildcard expansion after slash in filename
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: 309056648c8263aca388e679179464e59a9f52c8
Component: engine
2016-09-14 11:40:57 -07:00
9a730a715e Check bad syntax on dockerfile before building.
This fix tries to address the issue raised in 26453 where bad syntax
on dockerfile is not checked before building, thus user has to wait
before seeing error in dockerfile.

This fix fixes the issue by evaluating all the instructions and check
syntax before dockerfile is invoked actually.

All existing tests pass.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: c8dc2b156a079ce03db8f579094b9643632661a8
Component: engine
2016-09-13 21:43:10 -07:00
b5041bd104 Windows: Enable more build tests
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: e79b0b42f074ced1814010974ffad47d0d3d24d0
Component: engine
2016-09-13 17:43:27 -07:00
4e9c99c3b4 Don't attempt to evaluate drive root on Windows
Signed-off-by: Darren Stahl <darst@microsoft.com>
Upstream-commit: fdce2a7775ec80d769f585c0a400c6cf6615776b
Component: engine
2016-09-08 13:52:54 -07:00
9968a690ca Windows CI: Enable some more build tests
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: ede6163ec684efd04faffa8ce6d7f4213fe08c75
Component: engine
2016-09-01 16:27:04 -07:00
873d669a48 Windows: Enable multiple cli build tests
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: bb4b31585c19b5d20a536c615e54b2fe48f8054c
Component: engine
2016-08-30 09:51:13 -07:00
8ad0a6fe8f Fix tests and windows service.
Support args to RunCommand
Fix docker help text test.
Fix for ipv6 tests.
Fix TLSverify option.
Fix TestDaemonDiscoveryBackendConfigReload
Use tempfile for another test.
Restore missing flag.
Fix tests for removal of shlex.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 6e7405ebd4df360bc84f651c977ece31283eb3ee
Component: engine
2016-08-25 13:09:36 -04:00
0d4234bb46 Change to use c.Assert() instead of result.Assert()
Fix delete containers and make sure it prints errors correctly.
Rename Result.Fails to Result.Assert()
Create a constant for the default expected.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 243885808f5c69143679d094d964d333c47e69bf
Component: engine
2016-08-23 15:12:36 -04:00
eaa727c6e2 Create a unified RunCommand function with Assert()
Remove some run functions and replace them with the unified run command.
Remove DockerCmdWithStdoutStderr
Remove many duplicate runCommand functions.
Also add dockerCmdWithResult()
Allow Result.Assert() to ignore the error message if an exit status is expected.
Fix race in DockerSuite.TestDockerInspectMultipleNetwork
Fix flaky test DockerSuite.TestRunInteractiveWithRestartPolicy

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: d7022f2b46589cb9d860219e1d8278351ba147c3
Component: engine
2016-08-23 15:11:46 -04:00
2b0a71c4f1 Remove unnecessary json.Unmarshal wrapper.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: fb42e8477208badf0714a9d8ae20946a9b531dba
Component: engine
2016-08-23 15:11:46 -04:00
5f54e81cc1 Merge pull request #25665 from vdemeester/remove-deprecated-run-flag-from-commit
Remove -run flag from commit command.
Upstream-commit: ec8f20cbf2edba00e645175675e8dca7c03b1350
Component: engine
2016-08-19 15:19:23 +02:00