Compare commits

...

554 commits

Author SHA1 Message Date
Joffrey F
25853874c4 Bump 1.9.0
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-15 15:10:36 -08:00
Aanand Prasad
46f034705e Test that values in 'environment' override env files
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-15 15:06:10 -08:00
Joffrey F
4d85caf143 Limit testing pool to Ubuntu hosts to avoid errors with dind not starting properly.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-15 15:06:10 -08:00
Joffrey F
efda1efffe Avoid breaking when remote driver options are null.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-15 15:06:10 -08:00
Joffrey F
7e40754ffc Handle new pull failures behavior in Engine 1.13
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-15 15:06:10 -08:00
Joffrey F
70e90a07d3 Merge remote-tracking branch 'source/release' into bump-1.9.0 2016-11-15 15:01:58 -08:00
Joffrey F
b426868eda Merge pull request #4130 from docker/bump-1.9.0-rc4
Bump 1.9.0 rc4
2016-11-08 16:29:48 -08:00
Joffrey F
181a4e990e Bump 1.9.0-rc4
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-08 15:22:19 -08:00
Joffrey F
6d02f3fb23 Fix logging dict merging
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-07 15:49:14 -08:00
Joffrey F
f4c037d223 Call check_remote_network_config from Network.ensure
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-07 15:49:00 -08:00
Joffrey F
39d91cae95 Merge remote-tracking branch 'source/release' into bump-1.9.0-rc4 2016-11-07 15:48:07 -08:00
Joffrey F
f4125b3444 Merge pull request #4105 from docker/bump-1.9.0-rc3
Bump 1.9.0 rc3
2016-11-03 14:42:59 -07:00
Joffrey F
fcd38d3c4b Bump 1.9.0-rc3
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-03 13:49:03 -07:00
Mike Dougherty
f9dfb006b5 Update Jenkinsfile to perform existing jenkins tasks
Signed-off-by: Mike Dougherty <mike.dougherty@docker.com>
2016-11-03 13:49:03 -07:00
Joffrey F
e6985de971 Add whitelisted driver option added by the overlay driver to avoid breakage
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-02 17:04:52 -07:00
Joffrey F
e002171ab1 Updated docker-py dependency to latest version
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-02 17:04:52 -07:00
Joffrey F
f89ca3e147 Merge remote-tracking branch 'source/release' into bump-1.9.0-rc3 2016-11-02 16:58:55 -07:00
Joffrey F
24e9f66d79 Merge pull request #4086 from docker/bump-1.9.0-rc2
Bump 1.9.0 rc2
2016-10-27 15:33:15 -07:00
Joffrey F
a2da43b997 Bump 1.9.0-rc2
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-27 12:49:26 -07:00
Joffrey F
252d15a4a9 Add missing config schema to docker-compose.spec
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-27 12:23:49 -07:00
Joffrey F
77b5ac4e54 Improve robustness of a couple integration tests with occasional failures
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-27 12:23:49 -07:00
Joffrey F
a406378a1f Do not print Swarm mode warning when connecting to a UCP server
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-27 12:23:49 -07:00
Joffrey F
29f9594ab9 Replace "which" calls with the portable find_executable function
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-27 12:23:49 -07:00
Joffrey F
ca529d36f8 Fix schema divergence - add missing fields to compose 2.1 schema
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-27 12:23:49 -07:00
Joffrey F
455fde15c6 Bump docker-py version to include latest patch
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-27 12:23:49 -07:00
Joffrey F
7d03c1fe29 Merge remote-tracking branch 'source/release' into bump-1.9.0-rc2 2016-10-27 12:15:32 -07:00
Joffrey F
0ca4d9c274 Merge pull request #4048 from docker/bump-1.9.0rc1
Bump 1.9.0-rc1
2016-10-20 15:03:54 -07:00
Joffrey F
28788bd9b5 Bump 1.9.0-rc1
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-20 12:05:20 -07:00
Joffrey F
c36bb3f8d2 Merge remote-tracking branch 'source/release' into bump-1.9.0rc1 2016-10-19 13:29:53 -07:00
Joffrey F
54103dc954 Merge pull request #4009 from shin-/update-openssl-mac
Use latest OpenSSL version (1.0.2j) when building Mac binary on Travis
2016-10-05 17:07:13 -07:00
Joffrey F
28546d1f81 Use latest OpenSSL version (1.0.2j) when building Mac binary on Travis
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-05 16:26:17 -07:00
Joffrey F
08f1ea7a93 Merge pull request #3967 from docker/bump-1.8.1
Bump 1.8.1
2016-10-05 14:21:15 -07:00
Joffrey F
b05c6c6fe9 Fix openssl dependency in OSX binary build
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-28 13:13:04 -07:00
Joffrey F
de90765531 Bump 1.8.1
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-28 12:17:05 -07:00
Joffrey F
e216a31f1e Bump docker-py dependency
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
Joffrey F
e8903da96c Force default host on windows to the default TCP host (instead of npipe)
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
Aanand Prasad
613e060f0d Fix integration test on Docker for Mac
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-09-21 15:06:19 -07:00
Joffrey F
070f8b3992 Only allow log streaming if logdriver is json-file or journald
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
Joffrey F
016197c16e Catch APIError while printing container logs
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
Joffrey F
6abdd9cc32 Update docker-py dependency to latest release
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
Joffrey F
fd7c16f1a4 Improve volumespec parsing on windows platforms
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
Joffrey F
20a511e961 Fix command hint in bundle to pull services instead of images
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
Joffrey F
9e18929d60 Remove surrounding quotes from TLS paths, if present
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
JG²
4b17aa1b9e Update rm.md
Receiving this message when using the -a flag : `--all flag is obsolete. This is now the default behavior of `docker-compose rm`, I proposed to mark it in the docs but I don't know which way is the best

Signed-off-by: jgsqware <garciagonzalez.julien@gmail.com>
2016-09-21 15:06:19 -07:00
Joffrey F
bd7db570bd Catchable error for parse failures in split_buffer
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
Joffrey F
1c07d6453f json_splitter: Don't break when buffer contains leading whitespace.
Add error logging with detailed output for decode errors

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-21 15:06:19 -07:00
Aanand Prasad
093b040b8e Fix stacktrace when handling timeout error
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-09-21 15:06:19 -07:00
Aanand Prasad
b801f275d7 Shell completion for --push-images
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-09-21 15:06:19 -07:00
Joffrey F
94f7016fb7 Merge pull request #3777 from docker/bump-1.8.0
Bump 1.8.0
2016-07-27 12:40:07 -07:00
Joffrey F
f3628c7a5e Bump 1.8.0
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-07-27 11:57:23 -07:00
Aanand Prasad
e115eaf6fc Fix error message for unrecognised TLS version
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 11:57:23 -07:00
Joffrey F
1bf0cd07de Merge pull request #3772 from docker/bump-1.8.0-rc3
Bump 1.8.0-rc3
2016-07-27 11:50:24 -07:00
Aanand Prasad
cefa239c2e Bump 1.8.0-rc3
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 17:46:13 +01:00
Aanand Prasad
6f3e4bbc6c Remove note about .dsb
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
87b6b3c139 Add note about missing volume mount support
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
1fb5c4b15a Fix example image hash
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
35ed189981 Copy experimental bundle docs into Compose docs so URL is stable
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
c392acc56b Show a warning when engine is in swarm mode
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Ben Firshman
cd267d5121 Add user agent to API calls
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-07-27 16:27:05 +01:00
Ben Firshman
cb076a57b9 Suggest to run Docker for Mac if it isn't running
Instead of suggesting docker-machine.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-07-27 16:27:05 +01:00
Daniel Nephin
6246a2592e Add reference docs for push and bundle.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-27 16:27:05 +01:00
Joffrey F
606358cfb7 Update docker-py requirement to the latest release
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
0488dd3709 Rename --fetch-digests to --push-images and remove auto-pull
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
b72f911ccf Fix timeout value in error message
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
f9c5816ab8 Stop checking the deprecated DOCKER_CLIENT_TIMEOUT variable
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
2ecbf25445 Fix bugs with entrypoint/command in docker-compose run
- When no command is passed but `--entrypoint` is, set Cmd to `[]`
- When command is a single empty string, set Cmd to `[""]`

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
8f842d55d7 Reorder/clarify args docs
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Jarrod Pooler
ad19ff6c67 Updating arg docs in the proper place
Signed-off-by: Jarrod Pooler <jarrod.pooler@homesite.com>
2016-07-27 16:27:05 +01:00
Aanand Prasad
4fb7033d9c Clarify environment and env_file docs
Add note to say that environment variables will not be automatically
made available at build time, and point to the `args` documentation.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-27 16:27:05 +01:00
Tomas Tomecek
e1b7510e4a service: detailed error messages for create and start
Fixes: #3355

Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2016-07-27 16:27:05 +01:00
Harald Albers
f7853a30bd bash completion for docker-compose bundle --fetch-digests
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-27 16:27:05 +01:00
Aanand Prasad
3b4a53c959 Merge remote-tracking branch 'release/release' into bump-1.8.0-rc3 2016-07-27 15:53:08 +01:00
Aanand Prasad
7f54850b4a Merge pull request #3698 from docker/bump-1.8.0-rc2
Bump 1.8.0 rc2
2016-07-06 19:11:03 -07:00
Aanand Prasad
c72c966abc Bump 1.8.0-rc2
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-06 18:05:11 -07:00
Aanand Prasad
801167d271 Pin base image to alpine:3.4 in Dockerfile.run
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-06 18:05:10 -07:00
Daniel Nephin
408e4719e1 Update requirements.txt
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-06 16:49:14 -07:00
Jonathan Giannuzzi
dbf40d8244 Fix assertion that was always true
Signed-off-by: Jonathan Giannuzzi <jonathan@giannuzzi.be>
2016-07-06 16:36:10 -07:00
Victoria Bialas
6021237a69 fixes broken links in 3 Compose docs files due to topic re-org in PR#23492
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-07-06 16:26:38 -07:00
Aanand Prasad
e4159cfd42 Fix alias tests on 1.11
The fix in 8e04582052 caused a regression
when testing against 1.11.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-06 16:20:18 -07:00
Daniel Nephin
d8ec9c1572 Upgrade pip on osx
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-06 16:20:18 -07:00
Aanand Prasad
244b303625 Fix test: check container's Env array instead of the output of 'env'
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-06 16:20:18 -07:00
Aanand Prasad
217f762a60 Post-merge fix - restore Environment import in main.py
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-06 16:20:18 -07:00
Joffrey F
70da16103a Unset env vars behavior in 'run' mirroring engine
Unset env vars passed to `run` via command line options take the
value of the system's var with the same name.

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-07-06 16:20:17 -07:00
Aanand Prasad
6b71645ed7 Fix tests to accommodate short-id container alias
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-06 16:20:17 -07:00
Ke Xu
05bf9a054a add zsh completion for push
Signed-off-by: Ke Xu <leonhartx.k@gmail.com>
2016-07-06 16:20:17 -07:00
Ke Xu
6e3d82eea6 change dsb to dab
Signed-off-by: Ke Xu <leonhartx.k@gmail.com>
2016-07-06 16:20:17 -07:00
Ke Xu
21d114b879 add zsh completion support for bundle
Signed-off-by: Ke Xu <leonhartx.k@gmail.com>
2016-07-06 16:20:17 -07:00
Aanand Prasad
72849d99c0 Update bundle extension
It's now .dab, for Distributed Application Bundle

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-06 16:20:17 -07:00
Harald Albers
85e3ad2655 bash completion for docker-compose push
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-06 16:20:17 -07:00
Harald Albers
a3e30c3eed bash completion for docker-compose bundle
Signed-off-by: Harald Albers <github@albersweb.de>
2016-07-06 16:20:17 -07:00
Joffrey F
6fd77fa698 Update docker-py version in requirements
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-07-06 16:20:17 -07:00
Daniel Nephin
a7fc3e2220 Add an acceptance test for bundle.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-06 16:20:16 -07:00
Daniel Nephin
db02c9f537 Add some unit tests for new bundle and push commands.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-06 16:20:16 -07:00
Aanand Prasad
33cc601176 Warn on missing digests, don't push/pull by default
Add a --fetch-digests flag to automatically push/pull

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-06 16:20:16 -07:00
Aanand Prasad
44e82edc5f Merge pull request #3221 from aeriksson/fix-zsh-autocomplete
Fix zsh autocomplete
(cherry picked from commit c0237a487b)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-07-06 16:20:16 -07:00
Aanand Prasad
53341b82f9 Merge remote-tracking branch 'release/release' into bump-1.8.0-rc2 2016-07-06 16:05:34 -07:00
Joffrey F
0de9a1b388 Merge pull request #3598 from docker/bump-1.8.0-rc1
Bump 1.8.0 rc1
2016-06-14 13:06:29 -07:00
Joffrey F
9bf6bc6dbd Bump 1.8.0-rc1
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-06-14 12:35:46 -07:00
Joffrey F
80afbd3961 Skip TLS version test if TLSv1_2 is not available on platform
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-06-14 12:35:45 -07:00
Joffrey F
de374d845e Merge remote-tracking branch 'source/release' into bump-1.8.0-rc1 2016-06-14 11:03:45 -07:00
Joffrey F
6c29830127 Merge pull request #3418 from shin-/bump-1.7.1
Bump 1.7.1
2016-05-04 13:03:11 -07:00
Joffrey F
0a9ab358bf Bump 1.7.1
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-04 11:52:57 -07:00
Joffrey F
3c424b709e Properly handle APIError failures in Project.up
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-04 11:52:57 -07:00
Joffrey F
47a40d42c7 Require latest docker-py version
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-04 11:52:57 -07:00
Aaron Nall
f316b448c2 Add missing log event filter when using docker-compose logs.
Signed-off-by: Aaron Nall <aronahl@hotmail.com>
2016-05-04 11:52:57 -07:00
André R
6bfdde6855 Clarify env-file doc that .env is read from cwd
Closes #3381

Signed-off-by: André R <ar@ez.no>
2016-05-04 11:52:57 -07:00
Joffrey F
2a08d4731e Skip event objects that don't contain a status field
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-04 11:52:57 -07:00
Joffrey F
11d8093fc8 Support combination of shorthand flag and equal sign for host option
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-04 11:52:57 -07:00
Daniel Nephin
d0b46ca9b2 Upgade pip to latest
Hopefully fixes our builds.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-04 11:52:56 -07:00
Joffrey F
b7f9fc4b28 Define WindowsError on non-win32 platforms
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-04 11:52:56 -07:00
Ben Firshman
70a605acac Explain the explanation about file versions
This explanation looked like it was part of the error. Added an
extra new line and a bit of copy to explain the explanation.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-05-04 11:52:56 -07:00
Ben Firshman
85b85bc675 Make validation error less robotic
"ERROR: Validation failed in file './docker-compose.yml', reason(s):"

is now:

"ERROR: The Compose file './docker-compose.yml' is invalid because:"

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-05-04 11:52:56 -07:00
Patrice FERLET
b334b6f059 Fix the tests from jenkins
Acceptance tests didn't set "help" command to return "0" EXIT_CODE.

close #3354
related #3263

Signed-off-by: Patrice Ferlet <metal3d@gmail.com>
2016-05-04 11:52:56 -07:00
Joffrey F
0c1c338a02 Force docker-py 1.8.0 or above
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-04 11:52:56 -07:00
johnharris85
f655a8af95 Account for aliased links Fix failing tests Signed-off-by: John Harris <john@johnharris.io> 2016-05-04 11:52:56 -07:00
johnharris85
f7cd94d4a9 Adding tests Signed-off-by: John Harris <john@johnharris.io> 2016-05-04 11:52:56 -07:00
johnharris85
e4d2d7ed8a Config now catches undefined service links Fixes issue #2922 Signed-off-by: John Harris <john@johnharris.io> 2016-05-04 11:52:56 -07:00
Daniel Nephin
2a8c2c8ad6 Unit test for skipping network disconnect.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-04 11:52:56 -07:00
Daniel Nephin
5852db4d72 Set networking_config when creating a container.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-04 11:52:56 -07:00
Daniel Nephin
250a7a530b Only disconnect if we don't already have the short id alias.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-05-04 11:52:56 -07:00
johnharris85
4e8b017283 Fix CLI docstring to reflect Docopt behaviour.
Signed-off-by: John Harris <john@johnharris.io>
2016-05-04 11:52:56 -07:00
Vladimir Lagunov
a86a195c50 Fix #3248: Accidental config_hash change
Signed-off-by: Vladimir Lagunov <lagunov.vladimir@gmail.com>
2016-05-04 11:52:56 -07:00
Tony Witherspoon
3368887a29 Updated StringIO import to support io module
Signed-off-by: Tony Witherspoon <tony.witherspoon@gmail.com>
2016-05-04 11:52:56 -07:00
Tony Witherspoon
e5f1429ce1 Updated cli_test.py to validate against the updated help command conditions
Signed-off-by: Tony Witherspoon <tony.witherspoon@gmail.com>
2016-05-04 11:52:56 -07:00
Tony Witherspoon
65b0e5973b updated cli_test.py to no longer expect raised SystemExit exceptions
Signed-off-by: Tony Witherspoon <tony.witherspoon@gmail.com>
2016-05-04 11:52:56 -07:00
Tony Witherspoon
9cf483e224 Added code to output the top level command options if docker-compose help with no command options provided
Signed-off-by: Tony Witherspoon <tony.witherspoon@gmail.com>
2016-05-04 11:52:56 -07:00
Aanand Prasad
1e164ca802 Fix format of 'restart' option in 'config' output
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-05-04 11:52:56 -07:00
Aanand Prasad
a2ded237e4 Fix output of 'config' for v1 files
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-05-04 11:52:56 -07:00
Aanand Prasad
8a9ab69a1c Check full error message in test_up_with_net_is_invalid
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-05-04 11:52:56 -07:00
Aanand Prasad
9cfbfd55c4 Remove v2_only decorators on config tests
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-05-04 11:52:56 -07:00
Joffrey F
d41e6e00fa Merge remote-tracking branch 'source/release' into bump-1.7.1 2016-05-04 11:49:05 -07:00
Daniel Nephin
e8da6cb631 Merge pull request #3319 from docker/bump-1.7.0
WIP: Bump 1.7.0
2016-04-13 13:20:02 -04:00
Daniel Nephin
0d7bf73446 Bump 1.7.0
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-13 11:37:49 -04:00
Daniel Nephin
ea2d526246 Bump 1.7.0-rc2
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-11 13:26:16 -04:00
Aanand Prasad
2160c787e3 Fix race condition
If processing of all objects finishes before the queue is drained,
parallel_execute_iter() returns prematurely.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-11 13:26:16 -04:00
Aanand Prasad
ebae76bee8 Rename a couple of functions in parallel.py
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-11 13:26:16 -04:00
Aanand Prasad
720dc893e2 Document parallel helper functions
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-11 13:26:16 -04:00
Aanand Prasad
d03f4e4b32 Small refactor to feed_queue()
Put the event tuple into the results queue rather than yielding it from
the function.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-11 13:26:16 -04:00
Daniel Nephin
275b54641a Remove extra ensure_image_exists() which causes duplicate builds.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-08 15:52:33 -04:00
Aanand Prasad
68b4ef6cf2 Reduce queue timeout
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-08 15:52:33 -04:00
Aanand Prasad
de6496c6c9 Hold state in an object
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-08 15:52:33 -04:00
Aanand Prasad
79edda6804 Refactor so there's only one queue
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-08 15:52:33 -04:00
Aanand Prasad
a81b9dc6a0 Test events coming out of parallel_execute_stream in error case
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-08 15:52:33 -04:00
Aanand Prasad
868133e881 Extract get_deps test helper
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-08 15:52:33 -04:00
Aanand Prasad
d3899418b7 Move queue logic out of parallel_execute()
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-08 15:52:33 -04:00
Aanand Prasad
09e359fc8d Abort operations if their dependencies fail
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-08 15:52:33 -04:00
Aanand Prasad
cdef2b5e3b Refactor setup_queue()
- Stop sharing set objects across threads
- Use a second queue to signal when producer threads are done
- Use a single consumer thread to check dependencies and kick off new
  producers

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-04-08 15:52:33 -04:00
Joffrey F
b865f35f17 Use docker-py 1.8.0
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-04-08 15:52:33 -04:00
Daniel Nephin
73d57a1acb Prevent unnecessary inspection of containers when created from an inspect.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-04-08 15:52:33 -04:00
Joffrey F
1dea8abe69 Include docker-py requirements fix
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-04-08 15:52:33 -04:00
Joffrey F
7dd29e8239 Re-enabling assert_hostname when instantiating docker_client from the environment.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-04-08 15:52:33 -04:00
Joffrey F
98d7a1e9dd Remove obsolete assert_hostname tests
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-04-08 15:52:33 -04:00
Joffrey F
a2adf31caa Update docker-py version to include match_hostname fix Removed unnecessary assert_hostname computation in tls_config_from_options
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-04-08 15:52:33 -04:00
Joffrey F
44715f18bd Fix assert_hostname logic in tls_config_from_options
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-04-08 15:52:33 -04:00
Steve Durrheimer
bd0f6d8d7b Add zsh completion for 'docker-compose run -w --workdir'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-08 15:52:33 -04:00
Steve Durrheimer
d434098b94 Add zsh completion for 'docker-compose up --build'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-08 15:52:33 -04:00
Steve Durrheimer
e863894e2d Add zsh completion for 'docker-compose logs -f --follow --tail -t --timestamps'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-08 15:52:33 -04:00
Steve Durrheimer
94afcfaf9d Add zsh completion for 'docker-compose exec' command
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-08 15:52:33 -04:00
Steve Durrheimer
c6c1afd568 Add zsh completion for 'docker-compose rm -a --all'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-04-08 15:52:33 -04:00
Daniel Nephin
1ad88662c0 Bump 1.7.0
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-03-24 14:31:37 -04:00
Daniel Nephin
827573a594 Merge remote-tracking branch 'docker/release' into bump-1.7.0 2016-03-24 14:31:17 -04:00
Aanand Prasad
9eb1204958 Merge pull request #3010 from aanand/bump-1.6.2
Bump 1.6.2
2016-02-23 17:02:34 -08:00
Aanand Prasad
4d720279a0 Bump 1.6.2
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-23 15:52:13 -08:00
Joffrey F
796dc91eb1 Update docker-py version in requirements to 1.7.2
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 15:52:13 -08:00
Aanand Prasad
a7da06d920 Merge remote-tracking branch 'release/release' into bump-1.6.2 2016-02-23 15:49:21 -08:00
Daniel Nephin
c1b7d6c6ad Merge pull request #3006 from dnephin/bump-1.6.1
WIP: Bump 1.6.1
2016-02-23 12:37:12 -08:00
Daniel Nephin
a75c16cb1b Bump 1.6.1
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 12:08:56 -08:00
Mary Anthony
e08409f18d Updating Dockerfile
Signed-off-by: Mary Anthony <mary@docker.com>
2016-02-23 12:08:56 -08:00
Daniel Nephin
9d7dbe3857 Make environment variables without a value the same as docker-cli.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:58:16 -08:00
Daniel Nephin
bcd5286cd3 Revert "Change special case from '_', None to ()"
This reverts commit 677c50650c.

Revert "Modify service_test.py::ServiceTest::test_resolve_env to reflect new behavior"

This reverts commit 0019037712.

Revert "Mangle the tests. They pass for better or worse!"

This reverts commit 7ab9509ce6.

Revert "If an env var is passthrough but not defined on the host don't set it."

This reverts commit 6540efb3d3.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:58:16 -08:00
Daniel Nephin
daebf74d6c Stop other containers if the flag is set.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Richard Bann
155d813606 Add failing test for --abort-on-container-exit
Handle --abort-on-container-exit. Fixes #2940

Signed-off-by: Richard Bann <richardbann@gmail.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
73c2f8ee37 Fix warning about boolean values.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
4aae2c3b7b Use docker-py 1.7.1
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
b79ad5f966 Fix validation message when there are multiple ested oneOf validations.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Victoria Bialas
f8e3c46fbb copyedit to make show as file format
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-02-23 11:52:51 -08:00
Victoria Bialas
f7c923062d corrected description of network aliases, added real-world example per #2907
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
61906ac2ff Update documentation for volume_driver option.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
ea8032c115 Make config validation error messages more consistent.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
7d22809ef4 Validate that each section of the config is a mapping before running interpolation.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Anthon van der Neut
cfda9d844e for 1.6.0 the version value needs to be a string
After conversion a file would immediately not load in docker-compose 1.6.0 with the message:

  ERROR: Version in "./converted.yml" is invalid - it should be a string.

Signed-off-by: Anthon van der Neut anthon@mnt.org
Signed-off-by: Anthon van der Neut <a.van.der.neut@ruamel.eu>
2016-02-23 11:52:51 -08:00
Joffrey F
1e29ad9fc7 Apply driver_opts processing to network configs
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
fcf78fe3de Constraint build argument types. Numbers are cast into strings
Numerical driver_opts are also valid and typecast into strings.
Additional config tests.

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
8d7b1e9047 Update guides to use v2 config format.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
6d2aa80435 Update link to docker volume create docs.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
13ec3d0217 Fix copying of volumes by using the name of the volume instead of the host path.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Anthon van der Neut
f59fef09a6 reset colors after warning
If a warning is shown, and you happen to have no color setting in your (bash) prompt, the \033[37m setting, stays active. With the message hardly readable (light grey on my default light yellow background), that means the prompt is barely visible and you need to do `tput reset`.
Would probably be better if the background color was set as well in case you have dark on light theme by default in your terminal.

Signed-off-by: Anthon van der Neut <a.van.der.neut@ruamel.eu>
2016-02-23 11:52:51 -08:00
Chia-liang Kao
f0a8c65b05 Quote argv as they are
Signed-off-by: Chia-liang Kao <clkao@clkao.org>
2016-02-23 11:52:51 -08:00
Chia-liang Kao
674e541cf7 Detect -t and -i separately
Signed-off-by: Chia-liang Kao <clkao@clkao.org>
2016-02-23 11:52:51 -08:00
Chia-liang Kao
ed5fedf516 Don't mount pwd if it is /
Signed-off-by: Chia-liang Kao <clkao@clkao.org>
2016-02-23 11:52:51 -08:00
Joffrey F
654b3710f7 Use modern set notation in _get_aliases
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
f4a22b94ed Handle mismatched network formats in config files
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
e5689afe4c Network aliases are now part of the network dictionary
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
42cb719b52 Add v2_only decorator to network aliases test
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
6ac6860dda Fix network list serialization in py3
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
353da73eab Document network_aliases config
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
c686be8fd3 Test network_aliases feature
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
2f7a77e954 Allow user to specify custom network aliases
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
d78ea85301 driver_opts can only be of type string
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
7c95c733a9 Only set a container affinity if there are volumes to copy over.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
dd9a8d6eee Bring up all dependencies when running a single service.
Added test for running a depends_on service

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
4f7c950ca8 Upgrade pyinstaller.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
a1d6e3b9e3 Add logging when initializing a volume.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Joffrey F
3eac70a9d3 Detailed error message when daemon version is too old.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-23 11:52:51 -08:00
Manuel Kaufmann
c7687592ff Typo fixed
Signed-off-by: Manuel Kaufmann <humitos@gmail.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
155efd28fa Merge build.args when merging services.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
2ced83e3d9 Fix build section without context.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Yohan Graterol
cea7911f56 Typo into the doc with networks in yaml
Signed-off-by: Yohan Graterol <yohangraterol92@gmail.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
db12794b1c Fix upgrading url.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
deeca57a0d Use 12 characters for the short id to match docker and fix backwards compatibility.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:52:51 -08:00
cr7pt0gr4ph7
edcbe2eb4d Simplify unit tests in config/config_test.py by using class variables instead of methods for parametrizing tests.
Signed-off-by: cr7pt0gr4ph7 <cr7pt0gr4ph7@gmail.com>
2016-02-23 11:52:51 -08:00
Lukas Waslowski
ad00f3dd21 Handle the 'network_mode' key when merging multiple compose files.
Fixes docker/compose#2840.

Signed-off-by: Lukas Waslowski <cr7pt0gr4ph7@gmail.com>
2016-02-23 11:52:51 -08:00
Lukas Waslowski
c77a8cfe3b Correctly merge the 'services/<service>/networks' key in the case of multiple compose files.
Fixes docker/compose#2839.

Signed-off-by: Lukas Waslowski <cr7pt0gr4ph7@gmail.com>
2016-02-23 11:52:51 -08:00
Lukas Waslowski
8548b75582 Separate MergePortsTest from MergeListsTest and add MergeNetworksTest.
Signed-off-by: Lukas Waslowski <cr7pt0gr4ph7@gmail.com>
2016-02-23 11:52:51 -08:00
Michael Käufl
c1be49ad53 Used absolute links in readme
This prevents links being broken on pypi
(e.g. https://pypi.python.org/pypi/docs/index.md#features)

Signed-off-by: Michael Käufl <docker-compose@c.michael-kaeufl.de>
2016-02-23 11:52:51 -08:00
Aanand Prasad
a716bdc482 Update Swarm integration guide and make it an official part of the docs
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-23 11:52:51 -08:00
jrabbit
abec6f5891 Change special case from '_', None to ()
Signed-off-by: jrabbit <jackjrabbit@gmail.com>
2016-02-23 11:52:51 -08:00
jrabbit
c195915263 Modify service_test.py::ServiceTest::test_resolve_env to reflect new behavior
Signed-off-by: jrabbit <jackjrabbit@gmail.com>
2016-02-23 11:52:51 -08:00
jrabbit
34d8f9b55a Mangle the tests. They pass for better or worse!
Signed-off-by: jrabbit <jackjrabbit@gmail.com>
2016-02-23 11:52:51 -08:00
jrabbit
f5533c1ed8 If an env var is passthrough but not defined on the host don't set it. This doesn't change too much code and keeps the generators.
Signed-off-by: jrabbit <jackjrabbit@gmail.com>
2016-02-23 11:52:51 -08:00
Daniel Nephin
722e3a2fc7 Merge remote-tracking branch 'docker/release' into bump-1.6.1 2016-02-23 11:15:34 -08:00
Aanand Prasad
9503aa2b5f Merge pull request #2821 from aanand/bump-1.6.0
Bump 1.6.0
2016-02-04 20:20:58 +00:00
Aanand Prasad
d99cad60e7 Bump 1.6.0
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-04 19:43:26 +00:00
Ben Firshman
8199c4a6e1 Improve names in Compose file 2 example
Just makes it a bit clearer what's going on.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2016-02-04 19:43:26 +00:00
Aanand Prasad
19ae76a442 Update docker-py and dockerpty
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-04 19:41:11 +00:00
Daniel Nephin
a55210413c Update docs for version being a string.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-04 17:21:15 +00:00
Spencer Rinehart
6caa188730 Fix example formatting for depends_on.
Markdown was acting against expectations here by merging the example indented YAML into the previous list item instead of treating it as a code block.

I decided that a better way of handling this would be to add a "Simple example:" line that is also used elsewhere in this file.  It resets the markdown indentation in a way that works.

Signed-off-by: Spencer Rinehart <anubis@overthemonkey.com>
2016-02-04 15:57:29 +00:00
Aanand Prasad
413a55aa71 Connect container to networks before starting it
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-04 14:43:11 +00:00
Dimitar Bonev
64336615cf Falling back to default project name when COMPOSE_PROJECT_NAME is set to empty
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2016-02-03 18:21:44 +00:00
Mary Anthony
a59982eb11 Fixing duplicate identifiers
Signed-off-by: Mary Anthony <mary@docker.com>
2016-02-03 18:21:44 +00:00
Daniel Nephin
46f33f12b0 Update merge docs with depends_on, and correction about how links and volumes_from are merged.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:44 +00:00
Daniel Nephin
dc718eae65 Make links unique-by-alias when merging
Factor out MergeDict from merge_service_dicts to reduce complexity below limit.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:44 +00:00
Daniel Nephin
aa5ff05463 Fix merging of lists with multiple files.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:44 +00:00
Ryan Taylor Long
3b7471ae84 Add depends_on to ALLOWED_KEYS
This ensures and already existing `depends_on` is not deleted when the service on which it is defined also employs `extends`.

Signed-off-by: Ryan Taylor Long <ryan@rtlong.com>
2016-02-03 18:21:44 +00:00
Daniel Nephin
7f009aeeb9 Move command reference to overview.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:44 +00:00
Daniel Nephin
44c7d080bd Rename the old environment variable page to link environment variables.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:43 +00:00
Daniel Nephin
32bd760526 Cleanup command-line reference docs by renaming overview to envvars.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:43 +00:00
Daniel Nephin
009dbbe971 Use the same capitalization for all menu items in the docs.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:43 +00:00
Daniel Nephin
6b59ba0c31 Re-order compose docs so that quickstart guides come before other documentation.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:43 +00:00
Daniel Nephin
61d00ebee4 Extract volume init and removal from project.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:43 +00:00
Daniel Nephin
3b1276bd44 Include networks in the config_hash.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:43 +00:00
Daniel Nephin
3e8a4a5dc3 Don't initialize networks that aren't used by any services.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:43 +00:00
Daniel Nephin
0c87e0b18f Refactor project network initlization.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-03 18:21:43 +00:00
Aanand Prasad
8024f2f09e Tweak and test warning shown when version is a dict
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-03 18:21:43 +00:00
Aanand Prasad
f081376067 Improve error messages for invalid versions
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-03 18:21:42 +00:00
Aanand Prasad
ce0d469c18 Make 'version' a string
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-03 18:21:42 +00:00
Aanand Prasad
b2ee08f439 Remove redundant check - self.config should never be None
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-03 18:21:42 +00:00
Aanand Prasad
e9ba06ed4b Normalise/fix config field designators in validation messages
- Instead of "Service 'web' configuration key 'image'", just say
  "web.image"

- Fix the "Service 'services'" bug in the v2 file format

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-03 18:21:42 +00:00
Aanand Prasad
9e9b36460c Convert validation error tests to pytest style
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-03 18:21:42 +00:00
Harald Albers
25df0d8147 bash completion for docker-compose create
Signed-off-by: Harald Albers <github@albersweb.de>
2016-02-01 15:53:22 +00:00
Steve Durrheimer
c98c617c30 Add zsh completion for 'docker-compose create'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-02-01 15:53:22 +00:00
Aanand Prasad
d3cd9213c1 Fix rebase-bump-commit script
Trim whitespace from wc's output before constructing arguments to `git rebase`

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-01 15:51:16 +00:00
Daniel Nephin
bbaae11a0f Fix race condition with up and setting signal handlers.
Also print stdout on wait_for_container().

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-01 15:51:16 +00:00
Harald Albers
e925b8272b Fix computation of service list in bash completion
The previous approach assumed that the service list could be extracted
from a single file. It did not follow extends and overrides.

Signed-off-by: Harald Albers <github@albersweb.de>
2016-02-01 15:51:16 +00:00
Aanand Prasad
110401b6f0 Let the user specify any repo as their fork
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-01 15:51:16 +00:00
Aanand Prasad
8fb90bd732 Default to vim if EDITOR is not set
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-01 15:51:15 +00:00
Daniel Nephin
24e71db345 Don't copy over volumes that were previously host volumes, and are now container volumes.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-01 15:51:15 +00:00
Mary Anthony
fbe8484377 New navigation for 1.10 release
Updating with Joffrey's comments

Signed-off-by: Mary Anthony <mary@docker.com>
2016-02-01 15:51:15 +00:00
Aanand Prasad
89cca7bcb2 Extract helper methods
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-01 15:51:15 +00:00
Aanand Prasad
be66779fe9 Create declarations for named volumes
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-01 15:51:15 +00:00
Aanand Prasad
1772909fe2 Make sure version line is at the top of the file
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-01 15:51:15 +00:00
Aanand Prasad
86bdab64ab Make warnings a bit more readable
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-01 15:51:15 +00:00
Aanand Prasad
36a10f8dd5 Update for links, external_links, network_mode
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-01 15:51:15 +00:00
Aanand Prasad
9249ec62c2 Add note about named volumes to upgrade guide
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-01 15:51:15 +00:00
Aanand Prasad
4537ec70cc Remove outdated warnings about links from docs
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-27 13:33:38 +00:00
Aanand Prasad
695c692be6 Bump 1.6.0-rc2
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-27 01:42:21 +00:00
Aanand Prasad
297d20f085 Remove ability to join bridge network + user-defined networks
Containers connected to the bridge network can't have aliases, so it's
simpler to rule that they can *either* be connected to the bridge
network (via `network_mode: bridge`) *or* be connected to user-defined
networks (via `networks` or the default network).

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-27 01:42:21 +00:00
Joffrey F
16ef3d0eb8 Bump docker-py version to latest RC
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-27 01:42:21 +00:00
Aanand Prasad
d765a3fb91 Add back external links in v2
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-27 00:45:44 +00:00
Aanand Prasad
7f4a94514b Fix trailing whitespace in docker-compose.md
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 23:41:47 +00:00
Tobias Munk
c0fe545947 fixed documentation about traversing yml files
Signed-off-by: Tobias Munk <schmunk@usrbin.de>
2016-01-26 18:58:15 +00:00
Aanand Prasad
52e74ab7ad Rename 'net' to 'network mode' in various classes/methods
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:23 +00:00
Aanand Prasad
2b46685855 Test that net can be extended
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:23 +00:00
Aanand Prasad
2b7306967b Implement network_mode in v2
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:23 +00:00
Joffrey F
3f28472ebc Move named volumes matching to config validation phase
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-26 11:52:23 +00:00
Joffrey F
3da25aa463 is_named_volume also tests for home paths ~
Fix bug with VolumeSpec not being updated
Fix integration test

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-26 11:52:23 +00:00
Joffrey F
a66bf72199 Match named volumes in service definitions with declared volumes
Raise ConfigurationError for undeclared named volumes
Test new behavior

Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-26 11:52:23 +00:00
Aanand Prasad
883227c4d8 Alias containers by short id
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:23 +00:00
Dimitar Bonev
5545c55ecc Network fields schema validation
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2016-01-26 11:52:22 +00:00
Joffrey F
227fa5c0de Use latest docker-py rc
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-26 11:52:22 +00:00
Aanand Prasad
d399b7893f Add test for logs=False
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>

Conflicts:
	compose/cli/main.py
2016-01-26 11:52:22 +00:00
Alf Lervag
833e16117e Fixes #2448
Signed-off-by: Alf Lervag <alf.lervag@bouvet.no>

Conflicts:
	compose/cli/main.py
	requirements.txt
2016-01-26 11:52:22 +00:00
Daniel Nephin
bf068a8287 Add stop signal to the docs.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-26 11:52:22 +00:00
Aanand Prasad
b1ebf5ce17 Fix interactive run with networking
Make sure we connect the container to all required networks *after*
starting the container and *before* hijacking the terminal.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:22 +00:00
Aanand Prasad
836ec70979 Stop connecting to all networks on container creation
This relies on an Engine behaviour which is a bug, not an intentional
feature - we have to connect to networks one at a time

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:22 +00:00
Aanand Prasad
6ca410fd6b Fix 'run' behaviour with networks
- Test that one-off containers join all networks
- Don't set any aliases

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:22 +00:00
Joffrey F
38a6d04852 Update documentation for external param
Signed-off-by: Joffrey F <joffrey@docker.com>

Conflicts:
	docs/compose-file.md
2016-01-26 11:52:22 +00:00
Aanand Prasad
0952c1bb51 Add links to networks key references
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:21 +00:00
Aanand Prasad
18a1829db0 Update documentation for links
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:21 +00:00
Aanand Prasad
e40de088f3 Document depends_on
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:21 +00:00
Aanand Prasad
6fe54f5c24 Update Compose file documentation for version 2
- Explain each version in its own section
- Explain how to upgrade from version 1 to 2
- Note which keys are restricted to particular versions
- A few corrections to the docs for version-specific keys

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:21 +00:00
Aanand Prasad
5cfd947f38 Stop and remove containers in parallel when scaling down
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:21 +00:00
Aanand Prasad
513a6b35cc Fix scale when containers exit immediately
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:21 +00:00
Aanand Prasad
cbec6f8834 Support links in v2 files
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:21 +00:00
Aanand Prasad
76bc06b729 Fix Windows build failures when installing dependencies from git
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:21 +00:00
Jure Žvelc
c9ef1fa32f Fix for extending services written in v2 format.
Signed-off-by: Jure Žvelc <jzvelc@gmail.com>
2016-01-26 11:52:20 +00:00
Daniel Nephin
c52eed66b7 Update tests in sort_services_test.py to use pytest.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-26 11:52:20 +00:00
Daniel Nephin
3f65bdcf46 Move ulimits validation to validation.py and improve the error message.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-26 11:52:20 +00:00
Daniel Nephin
6e5c312768 Implement depends_on to define an order for services in the v2 format.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-26 11:52:20 +00:00
Daniel Nephin
33bb7c4e02 Add migration script.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-26 11:52:20 +00:00
Aanand Prasad
bb377d3fe6 Fix "name is reserved" with Engine 1.10 RC1
Ensure link aliases are unique (this deduping was previously performed
on the server).

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:20 +00:00
Aanand Prasad
7442b416e8 Test that you can set the default network to be external
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:20 +00:00
Aanand Prasad
fbee4ce4b3 Catch TLSParameterErrors from docker-py
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-26 11:52:20 +00:00
Steve Durrheimer
8398382b65 Add zsh completion for 'docker-compose up --abort-on-container-exit'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-26 11:52:19 +00:00
Steve Durrheimer
7dd5fd5763 Add zsh completion for 'docker-compose down'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-26 11:52:19 +00:00
Steve Durrheimer
d5f3826ec7 Fix zsh completion to ensure we have enough commands to store in the cache
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2016-01-26 11:52:19 +00:00
Daniel Nephin
20c936a251 Fix some bugs in release scripts.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-26 11:52:19 +00:00
Daniel Nephin
d2556a1347 Bump 1.6.0-rc1
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-18 14:50:56 -05:00
Aanand Prasad
237f134a00 Allow custom ipam config
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-18 14:50:56 -05:00
Aanand Prasad
d4720f85ef Update networking docs
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-18 14:03:52 -05:00
Aanand Prasad
64fc2b85cb Allow overriding of config for the default network
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-18 12:14:12 -05:00
Aanand Prasad
a22d248390 Quote network names in error messages
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-18 12:14:12 -05:00
Daniel Nephin
fffedfc87b Test against 1.10rc1.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-16 11:35:04 -05:00
Daniel Nephin
34fd042dbf Increase the timeout for all acceptance tests.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-15 18:12:57 -05:00
Daniel Nephin
89e31f7a8d Validate that an extended config file has the same version as the base.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-15 18:12:56 -05:00
Daniel Nephin
b446c09735 Merge remote-tracking branch 'docker/release' into bump-1.6.0-rc1 2016-01-15 17:02:06 -05:00
Daniel Nephin
8f48fa4747 Merge pull request #2491 from dnephin/bump-1.5.2
WIP: Bump 1.5.2
2015-12-03 17:11:51 -08:00
Daniel Nephin
7240ff35ee Bump 1.5.2
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-03 11:18:32 -08:00
Daniel Nephin
aaf66e3485 FAQ document for Compose
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-03 11:05:06 -08:00
Aanand Prasad
96f4a42a35 Validate the 'expose' option
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-12-03 11:05:05 -08:00
Aanand Prasad
e6fbca42a1 Split out ports validation tests into type, uniqueness, format
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-12-03 11:05:05 -08:00
Aanand Prasad
527bf3b023 Fix ports validation message
- The `raises` kwarg to the `cls_check` decorator was being used
  incorrectly (it should be an exception class, not an object).

- We need to check for `error.cause` and get the message out of the
  exception object.

NB: The particular case where validation fails in the case of `ports` is
only when ranges don't match in length - no further validation is
currently performed client-side.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-12-03 11:05:05 -08:00
Aanand Prasad
ab36c9c6cd Refactor ports section of fields schema
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-12-03 11:05:05 -08:00
Aanand Prasad
e67419065a Fix ports validation test
We were essentially only testing that *at least one* of the invalid
values fails the validation check, rather than that *all* of them fail.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-12-03 11:05:05 -08:00
Daniel Nephin
69e956ce8b Add integration test and docs for build with a git url.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-03 11:05:05 -08:00
Jonas Eckerström
0dbd99bad2 Added support for url buid paths
Signed-off-by: Jonas Eckerström <jonaseck@gmail.com>
2015-12-03 11:05:05 -08:00
Daniel Nephin
fa975d7fbe Properly resolve environment from all sources.
Split env resolving into two phases. The first phase is to expand the paths
of env_files, which is done before merging extends. Once all files are merged
together, the final phase is to read the env_files and use them as the base
for environment variables.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-03 11:05:01 -08:00
Daniel Nephin
81f0e72bd2 Move service sorting to config package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
da27f8e7e2 Remove unnecessary intermediate variables in get_container_host_config.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
8572d50903 Move volume parsing to config.types module
This removes the last of the old service.ConfigError

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
5d39813e1b Fixes #2008 - re-use list_or_dict schema for all the types
At the same time, moves extra_hosts validation to the config module.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
b19315b57e Move restart spec to the config.types module.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
e549875e89 Move parsing of volumes_from to the last step of config parsing.
Includes creating a new compose.config.types module for all the domain objects.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
7e21b05f05 Remove project name validation
project name is already normalized to a valid name before creating a service.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
bea2072b95 Add the git sha to version output
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
3b6cc7a7bb Add missing assert and autospec.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
a264470cc0 Make sure we always have the latest busybox image, so that build --pull tests don't flake.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
844e2c3d26 Fix use case link in readme.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
210a14cf28 Add note about required pip version.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Brandon Burton
9ce4024951 Fixing matrix include so os: linux goes to trusty
Signed-off-by: Brandon Burton <brandon@inatree.org>
2015-12-02 17:31:48 -08:00
Daniel Nephin
8fb6fb7b19 Fix env_file and environment when used with extends.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
83760d0e9e Handle both SIGINT and SIGTERM for docker-compose run.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
be5b7b6f0e Handle both SIGINT and SIGTERM for docker-compose up.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
e5a02d3052 Fix extra warnings on masked volumes.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Stéphane Seguin
3a395892fc Fix restart with stopped containers. Fixes #1814
Signed-off-by: Stéphane Seguin <stephseguin93@gmail.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
09f6a876cf Fixes #2398 - the build progress stream can contain empty json objects.
Previously these empty objects would hit a bug in splitting objects causing it crash.
With this fix the empty objects are returned properly.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Stefan Scherer
0117148a36 Use uname to build target name for different platforms
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2015-12-02 17:31:48 -08:00
Simon van der Veldt
8f70c8cdeb run.sh script: Also pass DOCKER_TLS_VERIFY and DOCKER_CERT_PATH env vars to compose container
Signed-off-by: Simon van der Veldt <simon.vanderveldt@gmail.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
16a74f3797 Fix texttable dep. 0.8.2 was removed from pypi.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-02 17:31:48 -08:00
Viranch Mehta
c42918ec7c Fix specifies_host_port() to handle port binding with host IP but no host port
Signed-off-by: Viranch Mehta <viranch.mehta@gmail.com>
2015-12-02 17:31:48 -08:00
Mazz Mosley
d28b2027b8 Clarify dockerfile requires build key
Credit to @funkyfuture for the first PR addressing the clarification.
https://github.com/docker/compose/pull/1767

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-12-02 17:31:48 -08:00
Mazz Mosley
8d816fc2f3 Add cross references for env/cli
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-12-02 17:31:48 -08:00
Daniel Nephin
f476436027 Merge remote-tracking branch 'docker/release' into bump-1.5.2 2015-12-02 16:56:55 -08:00
Daniel Nephin
fae20305ec Merge pull request #2384 from dnephin/bump-1.5.1
**WIP** Bump 1.5.1
2015-11-12 17:29:43 -05:00
Daniel Nephin
4628e93fb2 Bump 1.5.1
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 15:02:12 -05:00
Daniel Nephin
82086a4e92 Remove name field from the list of ALLOWED_KEYS
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 15:02:12 -05:00
Daniel Nephin
96e9b47059 Inclide the filename in validation errors.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 15:02:12 -05:00
Daniel Nephin
34166ef5a4 Refactor process_errors into smaller functions
So that it passed new max-complexity requirement

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 15:02:12 -05:00
Daniel Nephin
285e52cc7c Add ids to config schemas
Also enforce a max complexity for functions and add some new tests for config.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 15:02:12 -05:00
Joffrey F
d52c969f94 Add test for environment variable dashes support
Signed-off-by: Joffrey F <joffrey@docker.com>
2015-11-12 13:54:41 -05:00
Joffrey F
63c3e6f58c Allow dashes in environment variable names
See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html
Environment variable names used by the utilities in the Shell and
Utilities volume of POSIX.1-2008 consist solely of uppercase letters,
digits, and the <underscore> ( '_' ) from the characters defined in
Portable Character Set and do not begin with a digit. Other characters may
be permitted by an implementation; applications shall tolerate the
presence of such names.

Signed-off-by: Joffrey F <joffrey@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
0ab76bb8bc Add a test for invalid field 'name', and fix an existing test for invalid service names.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
7fc577c31d Remove name from config schema.
Refactors config validation of a service to use a ServiceConfig data object.
Instead of passing around a bunch of related scalars, we can use the
ServiceConfig object as a parameter to most of the service validation functions.

This allows for a fix to the config schema, where the name is a field in the
schema, but not actually in the configuration. My passing the name around as
part of the ServiceConfig object, we don't need to add it to the config options.
Fixes #2299

validate_against_service_schema() is moved from a conditional branch in
ServiceExtendsResolver() to happen as one of the last steps after all
configuration is merged. This schema only contains constraints which only need
to be true at the very end of merging.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
3a43110f06 Fix a bug in ExtendsResolver where the service name of the extended service was wrong.
This bug can be seen by the change to the test case. When the extended service
uses a different name, the error was reported incorrectly.

By fixing this bug we can simplify self.signature and self.detect_cycles to
always use self.service_name.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
87d79d4d99 Rename ServiceLoader to ServiceExtendsResolver
ServiceLoader has evolved to be not really all that related to "loading" a
service. It's responsibility is more to do with handling the `extends`
field, which is only part of loading.  The class and its primary method
(make_service_dict()) were renamed to better reflect their responsibility.

As part of that change process_container_options() was removed from
make_service_dict() and renamed to process_service().  It contains logic for
handling the non-extends options.

This change allows us to remove the hacks from testcase.py and only call
the functions we need to format a service dict correctly for integration tests.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
83581c3a0f Validate additional files before merging them.
Consolidates all the top level config handling into `process_config_file` which
is now used for both files and merge sources.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Joffrey F
ba90f55075 Reorganize conditional branches to improve readability
Signed-off-by: Joffrey F <joffrey@docker.com>
2015-11-12 13:54:41 -05:00
Yves Peter
3313dcb1ce Fixes #1490 progress_stream would print a lot of new lines on "docker-compose pull" if there's no tty.
Signed-off-by: Yves Peter <ypdraw@gmail.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
92d56fab47 Add a warning when the host volume config is being ignored.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
1208f92d9c Update doc wording for ulimits.
and move tests to the correct module

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Kevin Greene
8444551373 Added ulimits functionality to docker compose
Signed-off-by: Kevin Greene <kevin@spantree.net>
2015-11-12 13:54:41 -05:00
Daniel Nephin
73ebd7e560 Only create the default network if at least one service needs it.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
0a96f86f74 Cleanup workaround in testcase.py
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
36176befb0 Fix #1549 - flush after each line of logs.
Includes some refactoring of log_printer_test to support checking for flush(), and so that each test calls the unit-under-test directly, instead of through a helper function.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
de08da278d Re-order flags in bash completion
and remove unnecessary variables from build command.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Adrian Budau
4c2eb17ccd Added --force-rm to compose build.
It's a flag passed to docker build that removes the intermediate
containers left behind on fail builds.

Signed-off-by: Adrian Budau <budau.adi@gmail.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
8fb44db92b Cleanup some unit tests and whitespace.
Remove some unnecessary newlines.
Remove a unittest that was attempting to test behaviour that was removed a while ago, so isn't testing anything.
Updated some unit tests to use mocks instead of a custom fake.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:41 -05:00
Daniel Nephin
4105c3017c Move cli tests to a new testing package.
These cli tests are now a different kind of that that run the compose binary. They are not the same as integration tests that test some internal interface.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:40 -05:00
Daniel Nephin
7f2f4eef48 Update cli tests to use subprocess.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:40 -05:00
Joffrey F
666c3cb1c7 Use exit code 1 when encountering a ReadTimeout
Signed-off-by: Joffrey F <joffrey@docker.com>
2015-11-12 13:54:40 -05:00
Daniel Nephin
886134c1f3 Recreate dependents when a dependency is created (not just when it's recreated).
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:40 -05:00
Daniel Nephin
ba61a6c5fb Don't set the hostname to the service name with networking.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:40 -05:00
Daniel Nephin
3f14df374f Handle non-utf8 unicode without raising an error.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:40 -05:00
Daniel Nephin
e6755d1e7c Use VolumeSpec instead of re-parsing the volume string.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:40 -05:00
Daniel Nephin
c4f59e731d Make working_dir consistent in the config package.
- make it a positional arg, since it's required
- make it the first argument for all functions that require it
- remove an unnecessary one-line function that was only called in one place

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:39 -05:00
Daniel Nephin
805ed344c0 Refactor ServiceLoader to be immutable.
Mutable objects are harder to debug and harder to reason about. ServiceLoader was almost immutable. There was just a single function which set fields for a second function. Instead of mutating the object, we can pass those values as parameters to the next function.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:39 -05:00
Daniel Nephin
a5959d9be2 Some minor style cleanup
- fixed a docstring to make it PEP257 compliant
- wrapped some long lines
- used a more specific error

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:39 -05:00
Mazz Mosley
0375dccf64 Handle non-ascii chars in volume directories
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-11-12 13:54:39 -05:00
Daniel Nephin
3c4bb5358e Upgrade pyyaml to 3.11
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:39 -05:00
Daniel Nephin
e317d2db9d Remove service.start_container()
It has been an unnecessary wrapper around container.start() for a little while now, so we can call it directly.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:39 -05:00
Joffrey F
3daecfa8e4 Update service config_dict computation to include volumes_from mode
Ensure config_hash is updated when volumes_from mode is changed, and
service is recreated on next up as a result.

Signed-off-by: Joffrey F <joffrey@docker.com>
2015-11-12 13:54:39 -05:00
Aanand Prasad
cf93362368 Fix parallel output
We were outputting an extra line, which in *some* cases, on *some*
terminals, was causing the output of parallel actions to get messed up.

In particular, it would happen when the terminal had just been cleared
or hadn't yet filled up with a screen's worth of text.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-11-12 13:54:39 -05:00
Daniel Nephin
23d4eda2a5 Fix service recreate when image changes to build.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:39 -05:00
Daniel Nephin
718ae13ae1 Move config hash tests to service_test.py
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:54:39 -05:00
Daniel Nephin
cddbe9fbf1 Merge remote-tracking branch 'docker/release' into bump-1.5.1 2015-11-12 13:03:47 -05:00
Aanand Prasad
9c8173dbfd Merge pull request #2309 from dnephin/bump-1.5.0
WIP: Bump 1.5.0
2015-11-03 18:31:56 +00:00
Daniel Nephin
77ff37a853 Bump 1.5.0
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 12:36:30 -05:00
Daniel Nephin
40341674bd Re-order extends docs.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 12:36:30 -05:00
Daniel Nephin
62ebdce5a9 Replace composition with Compose app.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 12:36:30 -05:00
Daniel Nephin
58de4e0c26 Document using multiple Compose files use cases.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 12:36:30 -05:00
Daniel Nephin
dbd6c62b70 Changes to production.md for working with multiple Compose files.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 12:36:30 -05:00
Daniel Nephin
887c6753f8 Support a volume to the docs directory and add --watch, so docs can be refreshed.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 12:36:30 -05:00
Daniel Nephin
bd35896892 Remove duplication from extends docs.
Start restructuring extends docs in preparation for adding documentation about using multiple compose files.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 12:36:30 -05:00
Daniel Nephin
9286e62449 On a test failure only show the last 100 lines of daemon output.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 11:54:59 -05:00
Daniel Nephin
621d1a5167 Fix networking tests to work with new API in engine rc4 (https://github.com/docker/docker/pull/17536)
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 11:54:59 -05:00
Daniel Nephin
83714fbac2 Touch up intro paragraph with feedback from @moxiegirl.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 11:33:23 -05:00
Daniel Nephin
413921a287 Add another feature to the docs - multiple environments per host.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 11:33:23 -05:00
Daniel Nephin
7ee36829ac Update intro docs based on feedback.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 11:33:23 -05:00
Daniel Nephin
bfb46b37d3 Updates to gettingstarted guide from PR feedback.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 11:33:23 -05:00
Daniel Nephin
09d2bdbb21 Flush out features and use cases.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 11:33:23 -05:00
Daniel Nephin
8733d09a9c Extract the getting started guide from the index page.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 11:33:23 -05:00
Daniel Nephin
e524cce222 Add missing title to compose file reference.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-03 11:33:23 -05:00
Daniel Nephin
be6b811c4e Bump 1.5.0rc3
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-30 15:53:17 -04:00
Daniel Nephin
bdb9a280bc Make storage driver configurable in CI
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-30 15:53:16 -04:00
Daniel Nephin
73ca4eb599 On error print daemon logs
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-30 15:46:57 -04:00
Daniel Nephin
569ccbadec Convert the README to rst and fix the logo url before packaging it up for pypi.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-30 15:46:57 -04:00
Daniel Nephin
ed1b584c42 Fix release script notes about software and typos.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-30 15:46:57 -04:00
Daniel Nephin
2f2e946907 Don't set a default network driver, let the server decide.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-30 15:36:15 -04:00
Daniel Nephin
d392f70cc6 Fixes #1843, #1936 - chown files back to host user in django example.
Also add a missing 'touch Gemfile.lock' to fix the rails tutorial.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-30 15:36:15 -04:00
Daniel Nephin
db164cefd3 Remove the duplicate 'Warning' prefix now that the logger adds the prefix.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-30 15:36:15 -04:00
Daniel Nephin
4d613d3ba7 Use colors when logging warnings or errors, so they are more obvious.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-30 15:36:15 -04:00
Joffrey F
1f26841e23 Integration test for run command with networking enabled
Signed-off-by: Joffrey F <joffrey@docker.com>
2015-10-30 15:36:15 -04:00
Joffrey F
9370cb033c Ensure network exists when calling run before up
Otherwise the daemon will error out because the network doesn't exist
yet.

Signed-off-by: Joffrey F <joffrey@docker.com>
2015-10-30 15:36:15 -04:00
Mazz Mosley
ab0ddb593f Clarify the command is an example
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-29 15:01:33 -04:00
Daniel Nephin
f67503d9fd Logs are available for all log drivers except for none.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-29 15:01:33 -04:00
Daniel Nephin
ce729b0721 Update docs about networking for current release.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-29 15:01:33 -04:00
Daniel Nephin
8156cdc56e Disable a test against docker 1.8.3 because it fails due to a bug in docker engine.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-29 15:01:33 -04:00
Daniel Nephin
8cc8e61474 Bump 1.5.0rc2
Signed-off-by: Daniel Nephin <dnephin@docker.com>

Fill out 1.5.0 release notes

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-10-27 19:48:54 -04:00
Sven Dowideit
29b0ffe5e9 Possible link fixes
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2015-10-27 19:33:28 -04:00
Mazz Mosley
a772a0d7d7 Remove redundant try/except
Code cleanup. We no longer need this as the api returns a 304 for any
stopped containers, which doesn't raise an error.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-27 19:33:28 -04:00
Mazz Mosley
6f0096c87b Move rename functionality into Container
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-27 19:33:28 -04:00
Mazz Mosley
da41ed22f9 Fix tests
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-27 19:33:28 -04:00
Mazz Mosley
d6fa8596d2 Attach to a container's log_stream before they're started
So we're not displaying output of all previous logs for a container, we attach,
if possible, to a container before the container is started.

LogPrinter checks if a container has a log_stream already attached and
print from that rather than always attempting to attach one itself.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-27 19:33:28 -04:00
Daniel Nephin
a9b4fe768d Fix running one-off containers with --x-networking by disabling linking to self.
docker create fails if networking and links are used together.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-27 19:33:28 -04:00
Daniel Nephin
88e53e177d Upgrade pyinstaller to 3.0
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-26 13:05:41 -04:00
Daniel Nephin
e168fd03ca Fix unicode in environment variables for python2.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-26 13:05:41 -04:00
Daniel Nephin
95a23eb682 Change version check from engine version to api version.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-26 13:05:40 -04:00
Daniel Nephin
f5ad363143 Use inspect network to query for an existing network.
And more tests for get_network()

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-26 13:05:40 -04:00
Daniel Nephin
f290faf4ba Minor refactor to use guard and replace instead of split+join
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-21 11:29:49 -04:00
Daniel Nephin
725088a18b Force windows drives to be lowercase.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-21 11:29:49 -04:00
Daniel Nephin
bf672ec340 Fixes #2205 - extends must be copied from override file.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-20 11:27:11 -04:00
Mazz Mosley
0e4f9c9a66 Environment keys can contain empty values
Environment keys that contain no value, get populated with values taken
from the environment not from the build phase but from running the command `up`.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-19 15:16:19 -04:00
Mazz Mosley
5fdb75b541 Improve error message for type constraints
It was missing a space between the different types, when there
were 3 possible type values.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-19 15:16:19 -04:00
Daniel Nephin
24d4a1045a Fixes #2203 - properly validate files when multiple files are used.
Remove the single-use decorators so the functionality can be used directly as a function.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-19 15:16:19 -04:00
Daniel Nephin
514f0650b2 Give the user a better error message (without a stack trace) when there is a yaml error.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-19 12:02:40 -04:00
Steve Durrheimer
20d34c8b14 Add zsh completion for 'docker-compose --x-networking --x-network-driver'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
2015-10-19 10:38:22 -04:00
Harald Albers
6f45eb7959 bash completion for networking options
Signed-off-by: Harald Albers <github@albersweb.de>
2015-10-19 10:11:35 -04:00
Mazz Mosley
49b98fa111 Attempt to document escaping env vars
People are likely to run into their env vars being set to empty strings,
if they're not aware that they need to escape them for Compose to not
interpolate them.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-16 15:52:32 -04:00
Cameron Eagans
6048630a11 docker-compose pull SERVICE should not pull SERVICE's dependencies
Signed-off-by: Cameron Eagans <me@cweagans.net>
2015-10-16 12:59:57 -04:00
Aanand Prasad
46de4411a7 Revert networking-related changes to getting started guides
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-10-16 12:59:57 -04:00
Karol Duleba
883f251e7d Docs for shorthand notation of extends. Issue #1989
Signed-off-by: Karol Duleba <mr.fuxi@gmail.com>
2015-10-16 12:59:57 -04:00
Daniel Nephin
284cda087e Add missing merge for release branch.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-16 12:59:57 -04:00
Daniel Nephin
b2f9c182f3 Fix some release docs.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-16 12:59:57 -04:00
Daniel Nephin
558098d322 Add a script to generate contributor list.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-16 12:59:57 -04:00
Per Persson
6571e079b9 Remove incorrectly placed comment
I'm not sure if it should be there at all, but at least it should hardly be where it currently is located.

Signed-off-by: Per Persson <per.persson@exertisztorm.com>
2015-10-16 12:59:57 -04:00
Tim Butler
49ca23c034 Fix link to Release Process doc in README.md
Signed-off-by: Tim Butler <tim.butler.au@gmail.com>
2015-10-16 12:59:57 -04:00
Daniel Nephin
709bd9c363 Bump 1.5.0rc1
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-14 12:59:31 -04:00
Daniel Nephin
8cecf2e02d Merge remote-tracking branch 'docker/release' into bump-1.5.0rc1 2015-10-14 12:59:25 -04:00
Daniel Nephin
d59c759cdd Merge pull request #2082 from dnephin/bump-1.4.2
[WIP] Release 1.4.2
2015-09-22 14:17:04 -04:00
Daniel Nephin
7b5d5fcd58 Bump 1.4.2
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-22 12:26:51 -04:00
Daniel Nephin
d01f712376 Fix a test case that assumes busybox image id.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-22 12:26:51 -04:00
Daniel Nephin
ac75d35927 Fix #1961 - docker-compose up should attach to all containers with no service names are specified, and add tests.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-22 11:09:59 -04:00
Daniel Nephin
605d7f26e7 Merge pull request #2027 from dnephin/bump-1.4.1
Bump 1.4.1
2015-09-15 17:47:09 -04:00
Daniel Nephin
b24ca75914 Bump 1.4.1
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-14 18:18:01 -04:00
Daniel Nephin
2b75741e5a Fix cherry-pick errors.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-11 14:22:35 -04:00
Daniel Nephin
7ff8c2b224 Resolves #1804
Fix mutation of service.options when a label or environment variable is specified in the config.

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-10 19:32:30 -04:00
Daniel Nephin
db31adc208 Extract link names into a function.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-10 19:32:30 -04:00
Daniel Nephin
805f6a7683 Refactor network_mode logic out of Service.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-10 19:32:30 -04:00
Daniel Nephin
d92f323e6d Fixes #1757 - include all service properties in the config_dict()
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-10 19:32:30 -04:00
Daniel Nephin
cf2dbf55b8 Cleanup some project logic.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-10 19:32:30 -04:00
Daniel Nephin
8d4c724c2d Sort config keys
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-10 19:32:30 -04:00
Daniel Nephin
9cb2770da4 Make external_links a regular service.option so that it's part of the config hash
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-10 19:32:30 -04:00
Daniel Nephin
6a23491fa9 Resolves #1856, fix regression in #1645. Includes some refactoring to make testing easier.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-10 19:32:30 -04:00
Mazz Mosley
294b9742be Handle all exceptions
If we get back an error that wasn't an APIError, it was causing the
thread to hang. This catch all, while I appreciate feels risky to
have a catch all, is better than not catching and silently failing,
with a never ending thread.

If something worse than an APIError has gone wrong, we want to stop
the incredible journey of what we're doing.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-10 19:32:30 -04:00
Aanand Prasad
a9b1f15f92 Fix volume path warning
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-09-10 19:32:29 -04:00
Aanand Prasad
aa7c7cdf93 Merge pull request #1763 from aanand/bump-1.4.0
Bump 1.4.0
2015-08-11 18:38:49 +01:00
Aanand Prasad
28139ab90d Bump 1.4.0
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-11 16:00:20 +01:00
Aanand Prasad
d0792b49fa Merge pull request #1846 from aanand/fix-mem-limit-options
Fix mem_limit and memswap_limit regression
(cherry picked from commit 93cc7e3751)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-11 16:00:20 +01:00
Mazz Mosley
5548aa5c79 Merge pull request #1833 from aanand/deprecate-relative-volumes-without-dot
Show a warning when a relative path is specified without "./"
(cherry picked from commit 52733f6996)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>

Conflicts:
	compose/config.py
	tests/unit/config_test.py
2015-08-11 12:57:42 +01:00
Ben Firshman
16440ff055 Merge pull request #1829 from vlajos/typofixes-vlajos-20150807
typofix - https://github.com/vlajos/misspell_fixer
(cherry picked from commit b7baa899e2)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-11 09:44:28 +01:00
Ben Firshman
7850d6de45 Merge pull request #1832 from aanand/use-docker-1.8.0-rc3
Test against Docker 1.8.0 RC3
(cherry picked from commit afc9629c59)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-11 09:44:28 +01:00
Ben Firshman
74b4fb89bb Merge pull request #1835 from aanand/fix-crash-when-container-has-no-name
Ignore containers that don't have a name
(cherry picked from commit 4e12ce39b3)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-11 09:44:27 +01:00
Ben Firshman
22ccf35fa1 Merge pull request #1836 from aanand/use-overlay-driver-in-tests
Use overlay driver in tests
(cherry picked from commit 197d332620)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-11 09:44:27 +01:00
Aanand Prasad
7ad1fe24bd Merge pull request #1815 from aanand/abort-if-daemon-cant-start
Abort tests if daemon fails to start
(cherry picked from commit f7b9daf927)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-11 09:44:27 +01:00
Aanand Prasad
450ba978c1 Merge pull request #1812 from moxiegirl/install-update-for-1811
Closes #1811 for Toolbox
(cherry picked from commit 6cb8e512f2)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>

Conflicts:
	docs/install.md
2015-08-10 12:51:10 +01:00
Aanand Prasad
3d6946417d Merge pull request #1800 from aanand/volume-driver-support
Support volume_driver
(cherry picked from commit 41b9df7639)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 16:29:24 +01:00
Daniel Nephin
31cf63b374 Merge pull request #1799 from d2bit/clean-rails-quickstart-guide-db-config
Remove useless postgres 'port' configuration
(cherry picked from commit b25f05bed4)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:46:07 +01:00
Daniel Nephin
5c853c4a2c Merge pull request #1794 from aanand/add-test-for-trailing-slash-volume-copy
Add test for trailing slash volume copying bug
(cherry picked from commit ea7276031c)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:44 +01:00
Aanand Prasad
ad922cd7a1 Merge pull request #1787 from aanand/fix-duplicate-volume-bind
Fix "Duplicate volume mount" error when config has trailing slashes
(cherry picked from commit dc7bdd10d4)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:44 +01:00
Aanand Prasad
49bafdc4cd Merge pull request #1777 from aanand/update-api-version
Update API version to 1.19
(cherry picked from commit 276e369c31)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:44 +01:00
Aanand Prasad
989b2491b9 Merge pull request #1780 from gheart/specify_api_version_via_env
Allow API version specification via env var
(cherry picked from commit 2759ab5ab6)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:44 +01:00
Aanand Prasad
ca2ce3a034 Merge pull request #1779 from aanand/mac-binary-error-hint
Add hint about OS X binary compatibility
(cherry picked from commit 1496734cbb)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:43 +01:00
Aanand Prasad
dfe9dccab8 Merge pull request #1774 from moxiegirl/test-entire-build
Contributors can build public docs with compose docs in context
(cherry picked from commit 487eae3b7b)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:43 +01:00
Aanand Prasad
d456c3909d Merge remote-tracking branch 'origin/release' into bump-1.4.0 2015-07-23 16:46:57 +01:00
Aanand Prasad
29ceef6d93 Merge pull request #1706 from aanand/bump-1.3.3
Bump 1.3.3
2015-07-16 11:40:20 +01:00
Aanand Prasad
8cff440800 Bump 1.3.3
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-16 11:21:01 +01:00
Mazz Mosley
e5f6ae767d Merge pull request #1704 from aanand/fix-timeout-type
Make sure up/restart/stop timeout is an int
(cherry picked from commit c7dccccd1f)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-16 11:19:21 +01:00
Aanand Prasad
cd44179305 Merge pull request #1705 from aanand/fix-labels-null
Handle case where /containers/json returns "Labels": null
(cherry picked from commit 7b9664be8e)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-15 17:33:08 +01:00
Aanand Prasad
c3c5b354b8 Merge pull request #1690 from aanand/bump-1.3.2
Bump 1.3.2
2015-07-14 18:04:22 +01:00
Aanand Prasad
95cf195dbd Bump 1.3.2
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-14 17:40:43 +01:00
Aanand Prasad
a80afd67ab Merge pull request #1688 from aanand/use-docker-py-1.3.0
Use docker-py 1.3.0
(cherry picked from commit 1e71eebc74)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-14 17:29:25 +01:00
Aanand Prasad
4bc4d273ac Merge pull request #1643 from aanand/warn-about-legacy-one-off-containers
Show an error on 'run' when there are legacy one-off containers
(cherry picked from commit 81707ef1ad)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-14 17:29:12 +01:00
Aanand Prasad
4911c77134 Merge pull request #1489 from dnephin/faster_integration_tests
Faster integration tests
(cherry picked from commit 5231288b4e)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>

Conflicts:
	compose/cli/main.py
2015-07-14 17:28:54 +01:00
Aanand Prasad
c1b9a76a54 Merge pull request #1658 from aanand/fix-smart-recreate-nonexistent-image
Fix smart recreate when 'image' is changed to something nonexistent
(cherry picked from commit 2bc10db545)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-14 17:25:33 +01:00
Aanand Prasad
c31e25af72 Merge pull request #1642 from aanand/fix-1573
Fix bug where duplicate container is leftover after 'up' fails
(cherry picked from commit f42fd6a3ad)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-14 17:25:03 +01:00
Aanand Prasad
c8295d36cc Merge pull request #1644 from aanand/fix-rm-bug
Stop 'rm' and 'ps' listing services not defined in the current file
(cherry picked from commit d85688892c)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-14 17:24:15 +01:00
Aanand Prasad
b12c29479e Merge pull request #1521 from dano/validate-service-names
Validate that service names passed to Project.containers aren't bogus.
(cherry picked from commit bc14c473c9)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-14 17:24:15 +01:00
Aanand Prasad
cd47829f3d Merge pull request #1588 from aanand/bump-1.3.1
Bump 1.3.1
2015-06-22 08:01:13 -07:00
Aanand Prasad
4d4ef4e0b3 Bump 1.3.1
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-21 17:32:36 -07:00
Aanand Prasad
882ef2ccd8 Merge pull request #1578 from aanand/fix-migrate-help
Fix 'docker-compose help migrate-to-labels'
(cherry picked from commit c8751980f9)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-21 17:28:18 -07:00
Aanand Prasad
d6cd76c3c1 Merge pull request #1570 from aanand/fix-build-pull
Explicitly set pull=False when building
(cherry picked from commit 4f83a18912)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-21 17:28:09 -07:00
Ben Firshman
bd0be2cdc7 Merge pull request #1580 from aanand/dont-set-network-mode-when-none-is-specified
Don't set network mode when none is specified
(cherry picked from commit 911cd60360)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-21 17:27:59 -07:00
Aanand Prasad
a8d7ebd987 Merge pull request #1461 from aanand/bump-1.3.0
Bump 1.3.0
2015-06-18 11:41:40 -07:00
Aanand Prasad
00f61196a4 Bump 1.3.0
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-18 11:25:10 -07:00
Aanand Prasad
c21d6706b6 Merge pull request #1565 from aanand/use-docker-1.7.0
Use docker 1.7.0 and docker-py 1.2.3
(cherry picked from commit 8ffeaf2a54)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>

Conflicts:
	Dockerfile
2015-06-18 11:25:10 -07:00
Aanand Prasad
c3c5d91c47 Merge pull request #1563 from moxiegirl/hugo-test-fixes
Hugo final 1.7 Documentation PR -- please read carefully
(cherry picked from commit 4e73e86d94)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-18 11:25:10 -07:00
Aanand Prasad
7fa4cd1214 Merge pull request #1552 from aanand/add-upgrade-instructions
Add upgrading instructions to install docs
(cherry picked from commit bc7161b475)
2015-06-16 16:29:18 -07:00
Aanand Prasad
f353d9fbc0 Merge pull request #1406 from vdemeester/667-compose-port-scale
Fixing docker-compose port with scale (#667)
(cherry picked from commit 5b2a0cc73d)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:08 -07:00
Daniel Nephin
09018855ce Merge pull request #1550 from aanand/update-docker-py
Update setup.py with new docker-py minimum
(cherry picked from commit b3b44b8e4c)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:08 -07:00
Aanand Prasad
719954b02f Merge pull request #1545 from moxiegirl/test-tooling
Updated for new documentation tooling
(cherry picked from commit aaccd12d3d)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:08 -07:00
Daniel Nephin
67bc3fabe4 Merge pull request #1544 from aanand/fix-volume-deduping
Fix volume binds de-duplication
(cherry picked from commit 77e594dc94)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:08 -07:00
Daniel Nephin
e724a346c7 Merge pull request #1526 from aanand/remove-start-or-create-containers
Remove Service.start_or_create_containers()
(cherry picked from commit 38a11c4c28)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:08 -07:00
Daniel Nephin
87b4545b44 Merge pull request #1508 from thaJeztah/update-dockerproject-links
Update dockerproject.com links
(cherry picked from commit 417e6ce0c9)
2015-06-15 11:22:07 -07:00
Aanand Prasad
58a7844129 Merge pull request #1482 from bfirsh/add-build-and-dist-to-dockerignore
Make it possible to run tests remotely
(cherry picked from commit c8e096e089)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:07 -07:00
Daniel Nephin
4353f7b9f9 Merge pull request #1475 from fordhurley/patch-1
Fix markdown formatting for `--service-ports` example
(cherry picked from commit d64bf88e26)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:07 -07:00
Aanand Prasad
8f8693e13e Merge pull request #1480 from bfirsh/change-sigint-test-to-use-sigstop
Change kill SIGINT test to use SIGSTOP
(cherry picked from commit a15f996744)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:07 -07:00
Ben Firshman
363a6563c7 Merge pull request #1537 from aanand/reorder-service-utils
Reorder service.py utility methods
(cherry picked from commit e3525d64b5)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:07 -07:00
Aanand Prasad
59d6af73fa Merge pull request #1539 from bfirsh/add-image-affinity-to-test
Add image affinity to test script
(cherry picked from commit 4c2112dbfd)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:07 -07:00
Aanand Prasad
cd7f67018e Merge pull request #1466 from noironetworks/changing-scale-to-warning
Modified scale awareness from exception to warning
(cherry picked from commit 7d2a89427c)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:07 -07:00
Ben Firshman
b7e8770c4f Merge pull request #1538 from thieman/tnt-serivce-misspelled
Correct misspelling of "Service" in an error message
(cherry picked from commit bd246fb011)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:07 -07:00
Aanand Prasad
ad4cc5d6df Merge pull request #1497 from aanand/use-1.7-rc1
Run tests against Docker 1.7 RC2
(cherry picked from commit 0e9ccd36f3)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:06 -07:00
Aanand Prasad
ca14ed68f7 Merge pull request #1533 from edmorley/update-b2d-shellinit-example
Docs: Update boot2docker shellinit example to use 'eval'
(cherry picked from commit 17e03b29f9)
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:06 -07:00
Daniel Nephin
71514cb380 Merge pull request #1531 from aanand/test-crash-resilience
Test that data volumes now survive a crash when recreating
(cherry picked from commit 87c30ae6e4)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-15 11:22:06 -07:00
Daniel Nephin
8212f1bd45 Merge pull request #1529 from aanand/update-dockerpty
Update dockerpty to 0.3.4
(cherry picked from commit 95b2eaac04)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-09 18:24:14 -04:00
Daniel Nephin
dca3bbdea3 Merge pull request #1527 from aanand/remove-logging-on-run-rm
Remove logging on run --rm
(cherry picked from commit 5578ccbb01)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-09 14:39:53 -04:00
Daniel Nephin
8ed7dfef6f Merge pull request #1525 from aanand/fix-duplicate-logging
Fix duplicate logging on up/run
(cherry picked from commit e2b790f732)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-09 14:39:52 -04:00
Daniel Nephin
631f5be02f Merge pull request #1481 from albers/completion-smart-recreate
Support --x-smart-recreate in bash completion
(cherry picked from commit 9a0bb325f2)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-09 14:39:52 -04:00
Ben Firshman
4f4ea2a402 Merge pull request #1325 from sdurrheimer/master
Zsh completion for docker-compose
(cherry picked from commit b638728d6c)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>

Conflicts:
	docs/completion.md
2015-06-09 14:39:50 -04:00
Aanand Prasad
5a5bffebd1 Merge pull request #1464 from twhiteman/bug1461
Possible division by zero error when pulling an image - fixes #1463
(cherry picked from commit d0e87929a1)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-09 14:39:05 -04:00
Aanand Prasad
8749bc0844 Build Python 2.7.9 in Docker image
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-02 11:39:17 +01:00
Aanand Prasad
f3d0c63db2 Make sure we use Python 2.7.9 and OpenSSL 1.0.1 when building OSX binary
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-06-02 11:39:17 +01:00
Aanand Prasad
93a846db31 Report Python and OpenSSL versions in --version output
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>

Conflicts:
	compose/cli/utils.py
2015-06-02 11:39:17 +01:00
Aanand Prasad
686c25d50f Script to prepare OSX build environment
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-05-27 17:52:23 +01:00
Aanand Prasad
ef6555f084 Merge branch 'release' into bump-1.3.0 2015-05-26 17:45:28 +01:00
Ben Firshman
3c6652c101 Merge pull request #1308 from aanand/update-docs-1.2.0
Update docs for 1.2.0
2015-04-17 10:35:06 -07:00
Aanand Prasad
43af1684c1 Update docs for 1.2.0
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-04-17 16:02:57 +01:00
Aanand Prasad
ed549155b3 Merge pull request #1159 from aanand/bump-1.2.0
Bump 1.2.0
2015-04-16 17:46:47 +01:00
Aanand Prasad
39ae91c81c Bump 1.2.0
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-04-16 13:53:27 +01:00
Daniel Nephin
b6acb3cd8c Merge pull request #1278 from albers/completion-run-user
Add bash completion for docker-compose run --user
(cherry picked from commit 3cd116b99d)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-04-16 13:50:33 +01:00
Ben Firshman
a467a8a094 Merge pull request #1261 from aanand/fix-vars-in-volume-paths
Fix vars in volume paths
(cherry picked from commit 4926f8aef6)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>

Conflicts:
	tests/unit/service_test.py
2015-04-09 15:26:10 +01:00
Aanand Prasad
78227c3c06 Merge pull request #1202 from aanand/jenkins-script
WIP: Jenkins script
(cherry picked from commit 853ce255ea)
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-04-01 11:00:51 -04:00
Daniel Nephin
e4e802d1f8 Merge pull request #1213 from moysesb/relative_build
Make value of 'build:' relative to the yml file.
(cherry picked from commit 0f70b8638f)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-04-01 11:00:48 -04:00
Aanand Prasad
b24a60ba9f Merge pull request #1226 from aanand/merge-multi-value-options
Merge multi-value options when extending
(cherry picked from commit e708f4f59d)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-04-01 11:00:45 -04:00
Aanand Prasad
461b600068 Merge pull request #1225 from aanand/fix-1222
When extending, `build` replaces `image` and vice versa
(cherry picked from commit 6dbe321a45)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-04-01 11:00:40 -04:00
21 changed files with 358 additions and 41 deletions

View file

@ -1,6 +1,106 @@
Change log Change log
========== ==========
1.9.0 (2016-11-16)
-----------------
**Breaking changes**
- When using Compose with Docker Toolbox/Machine on Windows, volume paths are
no longer converted from `C:\Users` to `/c/Users`-style by default. To
re-enable this conversion so that your volumes keep working, set the
environment variable `COMPOSE_CONVERT_WINDOWS_PATHS=1`. Users of
Docker for Windows are not affected and do not need to set the variable.
New Features
- Interactive mode for `docker-compose run` and `docker-compose exec` is
now supported on Windows platforms. Please note that the `docker` binary
is required to be present on the system for this feature to work.
- Introduced version 2.1 of the `docker-compose.yml` specification. This
version requires to be used with Docker Engine 1.12 or above.
- Added support for setting volume labels and network labels in
`docker-compose.yml`.
- Added support for the `isolation` parameter in service definitions.
- Added support for link-local IPs in the service networks definitions.
- Added support for shell-style inline defaults in variable interpolation.
The supported forms are `${FOO-default}` (fall back if FOO is unset) and
`${FOO:-default}` (fall back if FOO is unset or empty).
- Added support for the `group_add` and `oom_score_adj` parameters in
service definitions.
- Added support for the `internal` and `enable_ipv6` parameters in network
definitions.
- Compose now defaults to using the `npipe` protocol on Windows.
- Overriding a `logging` configuration will now properly merge the `options`
mappings if the `driver` values do not conflict.
Bug Fixes
- Fixed several bugs related to `npipe` protocol support on Windows.
- Fixed an issue with Windows paths being incorrectly converted when
using Docker on Windows Server.
- Fixed a bug where an empty `restart` value would sometimes result in an
exception being raised.
- Fixed an issue where service logs containing unicode characters would
sometimes cause an error to occur.
- Fixed a bug where unicode values in environment variables would sometimes
raise a unicode exception when retrieved.
- Fixed an issue where Compose would incorrectly detect a configuration
mismatch for overlay networks.
1.8.1 (2016-09-22)
-----------------
Bug Fixes
- Fixed a bug where users using a credentials store were not able
to access their private images.
- Fixed a bug where users using identity tokens to authenticate
were not able to access their private images.
- Fixed a bug where an `HttpHeaders` entry in the docker configuration
file would cause Compose to crash when trying to build an image.
- Fixed a few bugs related to the handling of Windows paths in volume
binding declarations.
- Fixed a bug where Compose would sometimes crash while trying to
read a streaming response from the engine.
- Fixed an issue where Compose would crash when encountering an API error
while streaming container logs.
- Fixed an issue where Compose would erroneously try to output logs from
drivers not handled by the Engine's API.
- Fixed a bug where options from the `docker-machine config` command would
not be properly interpreted by Compose.
- Fixed a bug where the connection to the Docker Engine would
sometimes fail when running a large number of services simultaneously.
- Fixed an issue where Compose would sometimes print a misleading
suggestion message when running the `bundle` command.
- Fixed a bug where connection errors would not be handled properly by
Compose during the project initialization phase.
- Fixed a bug where a misleading error would appear when encountering
a connection timeout.
1.8.0 (2016-06-14) 1.8.0 (2016-06-14)
----------------- -----------------

82
Jenkinsfile vendored
View file

@ -1,8 +1,80 @@
// Only run on Linux atm #!groovy
wrappedNode(label: 'docker') {
deleteDir()
stage "checkout"
checkout scm
def image
def checkDocs = { ->
wrappedNode(label: 'linux') {
deleteDir(); checkout(scm)
documentationChecker("docs") documentationChecker("docs")
} }
}
def buildImage = { ->
wrappedNode(label: "ubuntu && !zfs", cleanWorkspace: true) {
stage("build image") {
deleteDir(); checkout(scm)
def imageName = "dockerbuildbot/compose:${gitCommit()}"
image = docker.image(imageName)
try {
image.pull()
} catch (Exception exc) {
image = docker.build(imageName, ".")
image.push()
}
}
}
}
def runTests = { Map settings ->
def dockerVersions = settings.get("dockerVersions", null)
def pythonVersions = settings.get("pythonVersions", null)
if (!pythonVersions) {
throw new Exception("Need Python versions to test. e.g.: `runTests(pythonVersions: 'py27,py34')`")
}
if (!dockerVersions) {
throw new Exception("Need Docker versions to test. e.g.: `runTests(dockerVersions: 'all')`")
}
{ ->
wrappedNode(label: "ubuntu && !zfs", cleanWorkspace: true) {
stage("test python=${pythonVersions} / docker=${dockerVersions}") {
deleteDir(); checkout(scm)
def storageDriver = sh(script: 'docker info | awk -F \': \' \'$1 == "Storage Driver" { print $2; exit }\'', returnStdout: true).trim()
echo "Using local system's storage driver: ${storageDriver}"
sh """docker run \\
-t \\
--rm \\
--privileged \\
--volume="\$(pwd)/.git:/code/.git" \\
--volume="/var/run/docker.sock:/var/run/docker.sock" \\
-e "TAG=${image.id}" \\
-e "STORAGE_DRIVER=${storageDriver}" \\
-e "DOCKER_VERSIONS=${dockerVersions}" \\
-e "BUILD_NUMBER=\$BUILD_TAG" \\
-e "PY_TEST_VERSIONS=${pythonVersions}" \\
--entrypoint="script/ci" \\
${image.id} \\
--verbose
"""
}
}
}
}
def buildAndTest = { ->
buildImage()
// TODO: break this out into meaningful "DOCKER_VERSIONS" values instead of all
parallel(
failFast: true,
all_py27: runTests(pythonVersions: "py27", dockerVersions: "all"),
all_py34: runTests(pythonVersions: "py34", dockerVersions: "all"),
)
}
parallel(
failFast: false,
docs: checkDocs,
test: buildAndTest
)

View file

@ -1,4 +1,4 @@
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import unicode_literals from __future__ import unicode_literals
__version__ = '1.9.0dev' __version__ = '1.9.0'

View file

@ -4,6 +4,7 @@ from __future__ import unicode_literals
import contextlib import contextlib
import logging import logging
import socket import socket
from distutils.spawn import find_executable
from textwrap import dedent from textwrap import dedent
from docker.errors import APIError from docker.errors import APIError
@ -13,7 +14,6 @@ from requests.exceptions import SSLError
from requests.packages.urllib3.exceptions import ReadTimeoutError from requests.packages.urllib3.exceptions import ReadTimeoutError
from ..const import API_VERSION_TO_ENGINE_VERSION from ..const import API_VERSION_TO_ENGINE_VERSION
from .utils import call_silently
from .utils import is_docker_for_mac_installed from .utils import is_docker_for_mac_installed
from .utils import is_mac from .utils import is_mac
from .utils import is_ubuntu from .utils import is_ubuntu
@ -90,11 +90,11 @@ def exit_with_error(msg):
def get_conn_error_message(url): def get_conn_error_message(url):
if call_silently(['which', 'docker']) != 0: if find_executable('docker') is None:
return docker_not_found_msg("Couldn't connect to Docker daemon.") return docker_not_found_msg("Couldn't connect to Docker daemon.")
if is_docker_for_mac_installed(): if is_docker_for_mac_installed():
return conn_error_docker_for_mac return conn_error_docker_for_mac
if call_silently(['which', 'docker-machine']) == 0: if find_executable('docker-machine') is not None:
return conn_error_docker_machine return conn_error_docker_machine
return conn_error_generic.format(url=url) return conn_error_generic.format(url=url)

View file

@ -10,6 +10,7 @@ import pipes
import re import re
import subprocess import subprocess
import sys import sys
from distutils.spawn import find_executable
from inspect import getdoc from inspect import getdoc
from operator import attrgetter from operator import attrgetter
@ -1063,9 +1064,8 @@ def exit_if(condition, message, exit_code):
def call_docker(args): def call_docker(args):
try: executable_path = find_executable('docker')
executable_path = subprocess.check_output(["which", "docker"]).strip() if not executable_path:
except subprocess.CalledProcessError:
raise UserError(errors.docker_not_found_msg("Couldn't find `docker` binary.")) raise UserError(errors.docker_not_found_msg("Couldn't find `docker` binary."))
args = [executable_path] + args args = [executable_path] + args

View file

@ -771,7 +771,7 @@ def merge_service_dicts(base, override, version):
for field in ['dns', 'dns_search', 'env_file', 'tmpfs']: for field in ['dns', 'dns_search', 'env_file', 'tmpfs']:
md.merge_field(field, merge_list_or_string) md.merge_field(field, merge_list_or_string)
md.merge_field('logging', merge_logging) md.merge_field('logging', merge_logging, default={})
for field in set(ALLOWED_KEYS) - set(md): for field in set(ALLOWED_KEYS) - set(md):
md.merge_scalar(field) md.merge_scalar(field)

View file

@ -140,6 +140,7 @@
"mac_address": {"type": "string"}, "mac_address": {"type": "string"},
"mem_limit": {"type": ["number", "string"]}, "mem_limit": {"type": ["number", "string"]},
"memswap_limit": {"type": ["number", "string"]}, "memswap_limit": {"type": ["number", "string"]},
"mem_swappiness": {"type": "integer"},
"network_mode": {"type": "string"}, "network_mode": {"type": "string"},
"networks": { "networks": {
@ -168,6 +169,14 @@
} }
] ]
}, },
"oom_score_adj": {"type": "integer", "minimum": -1000, "maximum": 1000},
"group_add": {
"type": "array",
"items": {
"type": ["string", "number"]
},
"uniqueItems": true
},
"pid": {"type": ["string", "null"]}, "pid": {"type": ["string", "null"]},
"ports": { "ports": {
@ -248,6 +257,7 @@
}, },
"additionalProperties": false "additionalProperties": false
}, },
"internal": {"type": "boolean"},
"enable_ipv6": {"type": "boolean"}, "enable_ipv6": {"type": "boolean"},
"labels": {"$ref": "#/definitions/list_or_dict"} "labels": {"$ref": "#/definitions/list_or_dict"}
}, },

View file

@ -12,6 +12,10 @@ from .config import ConfigurationError
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
OPTS_EXCEPTIONS = [
'com.docker.network.driver.overlay.vxlanid_list',
]
class Network(object): class Network(object):
def __init__(self, client, project, name, driver=None, driver_opts=None, def __init__(self, client, project, name, driver=None, driver_opts=None,
@ -49,14 +53,7 @@ class Network(object):
try: try:
data = self.inspect() data = self.inspect()
if self.driver and data['Driver'] != self.driver: check_remote_network_config(data, self)
raise ConfigurationError(
'Network "{}" needs to be recreated - driver has changed'
.format(self.full_name))
if data['Options'] != (self.driver_opts or {}):
raise ConfigurationError(
'Network "{}" needs to be recreated - options have changed'
.format(self.full_name))
except NotFound: except NotFound:
driver_name = 'the default driver' driver_name = 'the default driver'
if self.driver: if self.driver:
@ -113,6 +110,24 @@ def create_ipam_config_from_dict(ipam_dict):
) )
def check_remote_network_config(remote, local):
if local.driver and remote.get('Driver') != local.driver:
raise ConfigurationError(
'Network "{}" needs to be recreated - driver has changed'
.format(local.full_name)
)
local_opts = local.driver_opts or {}
remote_opts = remote.get('Options') or {}
for k in set.union(set(remote_opts.keys()), set(local_opts.keys())):
if k in OPTS_EXCEPTIONS:
continue
if remote_opts.get(k) != local_opts.get(k):
raise ConfigurationError(
'Network "{}" needs to be recreated - options have changed'
.format(local.full_name)
)
def build_networks(name, config_data, client): def build_networks(name, config_data, client):
network_config = config_data.networks or {} network_config = config_data.networks or {}
networks = { networks = {

View file

@ -538,6 +538,10 @@ def get_volumes_from(project, service_dict):
def warn_for_swarm_mode(client): def warn_for_swarm_mode(client):
info = client.info() info = client.info()
if info.get('Swarm', {}).get('LocalNodeState') == 'active': if info.get('Swarm', {}).get('LocalNodeState') == 'active':
if info.get('ServerVersion', '').startswith('ucp'):
# UCP does multi-node scheduling with traditional Compose files.
return
log.warn( log.warn(
"The Docker Engine you're using is running in swarm mode.\n\n" "The Docker Engine you're using is running in swarm mode.\n\n"
"Compose does not use swarm mode to deploy services to multiple nodes in a swarm. " "Compose does not use swarm mode to deploy services to multiple nodes in a swarm. "

View file

@ -10,6 +10,7 @@ from operator import attrgetter
import enum import enum
import six import six
from docker.errors import APIError from docker.errors import APIError
from docker.errors import NotFound
from docker.utils import LogConfig from docker.utils import LogConfig
from docker.utils.ports import build_port_bindings from docker.utils.ports import build_port_bindings
from docker.utils.ports import split_port from docker.utils.ports import split_port
@ -829,12 +830,11 @@ class Service(object):
repo, tag, separator = parse_repository_tag(self.options['image']) repo, tag, separator = parse_repository_tag(self.options['image'])
tag = tag or 'latest' tag = tag or 'latest'
log.info('Pulling %s (%s%s%s)...' % (self.name, repo, separator, tag)) log.info('Pulling %s (%s%s%s)...' % (self.name, repo, separator, tag))
output = self.client.pull(repo, tag=tag, stream=True)
try: try:
output = self.client.pull(repo, tag=tag, stream=True)
return progress_stream.get_digest_from_pull( return progress_stream.get_digest_from_pull(
stream_output(output, sys.stdout)) stream_output(output, sys.stdout))
except StreamOutputError as e: except (StreamOutputError, NotFound) as e:
if not ignore_pull_failures: if not ignore_pull_failures:
raise raise
else: else:

View file

@ -27,6 +27,11 @@ exe = EXE(pyz,
'compose/config/config_schema_v2.0.json', 'compose/config/config_schema_v2.0.json',
'DATA' 'DATA'
), ),
(
'compose/config/config_schema_v2.1.json',
'compose/config/config_schema_v2.1.json',
'DATA'
),
( (
'compose/GITSHA', 'compose/GITSHA',
'compose/GITSHA', 'compose/GITSHA',

View file

@ -1,7 +1,7 @@
PyYAML==3.11 PyYAML==3.11
backports.ssl-match-hostname==3.5.0.1; python_version < '3' backports.ssl-match-hostname==3.5.0.1; python_version < '3'
cached-property==1.2.0 cached-property==1.2.0
docker-py==1.10.4 docker-py==1.10.6
dockerpty==0.4.1 dockerpty==0.4.1
docopt==0.6.1 docopt==0.6.1
enum34==1.0.4; python_version < '3.4' enum34==1.0.4; python_version < '3.4'

View file

@ -65,8 +65,8 @@ git config "branch.${BRANCH}.release" $VERSION
editor=${EDITOR:-vim} editor=${EDITOR:-vim}
echo "Update versions in docs/install.md, compose/__init__.py, script/run/run.sh" echo "Update versions in compose/__init__.py, script/run/run.sh"
$editor docs/install.md # $editor docs/install.md
$editor compose/__init__.py $editor compose/__init__.py
$editor script/run/run.sh $editor script/run/run.sh

View file

@ -15,7 +15,7 @@
set -e set -e
VERSION="1.8.0" VERSION="1.9.0"
IMAGE="docker/compose:$VERSION" IMAGE="docker/compose:$VERSION"

View file

@ -24,6 +24,7 @@ fi
BUILD_NUMBER=${BUILD_NUMBER-$USER} BUILD_NUMBER=${BUILD_NUMBER-$USER}
PY_TEST_VERSIONS=${PY_TEST_VERSIONS:-py27,py34}
for version in $DOCKER_VERSIONS; do for version in $DOCKER_VERSIONS; do
>&2 echo "Running tests against Docker $version" >&2 echo "Running tests against Docker $version"
@ -58,6 +59,6 @@ for version in $DOCKER_VERSIONS; do
--env="DOCKER_VERSION=$version" \ --env="DOCKER_VERSION=$version" \
--entrypoint="tox" \ --entrypoint="tox" \
"$TAG" \ "$TAG" \
-e py27,py34 -- "$@" -e "$PY_TEST_VERSIONS" -- "$@"
done done

View file

@ -34,7 +34,7 @@ install_requires = [
'requests >= 2.6.1, != 2.11.0, < 2.12', 'requests >= 2.6.1, != 2.11.0, < 2.12',
'texttable >= 0.8.1, < 0.9', 'texttable >= 0.8.1, < 0.9',
'websocket-client >= 0.32.0, < 1.0', 'websocket-client >= 0.32.0, < 1.0',
'docker-py >= 1.10.4, < 2.0', 'docker-py >= 1.10.6, < 2.0',
'dockerpty >= 0.4.1, < 0.5', 'dockerpty >= 0.4.1, < 0.5',
'six >= 1.3.0, < 2', 'six >= 1.3.0, < 2',
'jsonschema >= 2.5.1, < 3', 'jsonschema >= 2.5.1, < 3',

View file

@ -330,12 +330,13 @@ class CLITestCase(DockerClientTestCase):
def test_pull_with_ignore_pull_failures(self): def test_pull_with_ignore_pull_failures(self):
result = self.dispatch([ result = self.dispatch([
'-f', 'ignore-pull-failures.yml', '-f', 'ignore-pull-failures.yml',
'pull', '--ignore-pull-failures']) 'pull', '--ignore-pull-failures']
)
assert 'Pulling simple (busybox:latest)...' in result.stderr assert 'Pulling simple (busybox:latest)...' in result.stderr
assert 'Pulling another (nonexisting-image:latest)...' in result.stderr assert 'Pulling another (nonexisting-image:latest)...' in result.stderr
assert 'Error: image library/nonexisting-image' in result.stderr assert ('repository nonexisting-image not found' in result.stderr or
assert 'not found' in result.stderr 'image library/nonexisting-image:latest not found' in result.stderr)
def test_build_plain(self): def test_build_plain(self):
self.base_dir = 'tests/fixtures/simple-dockerfile' self.base_dir = 'tests/fixtures/simple-dockerfile'

View file

@ -826,9 +826,9 @@ class ProjectTest(DockerClientTestCase):
name='composetest', name='composetest',
config_data=config_data config_data=config_data
) )
project.up() project.up(detached=True)
service_container = project.get_service('web').containers()[0] service_container = project.get_service('web').containers(stopped=True)[0]
ipam_config = service_container.inspect().get( ipam_config = service_container.inspect().get(
'NetworkSettings', {} 'NetworkSettings', {}
).get( ).get(
@ -857,8 +857,8 @@ class ProjectTest(DockerClientTestCase):
name='composetest', name='composetest',
config_data=config_data config_data=config_data
) )
project.up() project.up(detached=True)
service_container = project.get_service('web').containers()[0] service_container = project.get_service('web').containers(stopped=True)[0]
assert service_container.inspect()['HostConfig']['Isolation'] == 'default' assert service_container.inspect()['HostConfig']['Isolation'] == 'default'
@v2_1_only() @v2_1_only()

View file

@ -16,9 +16,9 @@ def mock_logging():
yield mock_log yield mock_log
def patch_call_silently(side_effect): def patch_find_executable(side_effect):
return mock.patch( return mock.patch(
'compose.cli.errors.call_silently', 'compose.cli.errors.find_executable',
autospec=True, autospec=True,
side_effect=side_effect) side_effect=side_effect)
@ -27,7 +27,7 @@ class TestHandleConnectionErrors(object):
def test_generic_connection_error(self, mock_logging): def test_generic_connection_error(self, mock_logging):
with pytest.raises(errors.ConnectionError): with pytest.raises(errors.ConnectionError):
with patch_call_silently([0, 1]): with patch_find_executable(['/bin/docker', None]):
with handle_connection_errors(mock.Mock()): with handle_connection_errors(mock.Mock()):
raise ConnectionError() raise ConnectionError()

View file

@ -1657,6 +1657,51 @@ class ConfigTest(unittest.TestCase):
} }
} }
def test_merge_logging_v2_no_base(self):
base = {
'image': 'alpine:edge'
}
override = {
'logging': {
'driver': 'json-file',
'options': {
'frequency': '2000'
}
}
}
actual = config.merge_service_dicts(base, override, V2_0)
assert actual == {
'image': 'alpine:edge',
'logging': {
'driver': 'json-file',
'options': {
'frequency': '2000'
}
}
}
def test_merge_logging_v2_no_override(self):
base = {
'image': 'alpine:edge',
'logging': {
'driver': 'syslog',
'options': {
'frequency': '2000'
}
}
}
override = {}
actual = config.merge_service_dicts(base, override, V2_0)
assert actual == {
'image': 'alpine:edge',
'logging': {
'driver': 'syslog',
'options': {
'frequency': '2000'
}
}
}
def test_external_volume_config(self): def test_external_volume_config(self):
config_details = build_config_details({ config_details = build_config_details({
'version': '2', 'version': '2',
@ -2448,6 +2493,15 @@ class EnvTest(unittest.TestCase):
{'ONE': '2', 'TWO': '1', 'THREE': '3', 'FOO': 'bar'}, {'ONE': '2', 'TWO': '1', 'THREE': '3', 'FOO': 'bar'},
) )
def test_environment_overrides_env_file(self):
self.assertEqual(
resolve_environment({
'environment': {'FOO': 'baz'},
'env_file': ['tests/fixtures/env/one.env'],
}),
{'ONE': '2', 'TWO': '1', 'THREE': '3', 'FOO': 'baz'},
)
def test_resolve_environment_with_multiple_env_files(self): def test_resolve_environment_with_multiple_env_files(self):
service_dict = { service_dict = {
'env_file': [ 'env_file': [

View file

@ -0,0 +1,55 @@
from __future__ import absolute_import
from __future__ import unicode_literals
import pytest
from .. import unittest
from compose.config import ConfigurationError
from compose.network import check_remote_network_config
from compose.network import Network
class NetworkTest(unittest.TestCase):
def test_check_remote_network_config_success(self):
options = {'com.docker.network.driver.foo': 'bar'}
net = Network(
None, 'compose_test', 'net1', 'bridge',
options
)
check_remote_network_config(
{'Driver': 'bridge', 'Options': options}, net
)
def test_check_remote_network_config_whitelist(self):
options = {'com.docker.network.driver.foo': 'bar'}
remote_options = {
'com.docker.network.driver.overlay.vxlanid_list': '257',
'com.docker.network.driver.foo': 'bar'
}
net = Network(
None, 'compose_test', 'net1', 'overlay',
options
)
check_remote_network_config(
{'Driver': 'overlay', 'Options': remote_options}, net
)
def test_check_remote_network_config_driver_mismatch(self):
net = Network(None, 'compose_test', 'net1', 'overlay')
with pytest.raises(ConfigurationError):
check_remote_network_config(
{'Driver': 'bridge', 'Options': {}}, net
)
def test_check_remote_network_config_options_mismatch(self):
net = Network(None, 'compose_test', 'net1', 'overlay')
with pytest.raises(ConfigurationError):
check_remote_network_config({'Driver': 'overlay', 'Options': {
'com.docker.network.driver.foo': 'baz'
}}, net)
def test_check_remote_network_config_null_remote(self):
net = Network(None, 'compose_test', 'net1', 'overlay')
check_remote_network_config(
{'Driver': 'overlay', 'Options': None}, net
)