Commit Graph

832 Commits

Author SHA1 Message Date
Joffrey F 9018511750
Merge pull request #6234 from zasca/tilda_src_paths
Improved expanding source paths of volumes
2018-10-08 18:51:40 +02:00
Alexander 9d7202d122 Squashed commit of the following:
commit d3fbd3d630099dc0d34cb1a93b0a664f633a1c25
Author: zasca <gorstav@gmail.com>
Date:   Wed Oct 3 11:27:43 2018 +0600

    Fix typo in function name, path separator updated

commit bc3f03cd9a7702b3f2d96b18380d75e10f18def0
Author: zasca <gorstav@gmail.com>
Date:   Tue Oct 2 11:12:28 2018 +0600

    Fix endswith arg in the test

commit 602d2977b4e881850c99c7555bc284690a802815
Author: zasca <gorstav@gmail.com>
Date:   Mon Oct 1 12:24:17 2018 +0600

    Update test

commit 6cd7a4a2c411ddf9b8e7d91194c60fb2238db8d7
Author: zasca <gorstav@gmail.com>
Date:   Fri Sep 28 11:13:36 2018 +0600

    Fix last test

commit 0d37343433caceec18ea15babf924b5975b83c80
Author: zasca <gorstav@gmail.com>
Date:   Fri Sep 28 10:58:57 2018 +0600

    Unit test added

commit fc086e544677dd33bad798c773cb92600aaefc51
Author: zasca <gorstav@gmail.com>
Date:   Thu Sep 27 20:28:03 2018 +0600

    Improved expanding source paths of volumes

    defined with long syntax when paths starts with '~'

    Signed-off-by: Alexander <a.gorst.vinia@gmail.com>
2018-10-05 14:52:56 +06:00
Antony MECHIN 5b9b519e8a utils: Fix typo in unique_everseen.
Signed-off-by: Antony MECHIN <antony.mechin@docker.com>
2018-09-27 14:17:32 +02:00
Antony MECHIN 39b0518850 tests.unity.service: Make sure volumes order is preserved.
Signed-off-by: Antony MECHIN <antony.mechin@docker.com>
2018-09-26 15:57:27 +02:00
Antony MECHIN de1958c5ff utils: Add unique_everseen (from itertools recipies).
Signed-off-by: Antony MECHIN <antony.mechin@docker.com>
2018-09-26 15:57:27 +02:00
Antony MECHIN bbcfce4029 tests.unit.config: Make sure volume order is preserved.
Signed-off-by: Antony MECHIN <antony.mechin@docker.com>
2018-09-26 15:57:27 +02:00
Antony MECHIN 879f7cb1ed tests.unit.config: Make make_service_dict working dir argument optional.
Signed-off-by: Antony MECHIN <antony.mechin@docker.com>
2018-09-26 10:26:55 +02:00
Joffrey F 2a7beb6350
Merge pull request #6204 from docker/5716-unix-paths-from-winhost
Don't convert slashes for UNIX paths on Windows hosts
2018-09-21 10:47:22 -07:00
Joffrey F 9f9122cd95 Don't convert slashes for UNIX paths on Windows hosts
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-09-19 11:36:51 -07:00
Joffrey F 5916639383 Preserve container numbers, add slug to prevent name collisions
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-09-12 12:07:52 -07:00
Joffrey F 4e2de3c1ff Replace sequential container indexes with randomly generated IDs
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-09-11 15:26:58 -07:00
Joffrey F db391c03ad
Merge pull request #6100 from docker/5960-parallel-pull-progress
Add progress messages to parallel pull
2018-08-24 11:02:24 -07:00
Joffrey F 707e21183f Fix config hash consistency with unprioritized networks
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-08-07 16:51:01 -07:00
Joffrey F c956785cdc Add progress messages to parallel pull
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-07-25 14:39:18 -07:00
Joffrey F 9c2ffe6384 Avoid overriding external = False in serializer
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-07-09 15:28:32 -04:00
Joffrey F c3bb958865 Ignore default platform if API version doesn't support platform param
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-05-04 14:51:53 -07:00
Joffrey F 5aafa54667 iprange -> ip_range
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-05-01 17:11:14 -07:00
Joffrey F aecc0de28f Prevent duplicate binds in generated container config
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-04-26 15:20:45 -07:00
Joffrey F faa532c315
Merge pull request #5896 from docker/5874-legacy-proj-name
Retrieve objects using legacy (< 1.21) project names
2018-04-24 16:41:42 -07:00
Joffrey F 3b2ce82fa1 Use true_name for remove operation
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-04-24 16:19:38 -07:00
Joffrey F fa3acbeb8d
Merge pull request #5897 from docker/5882-ipam_options_check
Incorrect key name for IPAM options check
2018-04-24 13:33:42 -07:00
Joffrey F fa6d837b49 Clearly define IPAM config schema for validation
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-04-23 19:08:55 -07:00
Joffrey F 299ce6ad00 Incorrect key name for IPAM options check
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-04-23 18:16:58 -07:00
Joffrey F 8356576a9a Make sure error messages are unicode strings before combining
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-04-09 11:46:33 -07:00
Joffrey F 7aa51a18ff Fix port serialization with external IP
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-30 18:02:06 -07:00
Joffrey F 520f5d0fde Add 2.4 file format with platform support. Also reads DOCKER_DEFAULT_PLATFORM env
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-30 12:39:10 -07:00
Joffrey F 070474acae Fix unit tests
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-29 17:21:47 -07:00
Joffrey F 2e100353d3 Add support for build isolation parameter
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-29 16:57:07 -07:00
Joffrey F 8d96980ba4
Merge pull request #5833 from docker/5826-load_retry_utf8
On load error, retry reading the file with UTF-8 encoding
2018-03-28 11:45:04 -07:00
Joffrey F 90c57f99e8 On load error, retry reading the file with UTF-8 encoding
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-27 12:37:21 -07:00
Joffrey F 71d40c2a9b Avoid fallthrough with empty defaults
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-27 11:10:30 -07:00
Joffrey F 7e787a8c15
Merge pull request #5822 from brainlock/fix-gh-5179
fix race condition in Service.create_container()
2018-03-27 09:24:40 -07:00
Alberto Piai 394c8efe98 fix race condition in Service.create_container()
The Service.create_container() method fetches a list of the current
containers in order to determine the next container number. In doing so,
it makes several API calls: one to fetch the list of containers, then
one per container in order to inspect it.

In some situations it can happen that a container is removed after
having been listed: in that case, the call to inspect will get a 404 and
raise a NotFound.

One situation in which this has been observed is when trying to
concurrently create multiple one-off containers for the same service
(using `docker-compose run` and a unique `--name`), as described in
more detail in gh-5179.

This patch adds a unit test that simulates the race between the
calls to list and to inspect, and changes Service._next_container_number
to skip removed containers instead of blowing up.

Fixes gh-5179

Signed-off-by: Alberto Piai <apiai@sensational.ch>
2018-03-27 10:21:15 +02:00
Joffrey F 771a1382bd
Merge pull request #5819 from docker/5433-build-zip
Add --compress option to build command
2018-03-27 00:52:06 +02:00
Joffrey F cbb9bff924 Support -H=host notation for interactive run/execs
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-26 14:25:31 -07:00
Joffrey F 255d16d7fa Add --compress option to build command
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-23 17:05:15 +01:00
Joffrey F 6c7c7902f1
Merge pull request #5788 from mnottale/dash-underscore-in-project-name
Allow dash and underscore in project name.
2018-03-19 05:33:21 -07:00
Joffrey F b1ade31c67 Manage encoding errors in progress_stream
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-15 17:10:36 -07:00
Matthieu Nottale 5fe3aff1c3 Allow dash and underscore in project name.
Signed-off-by: Matthieu Nottale <matthieu.nottale@docker.com>
2018-03-15 15:44:43 +01:00
Joffrey F 867ad1550b
Merge pull request #5769 from docker/5766-fix-secopt-extend
Preserve security_opt values in extends
2018-03-08 18:20:56 -08:00
Joffrey F 7e3bbef436 Preserve security_opt values in extends
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-03-08 18:03:54 -08:00
Matthieu Nottale 31dcfcff2a Revamp ParallelStreamWriter to fix display issues.
Signed-off-by: Matthieu Nottale <matthieu.nottale@docker.com>
2018-03-07 15:22:38 +01:00
Thomas Scholtes 5b6e02d13a 'run' command can use network aliases for service
It is now possible for the 'run' command to use the network aliases
defined for the service.

Fixes #3492

Signed-off-by: Thomas Scholtes <thomas-scholtes@gmx.de>
2018-02-27 13:13:50 -08:00
Joffrey F 9b2efd50f5
Merge pull request #5722 from docker/5700-call-docker-with-args
Re-use TLS and host options when shelling out to docker CLI
2018-02-27 12:27:49 -08:00
Joffrey F 7ce5766f6a Re-use TLS and host options when shelling out to docker CLI
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-27 11:14:28 -08:00
Joffrey F 2578813147
Merge pull request #5706 from docker/5601-config-proxy
Use config file-provided proxy values to populate buildargs and env
2018-02-27 10:13:37 -08:00
Joffrey F a35335a75c Add support for device_cgroup_rules in v2.3 files
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-26 14:43:44 -08:00
Joffrey F a6c31b80fe Add support for seccomp files
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-26 10:46:10 -08:00
Joffrey F ec0de7eb68
Merge pull request #5684 from docker/compat_mode
Compatibility mode
2018-02-26 10:42:59 -08:00
Joffrey F 5e4700b176 Add proxy_config tests
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-23 14:32:43 -08:00
Joffrey F d4106679a6 Use configfile-provided proxy values to populate buildargs and env values
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-22 16:19:50 -08:00
Joffrey F c6fe564ed5 Add --detach tests
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-21 16:42:49 -08:00
Joffrey F cd7ccad81e Retrieve certs from default path if not provided explicitly
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-21 13:33:27 -08:00
Joffrey F 51076b5e12 Tests for compatibility mode
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-16 16:37:20 -08:00
Sorawis Nilparuk bb16d9e951 Add health string generator to match `docker ps` output 2018-02-12 12:10:05 -08:00
Joffrey F 3a0ed8cbba Modified options dict leads to a mismatched config hash for API < 1.30
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-06 16:58:15 -08:00
Joffrey F 9dde4fff0e Add support for 3.6 schema and tmpfs mount size
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-02 12:01:41 -08:00
Joffrey F a0f78539b6 Test and build on 3.6 (replaces 3.4) ; dist 3.6-compiled binaries
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-01 16:05:32 -08:00
Joffrey F 8725385813
Merge pull request #5631 from docker/bump_sdk
Bump python SDK to 3.0.0
2018-02-01 14:51:05 -08:00
Joffrey F 4d4e066fbc Fix DOCKER_TLS_VERIFY bug
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-02-01 12:16:32 -08:00
Joffrey F d8d484e0e1 Bump python SDK to 3.0.0
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-31 18:54:58 -08:00
Joffrey F f679f77555
Merge pull request #5598 from carlwgeorge/mock-import-fix
Use mock compatibility import
2018-01-23 09:55:13 -08:00
Carl George 8b5d32373e Use mock compatibility import
`tests/__init__.py` already has a try/except statement to use mock from
the standard library when possible.  Take advantage of it like other
tests already do.

Signed-off-by: Carl George <carl@george.computer>
2018-01-22 23:10:50 -06:00
Joffrey F b968d34227 Advanced merge for deploy dict in v3 files
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-22 15:05:53 -08:00
Joffrey F fd1e8024f7
Merge pull request #5593 from docker/4651-tls-env-and-flags
Support mixed use of TLS flags and TLS environment variables
2018-01-22 11:01:44 -08:00
Joffrey F 593a675d2b Support mixed use of TLS flags and TLS environment variables
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-19 15:48:30 -08:00
Joffrey F 9ba9016cbc Improve ImageNotFound handling in convergence
- Improved CLI prompt
- Attempt volume preservation with new image config
- Fix container.rename_to_tmp_name()
- Integration test replicates behavior ; remove obsolete unit test

Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-19 14:16:57 -08:00
Ian Glen Neal 4042121f6e The updated unit test simulates the error in the bug. What's happening
is that the container has an image sha (represented by
    'shaDOES_NOT_EXIST') which causes an error when client.inspect_image
is called on it, because the image has actually been removed.

Signed-off-by: Ian Glen Neal <ian.gl.neal@gmail.com>
2018-01-19 14:16:56 -08:00
Joffrey F 2d986dff79 Remove rebuild parameter ; set do_build instead
Reduce repetition in main.py

Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-19 14:16:56 -08:00
Ian Glen Neal 7591639c72 Fix #5465 by catching a no-image exception in
get_container_data_volumes. The ImageNotFound exception is now bubbled
up to the client, which prompts the user on the desired course of action
(rebuild or abort). Added a case to the unit test to check that
an empty existing image doesn't result in an exception.

Closed old pull request #5466 because I did a rebase and it showed over
300 commits to merge, which I thought was messy.

Signed-off-by: Ian Glen Neal <ian.gl.neal@gmail.com>
2018-01-19 14:16:56 -08:00
Joffrey F 5d4ccafd35
Merge pull request #5580 from docker/5578-use_cli_exec
Use CLI for interactive exec on all platforms by default
2018-01-19 14:15:07 -08:00
Joffrey F a5d8c68d42 Also use docker CLI for interactive one-off runs.
COMPOSE_EXEC_NO_CLI -> COMPOSE_INTERACTIVE_NO_CLI

Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-18 13:28:11 -08:00
Joffrey F 7f30a88bd6 Add type conversion (number, bool) -> float for label values
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-17 18:50:27 -08:00
Joffrey F c387d05a40 Merge branch '4904-label-config-validation' of https://github.com/nginth/compose into nginth-4904-label-config-validation
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-17 18:00:11 -08:00
Joffrey F 97da2cc6bb Add test for NoSuchService with unicode characters
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-12 13:57:40 -08:00
Joffrey F e174c3fd1c Revert -d/--timeout exclusion
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-11 12:37:46 -08:00
Joffrey F 39d535c1f5 Fix unicode errors in interpolation / serialization
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-09 17:05:12 -08:00
Joffrey F 1b39817172
Merge pull request #5531 from docker/5505-required-variables
Support ${VAR:?err} syntax for mandatory variables
2018-01-08 13:38:15 -08:00
Joffrey F e400c05de0 Support ${VAR:?err} syntax for mandatory variables
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-05 16:46:09 -08:00
Joffrey F c3b1bce42e
Merge pull request #5538 from docker/update_test_asserts
Replace unittest-style asserts with pytest asserts
2018-01-04 15:00:44 -08:00
Joffrey F b13ec16e11 Replace unittest-style asserts with pytest asserts
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-04 14:38:28 -08:00
Joffrey F b97b76d24f
Merge pull request #5537 from docker/Rozelette-branch_limit_test
Add configurable parallel operations limit
2018-01-04 13:04:27 -08:00
Joffrey F f22a1b6a2e Merge branch '5360-add-runtime-support' of https://github.com/cuckoohello/compose into cuckoohello-5360-add-runtime-support
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-04 12:33:39 -08:00
Joffrey F 8d3c7d4bce Clean up limit setting code and add reasonable input guards
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-04 12:16:46 -08:00
Joffrey F d582ae0009 Merge branch 'branch_limit_test' of https://github.com/Rozelette/compose into Rozelette-branch_limit_test
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-04 11:32:38 -08:00
Joffrey F 2d064614ac Gracefully handle errors and provide helpful error message in type conversion
Signed-off-by: Joffrey F <joffrey@docker.com>
2018-01-03 14:02:05 -08:00
Ashlie Martinez acf76c15a2 Allow parallel limit to be set in env file.
Signed-off-by: Ashlie Martinez <ashmrtn@utexas.edu>
2017-12-16 19:50:55 -06:00
Ashlie Martinez dc6b464751 Do not bleed env values outside of test.
Signed-off-by: Ashlie Martinez <ashmrtn@utexas.edu>
2017-12-16 08:51:02 -06:00
Joffrey F fffcc05a8e Add stop_grace_period to ALLOWED_KEYS
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-12-11 11:03:19 -08:00
Shea Rozmiarek 48166a79c7 Add COMPOSE_PARALLEL_LIMIT to restrict global number of parallel operations
Signed-off-by: Shea Rozmiarek <uberpanzermensch@gmail.com>
2017-12-10 07:02:10 -06:00
Joffrey F d0644bdff8 Handle non-ascii characters in npipe error handler
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-12-08 14:16:14 -08:00
Joffrey F 5c0a06475c Expand mount source when type == bind
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-12-07 14:10:56 -08:00
Joffrey F 8155ddc7ad Add support for custom names for networks, secrets, configs
Finalize v3.5 schema

Signed-off-by: Joffrey F <joffrey@docker.com>
2017-12-06 16:48:14 -08:00
Joffrey F 79b20eb53f Add support for mount syntax
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-12-05 16:21:49 -08:00
Joffrey F ceec0595bd Allow port publish ranges
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-12-04 14:15:17 -08:00
Joffrey F 9098a67394
Merge pull request #5410 from sethktaylor11/5374-build-memory
Adds support for a memory build-arg in docker-compose build.
2017-12-04 14:00:09 -08:00
Yafeng Shan e4e92dd3d8 add support for `runtime` option in service definitions
close #5360

Signed-off-by: Yafeng Shan <cuckoo@kokonur.me>
2017-12-04 12:13:28 +08:00
Samantha Miller a6cdd62726 Adds support for a memory flag to docker-compose build.
Signed-off-by: Samantha Miller <samantha.a.miller123@gmail.com>
2017-12-03 13:59:32 -06:00
Joffrey F a204e50058
Merge pull request #5415 from docker/5377-secrets-mounts
Use mounts for secrets instead of volumes
2017-12-01 13:25:46 -08:00
Joffrey F 43fc651364
Merge pull request #5418 from nginth/5352-fix-volume-config
Add config validation for service volumes, fixes #5352
2017-12-01 12:19:23 -08:00