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
Dimitar Bonev
5545c55ecc
Network fields schema validation
...
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2016-01-26 11:52:22 +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
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
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
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
Aanand Prasad
47e53b49c2
Merge pull request #2653 from shin-/Runscope-build-args
...
Support for build arguments
2016-01-14 23:13:54 +00: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