Daniel Nephin
d1d3969661
Add docker-compose event
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-08 13:43:30 -05:00
Dimitar Bonev
ed5f7bd394
log_driver and log_opt moved to logging key.
...
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2016-01-08 01:54:45 +02: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
97fe2ee40c
Don't preserve host volumes on container recreate.
...
Fixes a regression after the API changed to use Mounts.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-05 15:09:39 -08:00
Joffrey F
afab5c76ea
Update service volume tests to use mounts key
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-05 15:09:39 -08:00
Daniel Nephin
ad9011ed96
Don't warn when the container volume is specified as a compose option.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-05 17:30:27 -05: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
778c213dfc
Fix signal handlers by moving shutdown logic out of handler.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-30 11:21:20 -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
ecf2dd11f9
Merge pull request #2467 from dnephin/remove_migrate_to_labels
...
Remove migrate-to-labels.
2015-12-07 14:31:23 +00:00
Daniel Nephin
a21f9993b3
Remove migrate-to-labels.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-27 12:04:45 -05:00
Daniel Nephin
2f568984f7
Fixes #2368 , removes the deprecated --allow-insecure-ssl flag.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-27 11:52:25 -05: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
Aanand Prasad
cfb1b37da2
Merge pull request #2405 from dnephin/move_all_validation_to_config
...
Move all validation to config
2015-11-25 15:16:21 +00:00
Daniel Nephin
e40670207f
Add missing assert and autospec.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-24 10:42:25 -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
12b82a20ff
Move restart spec to the config.types module.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-23 13:31:58 -05:00
Daniel Nephin
068edfa313
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-11-23 13:31:58 -05:00
Daniel Nephin
c9ca5e86b0
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-11-23 13:30:54 -05:00
Aanand Prasad
aafacd3495
Merge pull request #2418 from dnephin/fix_env_with_extends
...
Fix env_file and environment when used with extends
2015-11-23 14:48:04 +00:00
Daniel Nephin
c4096525c2
Merge pull request #2364 from dnephin/handle_signals_properly
...
Handle SIGTERM/SIGINT properly for up and run
2015-11-20 11:58:04 -05:00
Daniel Nephin
331450dace
Merge pull request #2390 from dnephin/fix_extra_warnings_on_masked_volumes
...
Fix extra warnings on masked volumes
2015-11-20 11:37:54 -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
c78c32c2e8
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-11-18 16:04:41 -05:00
Daniel Nephin
e1308a8329
Fix extra warnings on masked volumes.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-13 10:49:17 -05:00
Daniel Nephin
ea4230e7a2
Handle both SIGINT and SIGTERM for docker-compose up.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 17:41:44 -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
a746d673b1
Merge pull request #2350 from dnephin/remove_name_from_schema
...
Remove name field from the config schema
2015-11-11 15:43:03 -05:00
Daniel Nephin
76f3c9c739
Merge pull request #2349 from dnephin/validate_all_files
...
Validate all files before merging them
2015-11-11 15:27:47 -05:00
Yves Peter
b8b4c84573
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-11 11:20:59 -08:00
Aanand Prasad
2063b39868
Merge pull request #2336 from dnephin/warn_on_volume_masking
...
Add a warning when the host volume in the compose file is masked by a data volume
2015-11-11 17:21:29 +00: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
Aanand Prasad
7466d14826
Merge pull request #2363 from dnephin/pr-2261
...
Rebase of PR 2261
2015-11-11 15:48:28 +00:00
Daniel Nephin
c006c6ea09
Merge pull request #2341 from dnephin/dont_create_default_network_sometimes
...
Only create the default network if at least one service needs it
2015-11-11 10:48:08 -05:00
Daniel Nephin
7365a398b3
Update doc wording for ulimits.
...
and move tests to the correct module
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-10 15:03:20 -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
a8ac6e6f93
Add a warning when the host volume config is being ignored.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-10 13:48:53 -05:00
Adrian Budau
c5c36d8b00
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-10 13:05:04 -05:00
Daniel Nephin
45724fc667
Only create the default network if at least one service needs it.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-10 12:43:55 -05:00
Daniel Nephin
c8fa0a902a
Merge pull request #2331 from dnephin/flush_log_buffer_when_printing_logs
...
Flush the log stream after writing each line
2015-11-10 12:34:42 -05:00
Aanand Prasad
917b885a44
Merge pull request #2334 from dnephin/dont_set_hostname
...
Don't set the hostname to the service name with networking.
2015-11-10 17:34:02 +00:00
Daniel Nephin
b09cf86dd6
Merge pull request #2326 from dnephin/unicode_decode_error
...
Unicode decode error
2015-11-10 12:29:52 -05:00
Joffrey F
774d852f93
Merge pull request #2335 from dnephin/volumes_refactoring
...
Some small refactoring around volumes
2015-11-09 14:05:52 -08:00
Joffrey F
a1e140f5a3
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-09 13:07:26 -08:00
Daniel Nephin
ec22d98377
Use VolumeSpec instead of re-parsing the volume string.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-05 18:11:56 -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
3456002aef
Don't set the hostname to the service name with networking.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-05 17:50:32 -05:00
Daniel Nephin
d32bb8efee
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-05 15:33:42 -05:00
Daniel Nephin
26c7dd3712
Handle non-utf8 unicode without raising an error.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-05 12:56:36 -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
Daniel Nephin
841ed4ed21
Remove the duplicate 'Warning' prefix now that the logger adds the prefix.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-29 14:18:28 -04:00
Daniel Nephin
d836973a04
Use colors when logging warnings or errors, so they are more obvious.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-29 14:06:50 -04:00
Mazz Mosley
5dc14f3925
Handle non-ascii chars in volume directories
...
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-29 12:05:51 +00:00
Daniel Nephin
b6b9b002e5
Merge pull request #2254 from mnowster/1756-dont-display-output-from-previous-runs
...
1756 dont display output from previous runs
2015-10-27 18:45:47 -04:00
Mazz Mosley
bee063c07d
Fix tests
...
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-27 17:12:18 +00:00
Daniel Nephin
7878d38dee
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 11:11:15 -04:00
mnowster
5d60fbe31e
Merge pull request #1659 from viranch/hostip-random-port
...
Allow scaling services that have port binding of the form `host_ip::container_port`
2015-10-23 17:11:28 +01:00
Daniel Nephin
ae47435425
Fix unicode in environment variables for python2.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-22 12:12:43 -04:00
mnowster
fb69391889
Merge pull request #2233 from dnephin/some_unit_test_cleanup
...
Cleanup some unit tests and whitespace
2015-10-21 10:39:28 +01:00
Daniel Nephin
b1f8ed84a3
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-10-20 14:23:56 -04:00
Daniel Nephin
3f0e083585
Force windows drives to be lowercase.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-20 11:39:06 -04:00
mnowster
5ed9f9bdf7
Merge pull request #2206 from dnephin/fix_extends_from_second_file
...
extends must be copied from override file
2015-10-20 10:22:58 +01:00
Daniel Nephin
3725c3ab7e
Merge pull request #2225 from mnowster/2221-blank-env-vars
...
2221 allow empty environment keys
2015-10-19 14:06:31 -04:00
Daniel Nephin
938d49cbdc
Fixes #2205 - extends must be copied from override file.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-19 13:41:58 -04:00
Daniel Nephin
937e087c6c
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 12:39:45 -04:00
Mazz Mosley
08add665e9
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 16:32:12 +01:00
Viranch Mehta
258c8bc54d
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-10-18 00:40:51 +05:30
Daniel Nephin
26dc0b785b
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-16 15:05:06 -04:00
Daniel Nephin
0409b287ad
Merge pull request #2191 from dnephin/networking
...
Networking
2015-10-14 12:31:26 -04:00
mnowster
6b68a84b9b
Merge pull request #2019 from mrfuxi/less-verbose-extends
...
Allow to extend service using shorthand notation. Closes #1989
2015-10-14 17:13:09 +01:00
Aanand Prasad
d5f5eb1924
Enable use of Docker networking with the --x-networking flag
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-10-14 11:19:43 -04:00
Daniel Nephin
b9c76dfabd
Merge pull request #2181 from mnowster/2128-split-drive-not-handling-relative-paths
...
2128 split drive not handling relative paths
2015-10-14 11:04:42 -04:00
Mazz Mosley
ca36628a0e
Test cgroup_parent option is being sent.
...
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-14 15:02:42 +01:00
Mohit Soni
f4efa29377
Added support for cgroup_parent
...
This change adds cgroup-parent support to compose project. It allows
each service to specify a 'cgroup_parent' option.
Signed-off-by: Mohit Soni <mosoni@paypal.com>
2015-10-14 15:02:42 +01:00
Karol Duleba
c7ffbf97c8
Extend oneOf error handling. Issue #1989
...
Signed-off-by: Karol Duleba <mr.fuxi@gmail.com>
2015-10-14 14:31:35 +01:00
Mazz Mosley
c1d5ecaafe
Workaround splitdrive limitations
...
splitdrive doesn't handle relative paths, so if volume_path contains
a relative path, we handle that differently and manually set drive to ''.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-13 17:27:25 +01:00
Mazz Mosley
8efc39e616
Improve boolean warning message.
...
Including examples of more boolean types, eg yes/N as it's not
always immediately clear that they are treated as booleans.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-07 14:59:08 +01:00