Joffrey F
ec5111f1c2
Volumes are now prefixed with the project name
...
When created through the compose file, volumes are prefixed
with the name of the project they belong to + underscore,
similarly to how containers are currently handled.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-05 15:21:53 -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
abe145bbe7
Update config resolution to always use explicit version numbers
...
Also includes several bugfixes for resolution and validation.
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-05 15:09:39 -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
4bf2f8c4f9
Fix lookup of linked containers for API version 1.20
...
Signed-off-by: Daniel Nephin <dnephin@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
Daniel Nephin
73de81b51c
Upgrade tests to use new Mounts in container inspect.
...
Signed-off-by: Daniel Nephin <dnephin@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
Aanand Prasad
4017ea99fe
Merge pull request #2599 from dnephin/inject_project_name
...
Remove support for fig.yaml, FIG_FILE, and FIG_PROJECT_NAME
2016-01-05 12:29:38 +00: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
Tomas Tomecek
adde805829
allow running compose from git
...
with:
```
$ git clone docker/compose && cd compose
$ export PYTHONPATH="$PWD:$PYTHONPATH"
$ python -m compose --help
```
Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2015-12-26 11:03:58 +01:00
Daniel Nephin
ea8cc1c3dc
Merge pull request #2562 from thaJeztah/update-links
...
Update links
2015-12-21 08:31:39 -08:00
Aanand Prasad
a2d2915a64
Merge pull request #2547 from seguins/1125-docker-compose-create
...
Add docker-compose create command.
2015-12-21 14:20:56 +00:00
Sebastiaan van Stijn
5ed559fa0e
Update links
...
Updates some links to their new locations, and
replaces some http:// with https:// links.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2015-12-21 01:52:54 +01:00
Aanand Prasad
12a08255b5
Merge pull request #2554 from aanand/clarify-rm-behaviour
...
Clarify behaviour of 'rm'
2015-12-18 16:42:05 +00:00
Stéphane Seguin
3c76d5a467
Add docker-compose create command.
...
Closes #1125
Signed-off-by: Stéphane Seguin <stephseguin93@gmail.com>
2015-12-18 08:53:26 +01:00
Aanand Prasad
2e9a49b4eb
Clarify behaviour of 'rm'
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-12-17 17:50:45 +00:00
Dimitar Bonev
a542041264
Added support for cpu_quota flag
...
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2015-12-16 21:25:30 +02:00
Dimitar Bonev
bc843d6758
Start, restart, pause and unpause exit with non-zero if nothing to do
...
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2015-12-15 23:11:11 +02:00
Jean Praloran
c8f266b637
add restarting status for human_readable_state
...
Signed-off-by: Jean Praloran <jeanpralo@gmail.com>
2015-12-16 08:19:28 +13:00
Dimitar Bonev
6d709caaa5
Fixes incorrect network name shown in the log when no driver is specified
...
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2015-12-11 10:14:01 +02: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
Stéphane Seguin
999d15b225
Remove unused functions in service
...
Signed-off-by: Stéphane Seguin <stephseguin93@gmail.com>
2015-12-08 21:11:05 +01:00
Daniel Nephin
437f3f8adb
Add docker-compose config subcommand.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-12-07 18:51:01 -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
Aanand Prasad
9f4e83e456
Merge pull request #2466 from dnephin/remove_insecure_ssl_warning
...
Removes the deprecated --allow-insecure-ssl flag
2015-12-07 14:29:33 +00:00
jake-low
e760c42ae0
Stop warning about ".yaml" extension
...
".yaml" is the preferred extension according to http://www.yaml.org/faq.html
Signed-off-by: jake-low <jakelow42@gmail.com>
2015-12-02 21:45:36 -08: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
374b16843f
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-11-26 18:54:30 +00:00
Aanand Prasad
d52508e2b1
Refactor ports section of fields schema
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-11-26 18:52:14 +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
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
effa9834a5
Remove unnecessary intermediate variables in get_container_host_config.
...
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
665de9a494
Merge pull request #2436 from dnephin/reduce_cyclomatic_complexity
...
Reduce cyclomatic complexity
2015-11-23 17:51:54 +00:00
Daniel Nephin
b4edf0c454
Move parallel_execute to a new module.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-23 11:34:48 -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
64447879d2
Reduce complexity of merge_service_dicts
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-20 17:09:55 -05:00
Daniel Nephin
d1adbb9b25
Refactor parallel_execute.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-20 17:09:51 -05: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
8bc84c74e7
Merge pull request #2417 from dnephin/inlude_git_sha_in_version
...
Add the git sha to version output
2015-11-20 11:39:38 -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
91fb6156c6
Merge pull request #2393 from seguins/1814-restart-stopped-containers
...
Fix restart with stopped containers.
2015-11-20 11:35:24 -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
d4b9845201
Add the git sha to version output
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-18 13:21:14 -05:00
Stéphane Seguin
61f91ebff7
Fix restart with stopped containers.
...
Fixes #1814
Signed-off-by: Stéphane Seguin <stephseguin93@gmail.com>
2015-11-14 12:23:23 +01: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
6236bb0019
Handle both SIGINT and SIGTERM for docker-compose run.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 17:41:44 -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
9c305ac10f
Remove name field from the list of ALLOWED_KEYS
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-12 13:26:13 -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
513dfda218
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-11 12:45:02 -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
Joffrey F
c573fcc70a
Reorganize conditional branches to improve readability
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2015-11-11 11:21:24 -08: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
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
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
Daniel Nephin
7d6c63d1b7
Merge pull request #2361 from dnephin/pr-2262
...
Rebase of PR 2262
2015-11-10 13:42:08 -05:00
Daniel Nephin
338bbb5063
Re-order flags in bash completion
...
and remove unnecessary variables from build command.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-10 13:11:59 -05:00
Joffrey F
133d213e78
Use exit code 1 when encountering a ReadTimeout
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2015-11-10 10:11:20 -08: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
Aanand Prasad
0017f43d7f
Merge pull request #2339 from dnephin/recreate_deps_on_create
...
Recreate dependents when a dependency is created
2015-11-10 17:36:23 +00: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
Aanand Prasad
1bfb710326
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-09 17:24:21 +00:00
Daniel Nephin
7c2a16234f
Recreate dependents when a dependency is created (not just when it's recreated).
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-11-06 12:29:52 -05: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
Aanand Prasad
67dc90ec0e
Merge pull request #2314 from dnephin/fix_up_require_build_error
...
Fix `up` "requires build" error
2015-11-05 15:52:56 +00: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