Joffrey F
8b92049432
Detect the service that causes the invalid service name error
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-02-22 16:21:23 -08:00
Joffrey F
abce83ef25
Fix `config` command output with service.secrets section
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-02-13 16:51:50 -08:00
Daniel Nephin
dc5b3f3b3e
Fix secrets config.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-02-10 17:11:24 -05:00
Daniel Nephin
c092fa37de
Fix version 3.1
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-02-09 12:39:57 -05:00
Joffrey F
951497c0f2
Merge pull request #4419 from shin-/4418-healthcheck-extends
...
Don't re-parse healthcheck values coming from extended services
2017-02-03 12:24:53 -08:00
Joffrey F
cf43e6edf7
Don't re-parse healthcheck values coming from extended services
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-02-02 14:50:53 -08:00
Joffrey F
7e8958e6ca
Add missing comma in DOCKER_CONFIG_KEYS list
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-02-01 16:40:43 -08:00
Joffrey F
e10d1140b9
Convert time data back to string values when serializing config
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-26 11:59:22 -08:00
Joffrey F
1a02121ab5
depends_on merge now retains condition information when present
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-18 17:52:03 -08:00
Joffrey F
2df31bb13c
Provide valid serialization of depends_on when format is not 2.1
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-11 16:25:40 -08:00
Joffrey F
534b4ed820
Falsy values in COMPOSE_CONVERT_WINDOWS_PATHS are properly recognized
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-04 15:45:11 -08:00
Joffrey F
bef2308530
Fix condition name in config tests
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-04 11:28:30 -08:00
Joffrey F
04394b1d0a
Expand depends_on to allow different conditions (service_start, service_healthy)
...
Rework "up" and "start" to wait on conditional state of dependent services
Add integration tests
Signed-off-by: Joffrey F <joffrey@docker.com>
2017-01-04 11:28:30 -08:00
Aanand Prasad
716a6baa59
Implement 'healthcheck' option
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-18 14:47:02 +00:00
Aanand Prasad
d717c88b6e
Support version 3.0 of the Compose file format
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-16 16:07:02 +00:00
Aanand Prasad
ba249e5179
Test that values in 'environment' override env files
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-11-09 15:10:27 +00:00
Joffrey F
10417eebd7
Fix logging dict merging
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-11-03 17:22:31 -07:00
Joffrey F
efb09af271
Do not normalize volume paths on Windows by default
...
Add environment variable to enable normalization if needed.
Do not normalize internal paths
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-18 12:17:56 -07:00
Nicolas Barbey
086ae04b9e
Fix TypeError : unorderable types: str() < int()
...
While merging list items into a set, strings and ints are compared which is not possible.
We cast everything to strings to avoid the issue.
The issue was seen with python 3.5 while overriding configuration files
with heterogenous port types (int in one file, string in another).
Signed-off-by: Nicolas Barbey <nicolas.a.barbey@gmail.com>
2016-10-18 12:01:00 +02:00
Joffrey F
14716bc2da
Merge branch 'master' of https://github.com/dbdd4us/compose into dbdd4us-master
2016-10-17 14:09:09 -07:00
Joffrey F
a5c1e4b0cd
Merge pull request #3991 from shin-/3906-isolation-config
...
Add support for "isolation" in config
2016-10-17 11:02:11 -07:00
dbdd
bdcce13f4a
add support for creating volume and network with label definition
...
Signed-off-by: dbdd <wangtong2712@gmail.com>
2016-10-12 10:35:14 +08:00
Joffrey F
7f1606545d
Merge pull request #4004 from shin-/4000-extend-logging
...
Properly merge logging dictionaries in overriding configs
2016-10-11 12:00:06 -07:00
Joffrey F
0603b445e2
Properly merge logging dictionaries in overriding configs
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-10-10 15:39:05 -07:00
Daniel Nephin
2bce81508e
Support non-alphanumeric default values.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-10-06 17:04:19 -04:00
Daniel Nephin
fe08be698d
Support inline default values.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-09-29 12:46:11 -04:00
Joffrey F
dc8a39f70d
Add support for "isolation" in config
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-28 15:31:58 -07:00
Joffrey F
f65f89ad8c
Merge pull request #3653 from shin-/3637-link-local-ips
...
Add support for link-local IPs in service.networks definition
2016-09-22 11:58:29 -07:00
Joffrey F
7687412e03
Merge pull request #3922 from shin-/3897-volumespec_parse_win32
...
Improve volumespec parsing on windows platforms
2016-09-20 13:09:37 -07:00
Joffrey F
7911659266
Improve volumespec parsing on windows platforms
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-20 11:24:24 -07:00
Joffrey F
fd254caa68
Add support for link-local IPs in service.networks definition
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-09-15 14:55:14 -07:00
George Lester
dada36f732
Supported group_add
...
Signed-off-by: George Lester <glester491@gmail.com>
2016-09-11 23:10:49 -07:00
Jean-François Roche
d824cb9b06
Add support for swappiness constraint
...
Run a service using `docker run --memory-swappiness=0` (see
https://docs.docker.com/engine/reference/run/ )
refs #2383
Signed-off-by: Jean-François Roche <jfroche@affinitic.be>
2016-08-16 11:02:51 +02:00
Jonathan Giannuzzi
83f35e132b
Add support for creating internal networks
...
Signed-off-by: Jonathan Giannuzzi <jonathan@giannuzzi.be>
2016-07-11 11:34:01 +02:00
George Lester
6fe5d2b543
Implemented oom_score_adj
...
Signed-off-by: George Lester <glester491@gmail.com>
2016-07-05 23:43:32 -07:00
Aanand Prasad
21f20cbc9b
Merge pull request #3449 from Andrey9kin/ready/3281
...
Fix #3281 : Unexpected result when using build args with default values
2016-06-14 08:05:07 -07:00
Joffrey F
60f7e021ad
Fix split_path_mapping behavior when mounting "/"
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-06-13 15:32:10 -07:00
Milind Shakya
11a2eab549
Replace assertEquals with assertEqual since the former is getting deprecated soon. Also, fix pep8 E309.
...
Signed-off-by: Milind Shakya <sh.milind@gmail.com>
2016-06-02 16:35:23 -07:00
Andrey Devyatkin
a67ba5536d
Fix #3281 : Unexpected result when using build args with default values
...
Fix the issue when build arg is set to None instead of empty string. Usecase:
cat docker-compose.yml
.... args:
- http_proxy
- https_proxy
- no_proxy
If http_proxy, https_proxy, no_proxy environment variables are not defined then http_proxy,
https_proxy, no_proxy build args will be set to string None which breaks all downloads
With this change undefined build args will be set to empty string instead of string None
Signed-off-by: Andrey Devyatkin <andrey.a.devyatkin@gmail.com>
2016-05-28 11:39:41 +02:00
Andrey Devyatkin
c148849f0e
Fix #3281 : Unexpected result when using build args with default values
...
Fix the issue when build arg is set to None instead of empty string. Usecase:
cat docker-compose.yml
.... args:
- http_proxy
- https_proxy
- no_proxy
If http_proxy, https_proxy, no_proxy environment variables are not defined then http_proxy,
https_proxy, no_proxy build args will be set to string None which breaks all downloads
With this change undefined build args will be set to empty string instead of string None
Signed-off-by: Andrey Devyatkin <andrey.a.devyatkin@gmail.com>
2016-05-27 20:16:52 +02:00
Joffrey F
842e372258
Eliminate duplicates when merging port mappings from config files
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-20 15:28:35 -07:00
Joffrey F
2b5b665d3a
Add test for path mapping with Windows containers
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-19 14:53:37 -07:00
Joffrey F
db0a6cf2bb
Always use the Windows version of splitdrive when parsing volume mappings
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-05-17 16:33:59 -07:00
johnharris85
6d2805917c
Account for aliased links
...
Fix failing tests
Signed-off-by: John Harris <john@johnharris.io>
2016-04-17 15:25:06 -04:00
johnharris85
377be5aa1f
Adding tests
...
Signed-off-by: John Harris <john@johnharris.io>
2016-04-17 14:01:06 -04:00
Joffrey F
12ad3ff301
Injecting os.environ in Environment instance happens outside of init method
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-24 10:57:28 -07:00
Joffrey F
36f1b4589c
Limit occurrences of creating an environment object.
...
.env file is always read from the project_dir
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-24 10:57:01 -07:00
Joffrey F
d55fc85fea
Added default env file test.
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-24 10:57:01 -07:00
Joffrey F
1801f83bb8
Environment class cleanup
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-24 10:57:01 -07:00
Joffrey F
5831b869e8
Update tests for new environment handling
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-24 10:57:01 -07:00
Joffrey F
c69d8a3bd2
Implement environment singleton to be accessed throughout the code
...
Load and parse environment file from working dir
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-03-24 10:57:01 -07:00
Daniel Nephin
be1476f24b
Only allow tmpfs on v2.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-03-21 14:41:28 -04:00
Philip Walls
85c7d3e5ce
Add support for docker run --tmpfs flag.
...
Signed-off-by: Philip Walls <pawalls@rabidgeek.com>
2016-03-18 18:19:48 -04:00
Dimitar Bonev
81b7fba33e
Allowing null for build args
...
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2016-03-05 15:57:06 +02:00
Aanand Prasad
4ae71f41dd
Merge pull request #2832 from aanand/refactor-cli-unit-tests
...
Refactor CLI initialization and unit tests
2016-03-02 16:10:44 -08:00
Aanand Prasad
2c75a8fdf5
Extract helper methods for building config objects from dicts
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-03-02 15:09:48 -08:00
Aanand Prasad
f75408923e
Merge pull request #3053 from dnephin/handle_booleans_in_mappings
...
Don't allow booleans for mapping types
2016-03-02 15:04:20 -08:00
Daniel Nephin
18510b4024
Don't allow booleans for mapping types.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-03-01 11:57:35 -05:00
Daniel Nephin
b726f508a6
Fix merging of logging options in v1 config.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-03-01 11:43:26 -05:00
Aanand Prasad
adb8de367e
Merge pull request #2388 from dnephin/fix_long_lines
...
Wrap long lines
2016-02-25 16:52:33 -08:00
Daniel Nephin
dc3a5ce624
Refactor config validation to support constraints in the same jsonschema
...
Reworked the two schema validation functions to read from the same schema but
use different parts of it. Error handling is now split as well by the
schema that is being used to validate.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-24 16:20:17 -08:00
Daniel Nephin
d451578152
Make environment variables without a value the same as docker-cli.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-23 11:14:59 -08:00
Daniel Nephin
4b04280db8
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:13:57 -08:00
Daniel Nephin
0a06d827fa
Fix warning about boolean values.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-22 14:56:01 -08:00
Daniel Nephin
d5514965d5
Merge pull request #2975 from dnephin/fix_crash_on_none_in_config
...
Fix validation message when there are multiple nested oneOf validations.
2016-02-19 15:53:26 -05:00
Daniel Nephin
02535f0cf1
Fix validation message when there are multiple ested oneOf validations.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-19 14:22:55 -05:00
Daniel Nephin
0d218c34c7
Make config validation error messages more consistent.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-19 13:12:57 -05:00
Daniel Nephin
4b2a666231
Validate that each section of the config is a mapping before running interpolation.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-19 12:38:52 -05:00
Joffrey F
7152f7ea76
Handle mismatched network formats in config files
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-18 15:24:41 -08:00
Joffrey F
825a0941f0
Network aliases are now part of the network dictionary
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-18 15:23:47 -08:00
Joffrey F
633e349ab9
Test network_aliases feature
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-18 15:23:46 -08:00
Joffrey F
1952b52392
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-17 11:53:29 -08:00
Joffrey F
a8fda480e3
driver_opts can only be of type string
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-02-12 10:51:11 -08:00
Daniel Nephin
532dffd688
Fix build section without context.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-11 14:12:02 -05:00
Daniel Nephin
37564a73c3
Merge build.args when merging services.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-10 13:54:40 -05:00
Aanand Prasad
7b5bad6050
Merge pull request #2851 from cr7pt0gr4ph7/2839-fix-networks-merging
...
Fix merge behavior for 'networks' and 'network_mode'.
2016-02-10 17:51:01 +00:00
cr7pt0gr4ph7
582de19a5a
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-08 21:57:15 +01:00
Joffrey F
fdf4a2e89e
Merge pull request #2734 from jrabbit/empty-env-var-2359
...
Empty env var #2359
2016-02-08 11:17:54 -08:00
Lukas Waslowski
e929086c49
Separate MergePortsTest from MergeListsTest and add MergeNetworksTest.
...
Signed-off-by: Lukas Waslowski <cr7pt0gr4ph7@gmail.com>
2016-02-08 14:29:03 +01:00
Daniel Nephin
57fc85b457
Wrap long lines and restrict lines to 105 characters.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-04 19:05:39 -05:00
Daniel Nephin
3ec87adccc
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-02 10:49:43 -05:00
Daniel Nephin
bf6a5d3e49
Fix merging of lists with multiple files.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-02 10:48:18 -05:00
Aanand Prasad
1152c5b25b
Tweak and test warning shown when version is a dict
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-02 13:58:34 +00:00
Aanand Prasad
ef8db3650a
Improve error messages for invalid versions
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-02 13:58:34 +00:00
Aanand Prasad
aeef61fcd8
Make 'version' a string
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-02 13:58:34 +00:00
Aanand Prasad
4ac004059a
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-02 13:47:43 +00:00
Aanand Prasad
d40bc6e4a0
Convert validation error tests to pytest style
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-02 13:47:43 +00:00
Aanand Prasad
a9c623fdf2
Test that net can be extended
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-25 23:55:20 +00:00
Aanand Prasad
e566a4dc1c
Implement network_mode in v2
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-25 23:24:55 +00:00
Aanand Prasad
a267d8fe3c
Merge pull request #2728 from shin-/2709_service_volumes
...
Match named volumes in service definitions with declared volumes
2016-01-25 23:24:09 +00:00
jrabbit
7ab9509ce6
Mangle the tests. They pass for better or worse!
...
Signed-off-by: jrabbit <jackjrabbit@gmail.com>
2016-01-23 16:19:17 -05:00
Joffrey F
139c7f7830
Move named volumes matching to config validation phase
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-22 17:42:24 -08:00
Dimitar Bonev
3a72edb906
Network fields schema validation
...
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2016-01-22 16:42:10 +02:00
Aanand Prasad
7a4fdfd034
Merge pull request #2712 from jzvelc/fix_v2_service_extend
...
Fix `extends` when using v2 config format
2016-01-21 17:06:21 +00:00
Jure Žvelc
907c3ce42b
Fix for extending services written in v2 format.
...
Signed-off-by: Jure Žvelc <jzvelc@gmail.com>
2016-01-20 18:46:16 +01:00
Daniel Nephin
5aadf5a187
Update tests in sort_services_test.py to use pytest.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-19 15:52:17 -05:00
Daniel Nephin
146587643c
Move ulimits validation to validation.py and improve the error message.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-19 15:47:57 -05:00
Daniel Nephin
0bce467782
Implement depends_on to define an order for services in the v2 format.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-19 15:41:45 -05:00
Daniel Nephin
dc1104649f
Validate that an extended config file has the same version as the base.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-14 22:28:20 -05:00
Daniel Nephin
b98e2169e6
Error when the project name is invalid for the image name.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-14 18:25:23 -05:00
Joffrey F
796d97e394
Merge pull request #2617 from gutweiler/extra-hosts-ipv6
...
Extra hosts ipv6
2016-01-14 15:19:12 -08:00
Aanand Prasad
47e53b49c2
Merge pull request #2653 from shin-/Runscope-build-args
...
Support for build arguments
2016-01-14 23:13:54 +00:00
Clemens Gutweiler
ce9f2681a2
Fixes #1422 : ipv6 addr contains colons, so we split only by the first char.
...
Signed-off-by: Clemens Gutweiler <cg@vioma.de>
2016-01-14 22:26:35 +01:00
Joffrey F
13063a96cb
Fix handling of service.dockerfile key
...
Made invalid in v2 format
Doesn't break build config anymore
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-14 12:15:37 -08:00
Garrett Heel
9cfa71ceee
Add support for build arguments
...
Allows 'build' configuration option to be specified as an
object and adds support for build args.
Signed-off-by: Garrett Heel <garrettheel@gmail.com>
2016-01-14 12:14:56 -08:00
Daniel Nephin
79df2ebe1b
Support variable interpolation for volumes and networks sections.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-14 14:04:57 -05:00
Daniel Nephin
b76dc1e05e
Require volumes_from a container to be explicit in V2 config.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-14 11:45:16 -05:00
Joffrey F
e41e6c1241
Properly validate volume definition
...
Test valid empty volume definitions
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-13 18:22:29 -08:00
Joffrey F
153185eadb
Merge pull request #2647 from shin-/preexisting_volume_detection_rb1
...
Support for external volumes
2016-01-13 17:02:36 -08:00
Joffrey F
e76b2679eb
external volume disallows other config keys
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-13 14:12:03 -08:00
Aanand Prasad
3aba5bb67e
Merge pull request #2620 from dbonev/2607-ulimits-not-merged-in-extended-services
...
Ulimits are now merged into extended services
2016-01-13 21:05:38 +00:00
Joffrey F
9cb58b796e
Implement ability to specify external volumes
...
External volumes are created and managed by the user.
They are not namespaced.
They are expected to exist at the beginning of the up phase.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-12 16:53:49 -08:00
Dimitar Bonev
2f07e2ac36
Ulimits are now merged into extended services
...
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2016-01-12 23:59:23 +02:00
Aanand Prasad
70cce961a8
Don't allow links or external_links in v2 files
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-12 21:29:45 +00:00
Daniel Nephin
e98ab0e534
Allow both image and build together.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-12 14:10:00 -05:00
Daniel Nephin
ab98c70dd1
Merge pull request #2612 from dnephin/merge_extends_from_multiple_files
...
Fix extends with multiple files
2016-01-08 17:17:41 -05:00
Daniel Nephin
bf1552da79
Use json to encode invalid values in configuration errors so that the user sees a proper repr of the value.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-07 13:09:24 -05:00
Daniel Nephin
475a091768
Update pre-commit config to enforace that future imports exist in all files.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-07 13:09:03 -05:00
Daniel Nephin
c7b71422c0
Fix extends with multiple files.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-06 13:30:40 -05:00
Joffrey F
a7689f3da8
Handle volume driver change error in config.
...
Assume version=1 if file is empty in get_config_version
Empty files are invalid anyway, so this simplifies the algorithm
somewhat.
https://github.com/docker/compose/pull/2421#discussion_r47223144
Don't leak version considerations in interpolation/service validation
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-05 15:22:13 -08:00
Joffrey F
f3a9533dc0
version no longer optional arg for process_config_file
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-05 15:21:54 -08:00
Joffrey F
ecef5d37a7
Add v2 configuration tests
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-05 15:21:53 -08:00
Joffrey F
b4be7b870f
Add support for declaring named volumes in compose files
...
* Bump default API version to 1.21 (required for named volume management)
* Introduce new, versioned compose file format while maintaining support
for current (legacy) format
* Test updates to reflect changes made to the internal API
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-05 15:09:39 -08:00
Daniel Nephin
2acc29cf1c
Remove support for fig.yaml, FIG_FILE, and FIG_PROJECT_NAME.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-04 15:37:21 -05:00
Daniel Nephin
fa3528ea25
Fix dns and dns_search when used strings and without extends.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-09 16:32:39 -08:00
Aanand Prasad
defcf5a21f
Merge pull request #2464 from aanand/validate-expose
...
Validate `expose`
2015-11-27 14:44:55 +00:00
Aanand Prasad
ccf548b98c
Validate the 'expose' option
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-11-26 19:27:32 +00:00
Aanand Prasad
042c7048f2
Split out ports validation tests into type, uniqueness, format
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-11-26 19:27:31 +00:00
Daniel Nephin
2ab3cb212a
Add integration test and docs for build with a git url.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-26 11:32:39 -05:00
Jonas Eckerström
f7239f41ef
Added support for url buid paths
...
Signed-off-by: Jonas Eckerström <jonaseck@gmail.com>
2015-11-26 11:29:07 -05:00
Aanand Prasad
b85bfce65e
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-11-26 15:06:30 +00:00
Daniel Nephin
e67bc2569c
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-11-25 11:02:20 -05:00
Daniel Nephin
533f33271a
Move service sorting to config package.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-23 13:33:00 -05:00
Daniel Nephin
dac75b07dc
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-11-23 13:33:00 -05:00
Daniel Nephin
efec2aae6c
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-11-23 13:31:58 -05:00
Daniel Nephin
1e8f76767f
Fix env_file and environment when used with extends.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-18 16:07:11 -05:00
Daniel Nephin
9f6a5a964a
Merge pull request #2355 from dnephin/refactor_handle_error
...
Refactor process_error and include a filename as part of the validation error messages
2015-11-12 15:01:32 -05:00
Daniel Nephin
589755d034
Inclide the filename in validation errors.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 12:44:45 -05:00
Daniel Nephin
fa96484d28
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 12:44:24 -05:00
Daniel Nephin
f7d8087694
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 12:40:36 -05:00
Joffrey F
0a35fd93cd
Merge pull request #2373 from shin-/2370-env_vars_with_dashes
...
Allow dashes in environment variable names
2015-11-11 13:20:22 -08:00
Joffrey F
d6b44905f2
Add test for environment variable dashes support
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2015-11-11 12:52:30 -08:00
Daniel Nephin
19b2c41c7e
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-11 11:00:11 -05:00
Daniel Nephin
1f7faadc77
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-11 11:00:11 -05:00
Daniel Nephin
5e97b806d5
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-11 10:58:07 -05:00
Daniel Nephin
a92d86308f
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-11 10:58:07 -05:00
Daniel Nephin
98ad5a05e4
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-11 10:56:15 -05:00
Kevin Greene
22d90d2180
Added ulimits functionality to docker compose
...
Signed-off-by: Kevin Greene <kevin@spantree.net>
2015-11-10 14:07:04 -05:00
Daniel Nephin
0e19c92e82
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-05 18:11:56 -05:00
Daniel Nephin
8ff960afd1
Fix service recreate when image changes to build.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-05 10:27:11 -05:00