Commit Graph

421 Commits

Author SHA1 Message Date
f3c864f896 Fix: Failed Start breaks VolumesFrom
Running parseVolumesFromSpec on all VolumesFrom specs before initialize
any mounts endures that we don't leave container.Volumes in an
inconsistent (partially initialized) if one of out mount groups is not
available (e.g. the container we're trying to mount from does not
exist).

Keeping container.Volumes in a consistent state ensures that next time
we Start() the container, it'll run prepareVolumes() again.

The attached test demonstrates that when a container fails to start due
to a missing container specified in VolumesFrom, it "remembers" a Volume
that worked.

Fixes: #8726

Signed-off-by: Thomas Orozco <thomas@orozco.fr>

Conflicts:
	integration-cli/docker_cli_start_test.go
		cli integration test
Upstream-commit: 967f80f3cceb96f85a4795d42eeb7b84ae0ce24a
Component: engine
2014-11-12 00:14:04 +02:00
c89d81761a Fix deadlock in ps exited filter
Fixes #8909

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>

Conflicts:
	integration-cli/docker_cli_ps_test.go
		fixed merge issue caused by missing tests
Upstream-commit: fd9c2ae27dc08114ae1170503217da8d2cb778d6
Component: engine
2014-11-07 16:35:50 +02:00
9872715c17 builder: Restore /bin/sh handling in CMD when entrypoint is specified with JSON
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 9fc8b7f4e1f88d8573118b7300b18379072418d1
Component: engine
2014-10-30 09:17:11 -04:00
b3a290d7cc builder: whitelist verbs useful for environment replacement.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 463297ffe9d0b671d3b26e13905855ab3ff85d57
Component: engine
2014-10-30 09:17:11 -04:00
25ffa9fb6c builder: handle escapes without swallowing all of them.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 2dac82eb82b469f94ef26a153d2679663b048ad3
Component: engine
2014-10-30 09:17:11 -04:00
8329b37b51 builder: some small fixups + fix a bug where empty entrypoints would not override inheritance.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 7f8cdeb18ba14502845efa7e7e90e913d2df23d2
Component: engine
2014-10-30 09:17:11 -04:00
fe1373fd5e builder: handle cases where onbuild is not uppercase.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 21ab75afe0f7e92ffe942e30c77651a01b6db223
Component: engine
2014-10-21 17:08:05 -04:00
83f3259542 Clean volume paths
Fixes #8659

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 66fba7c46ed3507166774ec8000ca478907e80a7
Component: engine
2014-10-20 19:11:44 -04:00
540f32c0f8 Don't write pull output to stdout on container creating
Fixes #8632

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: ff325bcb2feb501c2287ecb305644b003784f726
Component: engine
2014-10-20 17:35:43 -04:00
7634be83d9 builder: fix escaping for ENV variables.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: cf23053eb1d88ce7b3ba2ca06f42c408021c93b5
Component: engine
2014-10-20 16:53:37 -04:00
972cdf2ab6 Setting iptables=false should propagate to ip-masq=false
Signed-off-by: Jessica Frazelle <jess@docker.com>
Upstream-commit: ada9ac7b1300d2c647a17f5f5f274195ef5620b6
Component: engine
2014-10-20 16:51:06 -04:00
872f82a3de Fix builder from being over-aggressive on ${}
`${SOME_VAR%pattern}` was turning into `SOME_VAL%pattern}` which the shell would then balk at.

I've updated the `TOKEN_ENV_INTERPOLATION` regex to account for this (ie, if `${` is used, it _must_ also match the closing `}`), and renamed the variable to not be exported (since it's not used outside the function following it).

I also added comments for the bits of `tokenEnvInterpolation` so they're easier to follow. 😄

Signed-off-by: Andrew Page <admwiggin@gmail.com>
Upstream-commit: 24189b2c36985f8345691fa6ec2c0766cfc133a7
Component: engine
2014-10-14 00:58:55 -06:00
3381602232 builder: ONBUILD triggers were not accurately being executed in JSON cases.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 1150c1639a9efbd2e5e4ac1e71961aef77a32de0
Component: engine
2014-10-14 01:59:45 +00:00
af887ed027 Merge pull request #8497 from aluzzardi/disable-stable-ip
Disable stable IPs.
Upstream-commit: 72d8d94284e8239bede8b6a6df14680d5d59c259
Component: engine
2014-10-09 15:54:33 -07:00
161436147c Disable stable IPs.
Stable IPs causes some regressions in the way people use Docker, see GH#8493.

Reverting it for 1.3, we'll enable it back for the next release.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Upstream-commit: 5b8379a4349105eb387a4b9836bbd1d83ebe6928
Component: engine
2014-10-09 15:15:17 -07:00
3b7c4216ab Revert "Fix line delimited JSON response"
This reverts commit d2f75a3040e72562ffa825d5c3efa7004af2640a.

Conflicts:
	integration-cli/docker_api_events_test.go

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: b66ac6a80990d382a3859cd5ca8c53f038bdc1ff
Component: engine
2014-10-09 13:46:21 -07:00
e30e6f7d0c Merge pull request #8457 from jfrazelle/pr_8455
Check /etc/resolv.conf every time for 127.* content
Upstream-commit: 4eb812e042e10e8158161ba7d6236a9ca8044ebe
Component: engine
2014-10-08 16:21:14 -07:00
d83fbbbf57 cleanup resolve.conf code
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: dbe6c6651e744bd6f6cab04fcaed2871779d36a0
Component: engine
2014-10-08 15:15:51 -07:00
939ae48706 Merge pull request #8450 from dqminh/fix-proxy-exit
dont close proxy's stdout/stderr prematurely
Upstream-commit: 0486bd022e7c51b23cc9b4d62b5faaf42ee9a101
Component: engine
2014-10-08 14:20:33 -07:00
87b92d77be Merge pull request #8475 from cpuguy83/fix_create_phantom_volumes_on_container_restart
Fixes re-creating volume on (re)start
Upstream-commit: d7bcc099bec2b0ee4ff5c6411ae33f9e23bd94d1
Component: engine
2014-10-08 13:58:56 -07:00
a61100d91a Fixes re-creating volume on (re)start
When a container is restarted all the volume configs are parsed again.
Even if the volume was already handled in a previous start it was still
calling "FindOrCreateVolume" on the volume repo causing a new volume to
be created.

This wasn't being detected because as part of the mount initialization
it checks to see if the the _mount_ was already initialized, but this
happens after the parsing of the configs.
So a check is added during parsing to skip a volume which was already
created for that container.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: c985302c5c2fb6d922acf29106b550cb36faaab6
Component: engine
2014-10-08 16:25:51 -04:00
153b47b46a Restore volume refs after daemon restart
Volume refs were not being restored on daemon restart.
This made it possible to remove a volume being used by other containers
after a daemon restart.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 9acf7c765c7e074f6c75eaf162ca06ecfe40d692
Component: engine
2014-10-08 14:17:27 -04:00
3b41fdc9e8 pass extra file to child process as status handler
When stdout/stderr is closed prematurely, the proxy's writes to stdout/stderr
(i.e. `log.Errorf/log.Printf`) will returns with EPIPE error, and go runtime
will terminate the proxy when stdout/stderr writes trigger 10 EPIPE errors.

instead of using stdout/stderr as the status handler, we pass an extra file to
the child process and write `0\n` or `1\nerror message` to it and close it
after. This allow the child process to handle stdout/stderr as normal.

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
Upstream-commit: 3b9d88210e763bebdfd7badb6ed3fd507d0f6513
Component: engine
2014-10-08 12:53:43 -04:00
b7f1d56490 Fix Tag Test for longer tags
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: de32f48e6668e9f071272d588cf6acdd7090b9ca
Component: engine
2014-10-07 19:37:08 -07:00
4b817432e5 Test for check /etc/resolv.conf on every docker run for 127.* content.
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: acd511786e5d9d2aa440f4265ed8d4dda149d1cc
Component: engine
2014-10-07 16:51:51 -07:00
2d4da4a816 Allow child to overwrite entrypoint from parent
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 50fa9dffcf023c81f3142f0ddd294db4ac6b8281
Component: engine
2014-10-07 23:45:35 +00:00
a6ccd9b35c Merge pull request #8434 from tiborvass/ignore_invalid_Dockerfile_instructions
Ignore unknown dockerfile instructions
Upstream-commit: 12203e475de1da4c6c58b52cc458e353f2b7ea3a
Component: engine
2014-10-07 14:45:51 -07:00
6c9c0cbd11 Merge pull request #8341 from unclejack/add_workdir_test
add test for workdir env vars and add docs
Upstream-commit: 40cad37f0a4f182150476a577196af29da142fc1
Component: engine
2014-10-07 14:27:32 +10:00
6634e2c862 Add test for ignoring invalid dockerfile instructions
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: 9fe1dd3103071a7ce8e6d7a1ce204351e8eaa248
Component: engine
2014-10-06 23:14:25 -04:00
3bb92dd8aa Merge pull request #8409 from unclejack/integcli_lint
integcli: lint fixes
Upstream-commit: a650ab7f29ea89d89a1bdee19823ca45fac4d4a4
Component: engine
2014-10-06 14:32:08 -07:00
16206f937c integcli: lint fixes
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: c0e632246d821f3f70ffcf7244cf7a9b336b0344
Component: engine
2014-10-06 23:15:17 +03:00
3743b4385f Merge pull request #8416 from LK4D4/fix_build_cache_test
Fix TestBuildCacheADD to check cache in out, not in id
Upstream-commit: 6157af82928f756aebab199d204fea236fdc2b73
Component: engine
2014-10-06 11:56:18 -07:00
d9d10efdf8 Merge pull request #8417 from cpuguy83/8398_fix_automatic_data_copy_for_volumesfrom
volumes copying data unexpectedly
Upstream-commit: 128c52f58334807182c6a0b7b4776de0f33f715f
Component: engine
2014-10-06 11:43:41 -07:00
2f2f4428e4 Merge pull request #8369 from vieux/add_test_rm
add test and move one from rm to rmi
Upstream-commit: 40070609da618f5b89482682168220432687a51b
Component: engine
2014-10-06 11:30:12 -07:00
ba6185d6ef Fix #8398 - volumes copying data unexpectedly
Prior to the volumes re-factor, data was not being copied on
volumes-from or host-mounted volumes.
After the re-factor, data was being copied for volumes-from.
This reverts this unintentional change in behavior.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: e95b6fb648ab6301b556192a9730a843fab7209f
Component: engine
2014-10-06 14:21:46 -04:00
052bf9aa82 update test
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: 3e473c08b479e3ad783b31ad564f46ab87c8f034
Component: engine
2014-10-06 18:18:25 +00:00
620b3b5c3c Fix TestBuildCacheADD to check cache in out, not in id
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 21dff8cbecce458e7f532cedf1ca109c1f4fe6e2
Component: engine
2014-10-06 10:04:10 -07:00
505d3e474a Merge pull request #8392 from jfrazelle/pr_8389
Invalid mount mode for volumes in
Upstream-commit: 84d9fd37b05c22a61af2ab86c6783089b456790b
Component: engine
2014-10-03 17:22:21 -07:00
143d6d0145 Add test for invalid mount mode for volumes in.
Closes #8389.

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: b10b458b6ef8327268676744a7c3230e33c9baf6
Component: engine
2014-10-03 16:17:51 -07:00
c05ce270f8 Fixes bad validMountMode check
Needed to check if the mode was invalid and return error, not valid and
return error.

This didn't get picked up because the existing integration-cli tests
were all either expecting errors when a valid mode was passed in (e.g.
"ro" passed in, we expected an error because it was testing write).  So
modified a test which was testing for "rw" to actually pass in "rw"
instead of assuming the "rw"

Docker-DCO-1.1-Signed-off-by: Brian Goff <bgoff@cpuguy83-mbp.home> (github: cpuguy83)
Upstream-commit: 007b4f63409c6c642fb075640a8ec7d58825edc8
Component: engine
2014-10-03 16:55:39 -04:00
bad1803f92 Stable MAC addresses: Add support for MAC address restoring.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Upstream-commit: b669025949f1dba1ad3af9bab6711736863d6e24
Component: engine
2014-10-03 13:46:24 -07:00
5b30bf9410 Stable Networking: Keep the same network settings across container restarts.
This change will allocate network settings (IP and public ports) at
container creation rather than start and keep them throughout the
lifetime of the container (i.e. until it gets destroyed) instead of
discarding them when the container is stopped.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Upstream-commit: a4875937293f3b0a8ffc569608bbca40a456e9c8
Component: engine
2014-10-03 13:46:24 -07:00
450f84cec7 add test and move one from rm to rmi
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: c68e6b15a5d128eee1637c55471907d90cb828d2
Component: engine
2014-10-02 23:39:39 +00:00
20022966a7 Merge pull request #8302 from rafecolton/move_archive_package_to_pkg
Move archive package to pkg
Upstream-commit: 4424d15f9936a6cf663d06284c932f91306d9353
Component: engine
2014-10-01 18:03:34 +03:00
65b99b3138 Add ENV variables support to WORKDIR build command
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Docker-DCO-1.1-Signed-off-by: Adrien Folie <folie.adrien@gmail.com> (github: folieadrien)

Conflicts:
	builder/builder.go
		This file has been deleted.
Upstream-commit: 2c5b5cfc929c8d6ffaefcbc85d2c9ad16ad301b8
Component: engine
2014-10-01 17:34:36 +03:00
afe8e130e0 Move archive package into pkg/archive
Now that the archive package does not depend on any docker-specific
packages, only those in pkg and vendor, it can be safely moved into pkg.

Signed-off-by: Rafe Colton <rafael.colton@gmail.com>
Upstream-commit: 30d5a42c1f24e26f681b7330249f04fec891aee9
Component: engine
2014-09-29 23:23:36 -07:00
ce150ab801 Filter containers by status.
A continuation of #7616.
Adds `docker ps --filter=status=(restarting|running|paused|stopped)` option.

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: ea09f036824aee74112a75ac99579ae4f10251b5
Component: engine
2014-09-29 20:11:19 -07:00
1a11728b82 Merge pull request #8289 from duglin/FixTestcaseFor8230
Fixes the new testcase for PR #8230
Upstream-commit: 7c1aee62910405720f977e5777fafefc662dc175
Component: engine
2014-09-29 15:33:51 -07:00
1cba9ff5e0 Fixes the new testcase for PR #8230
This new version makes sure that the same context is used for the two
builds run in the test.  If you don't use the same build then about 1/2 the
time the file copied into the container will look like a different file,
probably due to timestamp differences.  But reusing the same context we
re-use the same file on disk and therefore avoid the change in timestamps,
and we use the cache on the 2nd build.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 8b3fbac15c0579c1372f3e13f607c1001d149d16
Component: engine
2014-09-29 13:35:09 -07:00
3dce9f533b Merge pull request #8284 from erikh/fix_cmd_again
builder: Fix CMD to inject /bin/sh -c when provided with a non-json value
Upstream-commit: 670c8696a29825b23208496bd4d8e88b5faa7773
Component: engine
2014-09-29 15:56:16 -04:00