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
Daniel Nephin
421981e7d2
Use 12 characters for the short id to match docker and fix backwards compatibility.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-08 12:18:48 -05: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
Aanand Prasad
be236d8801
Update docker-py and dockerpty
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-02-04 19:16:01 +00:00
Daniel Nephin
89c5b800e6
Merge pull request #2782 from dbonev/2772-compose-project-name-empty
...
Falling back to default project name on empty COMPOSE_PROJECT_NAME
2016-02-02 20:37:38 -05:00
Daniel Nephin
4c4e94bc19
Merge pull request #2785 from dnephin/depends_on_with_extends
...
Fix list options when used with extends and multiple files
2016-02-02 13:36:46 -05:00
Daniel Nephin
e551988616
Include networks in the config_hash.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-02 10:52:03 -05:00
Daniel Nephin
8e838968fe
Refactor project network initlization.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-02 10:51:31 -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
Dimitar Bonev
34ccb90d7e
Falling back to default project name when COMPOSE_PROJECT_NAME is set to empty
...
Signed-off-by: Dimitar Bonev <dimitar.bonev@gmail.com>
2016-01-30 10:14:45 +02:00
Daniel Nephin
b4868d0259
Fix race condition with up and setting signal handlers.
...
Also print stdout on wait_for_container().
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-29 13:04:04 -05:00
Aanand Prasad
ed1b204804
Rename 'net' to 'network mode' in various classes/methods
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-25 23:55:20 +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
Joffrey F
9e67eae311
Match named volumes in service definitions with declared volumes
...
Raise ConfigurationError for undeclared named volumes
Test new behavior
Signed-off-by: Joffrey F <joffrey@docker.com>
2016-01-21 18:10:53 -08:00
Aanand Prasad
da2b6329ae
Add test for logs=False
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
Conflicts:
compose/cli/main.py
2016-01-21 19:20:50 +00:00
Aanand Prasad
f3e55568d1
Fix interactive run with networking
...
Make sure we connect the container to all required networks *after*
starting the container and *before* hijacking the terminal.
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-21 18:42:59 +00:00
Aanand Prasad
013c5ea3f9
Merge pull request #2713 from aanand/links-v2
...
Support links in v2 files
2016-01-21 17:08:05 +00: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
Aanand Prasad
ee63075a34
Support links in v2 files
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-21 14:34:26 +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
Aanand Prasad
3eafdbb01b
Connect services to networks with the 'networks' key
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-14 17:59:37 +00:00
Aanand Prasad
69ed5f9c48
Specify networks in Compose file
...
There's not yet a proper way for services to join networks
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-14 17:59:36 +00:00
Aanand Prasad
8fca4f1628
Merge pull request #2649 from dnephin/make_volumes_from_more_explicit
...
Make volumes from more explicit in V2 config format
2016-01-14 17:15:27 +00:00
Daniel Nephin
172b955d79
Merge pull request #2646 from dnephin/docker_compose_down
...
docker-compose down
2016-01-14 11:59:02 -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
Aanand Prasad
dbe04a70f0
Merge pull request #2655 from shin-/updated_volume_definition
...
Properly validate volume definition
2016-01-14 16:37:39 +00:00
Daniel Nephin
c64af0a459
Add an acceptance test and docs for the down subcommand
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-14 11:11:08 -05:00
Daniel Nephin
c8ed156806
Adding docker-compose down
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-14 10:59:53 -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
Daniel Nephin
6877c6ca06
Fix flaky multiplex test.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-13 20:58:44 -05: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
Evgeniy Dobrohvalov
bf48a781db
Add flag for stops all containers if any container was stopped.
...
Signed-off-by: Evgeniy Dobrohvalov <scipetr@gmail.com>
2016-01-13 13:12:09 +03: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
Aanand Prasad
a027a0079c
Use networking for version 2 Compose files
...
- Remove --x-networking and --x-network-driver
- There's now no way to set a network driver - this will be added back
with the 'networks' key
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-12 21:29:40 +00:00
Aanand Prasad
1a66543461
Make the default network name '{project name}_default'
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2016-01-12 21:08:28 +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
304a44aeab
Merge pull request #2585 from dnephin/short_signal_handlers
...
Fix signal handlers by moving shutdown logic out of handler
2016-01-12 12:55:53 -05:00
Aanand Prasad
52e50a9d9a
Merge pull request #2626 from shin-/dbonev-2503-move-logging-config-under-separate-key
...
Move logging config under separate key in v2 compose files
2016-01-12 15:21:10 +00:00
Aanand Prasad
063a25ae7d
Merge pull request #2392 from dnephin/docker_compose_events
...
docker-compose events
2016-01-12 11:45:27 +00:00
Daniel Nephin
d3cd038b84
Update event field names to match the new API fields.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-01-11 11:51:17 -05:00
Daniel Nephin
fc57fc1dc1
Merge pull request #2609 from dnephin/dont_warn_on_container_volume
...
Don't warn when the container volume is a compose option
2016-01-08 17:18:02 -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
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
Aanand Prasad
627f1acdc4
Merge pull request #2126 from mnowster/1188-support-ro-options-in-volumes-from
...
1188 support ro options in volumes from
2015-10-07 11:57:14 +01:00
Mazz Mosley
f9028703f4
Pick the first container
...
Rather than inefficiently looping through all the containers that a
service has and overriding each volumes_from value, pick the first
one and return that.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-07 11:27:13 +01:00
Mazz Mosley
467c731869
address PR feedback
...
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-07 11:27:13 +01:00
Aanand Prasad
fda615008c
Merge pull request #2142 from dnephin/fix_error_cant_connect
...
Fix error when compose can't connect to docker
2015-10-07 11:22:32 +01:00
Daniel Nephin
15d0c60a73
Fix split buffer with inconsistently delimited json objects.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-06 10:43:07 -04:00
Daniel Nephin
3661e8bc74
Fix build against the swarm cluster by joining buffered output before parsing json.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-06 10:37:05 -04:00
Vincent Demeester
5b55a08846
Add support for ro option in volumes_from
...
Fixes #1188
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-10-06 13:12:55 +01:00
Daniel Nephin
fbaea58fc1
Fix #2133 - fix call to get_client()
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-10-05 15:57:49 -04:00
Mazz Mosley
bef5c2238e
Skip a test for now
...
This needs resolving outside of this PR, as it is a much bigger piece
of work.
https://github.com/docker/compose/issues/2128
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-02 15:29:26 +01:00
Mazz Mosley
af8032a5f4
Fix incorrect test name
...
I'd written relative, when I meant absolute. D'oh.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-02 12:01:56 +01:00
Mazz Mosley
2276326d7e
volume path compatibility with engine
...
An expanded windows path of c:\shiny\thing:\shiny:rw
needs to be changed to be linux style path, including the drive,
like /c/shiny/thing /shiny
to be mounted successfully by the engine.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-02 12:01:56 +01:00
Mazz Mosley
f4cd5b1d45
Handle windows volume paths
...
When a relative path is expanded and we're on a windows platform,
it expands to include the drive, eg C:\ , which was causing a ConfigError
as we split on ":" in parse_volume_spec and that was giving too many parts.
Use os.path.splitdrive instead of manually calculating the drive.
This should help us deal with windows drives as part of the volume
path better than us doing it manually.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-10-01 16:06:57 +01:00
Aanand Prasad
e38334efbd
Don't expand volume names
...
Only expand volume host paths if they begin with a dot.
This is a breaking change. The deprecation warning preparing users for
this change has been removed.
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-10-01 14:48:38 +01:00
Karol Duleba
91b227d133
Allow to extend service using shorthand notation. Closes #1989
...
Signed-off-by: Karol Duleba <mr.fuxi@gmail.com>
2015-09-24 18:01:47 +01:00
Daniel Nephin
78c0734cbd
Disable some tests in windows for now.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-23 10:42:57 -04:00
Daniel Nephin
be0611bf3e
Cleanup get_default_config_files tests.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-17 14:13:50 -04:00
Daniel Nephin
39ae85db8a
Support a default docker-compose.override.yml for overrides
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-17 14:13:50 -04:00
Daniel Nephin
89be7f1fa7
Unit tests for multiple files
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-17 14:13:50 -04:00
Daniel Nephin
831276f531
Move config_test to the correct package name.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-17 14:13:50 -04:00
Daniel Nephin
10b3188214
Support multiple config files
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-17 14:13:50 -04:00
Daniel Nephin
258d0fa0c6
Remove some functions from Command class
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-17 14:13:50 -04:00
Mazz Mosley
39ba2c5a7c
Fix leaky tests
...
It was mocking self.client but relying on the call to
utils.create_host_config which was not mocked. So now that function
has moved to also be on self.client we need to redefine the test
boundary, up to where we would call docker-py, not the result of
docker-py.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-17 17:11:00 +01:00
Mazz Mosley
6f6c04b5c9
Test what we are sending, not what we get
...
This is a unit test and we are mocking the client. The method to get
the create_config_host now lives on the client, so we mock that too.
So we can test to the boundary that the method is called with the
arguments we expect.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-17 17:11:00 +01:00
Mazz Mosley
4b2fd7699b
Relax constraints on key naming for environment
...
One of the use cases is swarm requires at least : character, so going
from conservative to relaxed.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-15 15:33:30 +01:00
Mazz Mosley
8caeffe27e
Log a warning when boolean is found in `environment`
...
We're going to warn people that allowing a boolean in the environment is
being deprecated, so in a future release we can disallow it. This is to
ensure boolean variables are quoted in strings to ensure they don't get
mis-parsed by YML.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-15 15:33:30 +01:00
Mazz Mosley
a594a2ccc2
Disallow booleans in environment
...
When users were putting true/false/yes/no in the environment key,
the YML parser was converting them into True/False, rather than leaving
them as a string.
This change will force people to put them in quotes, thus ensuring
that the value gets passed through as intended.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-15 15:33:30 +01:00
Mazz Mosley
cf7b595385
Improve error messages from oneOf schema errors
...
oneOf schema ValidationError takes a little more work to parse and
pull out more detail so we can give a better error message back to
the user.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-15 14:29:00 +01:00
Mazz Mosley
418ec5336b
Improved messaging for simple type validator
...
English language is a tricky old thing and I've pulled out the validator type
parsing so that we can prefix our validator types with the correct article,
'an' or 'a'.
Doing a bit of extra hard work to ensure the error message is clear and
well constructed english.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-14 17:23:58 +01:00
Daniel Nephin
413b76e228
Fix warning message when a container uses a non-json log driver
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-11 12:54:27 -04:00
Aanand Prasad
87a50317ad
Merge pull request #1954 from nhumrich/master
...
Allow for user relative paths on EXTEND
2015-09-10 16:35:40 -07:00
Nick H
a372275c6e
Allow for user relative paths
...
'~/' in a path currently doesnt work, you get the following error:
[Errno 2] No such file or directory: u'/home/USER/folder/~/some/path/.yml'
Signed-off-by: Nick H <nick.humrich@gmail.com>
2015-09-09 14:54:08 -06:00
Mazz Mosley
4bed5de291
Remove item unique constraint for command
...
The command value can be a list, which would be a Unix command-line
invocation broken up into individual values, thus needing the ability to
have non unique values.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-09 16:39:06 +01:00
Aanand Prasad
85709d85d2
Merge pull request #1862 from mrfuxi/costom-container-name-in-logs
...
Use custom container name in logs
2015-09-08 14:36:28 -07:00
Mazz Mosley
866979c57b
Allow entrypoint to be a list or string
...
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-07 17:26:38 +01:00
Karol Duleba
d83d6306c9
Use custom container name in logs. Fixes #1851
...
Signed-off-by: Karol Duleba <mr.fuxi@gmail.com>
2015-09-07 14:03:00 +01:00
Aanand Prasad
10cb0c921a
Merge pull request #1963 from shin-/1923-catch-timeout
...
Exit gracefully when requests encounter a ReadTimeout exception.
2015-09-04 16:14:32 -07:00
Daniel Nephin
0484e22a84
Add enum34 and use it to create a ConvergenceStrategy enum.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-04 10:45:53 -04:00
Aanand Prasad
6a47fa066e
Merge pull request #1960 from dnephin/fix_smart_recreate_when_service_is_removed
...
Fix config_hash context to properly represent the service
2015-09-03 11:41:30 -07:00
Daniel Nephin
187ad4ce26
Refactor network_mode logic out of Service.
...
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2015-09-03 13:02:46 -04:00
Daniel Nephin
c183e52502
Fixes #1757 - include all service properties in the config_dict()
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-03 12:04:38 -04:00
Mazz Mosley
7326608369
expose array can contain either strings or numbers
...
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-03 16:44:01 +01:00
Joffrey F
6a95f6d628
custom timeout test rewrite
...
Signed-off-by: Joffrey F <joffrey@docker.com>
2015-09-02 18:00:08 -07:00
Aanand Prasad
6baed6c354
Merge pull request #1965 from dnephin/fix_compose_up_attach
...
Attach to all containers when no service names are specified
2015-09-02 17:37:43 -07:00
Daniel Nephin
48466d7d82
Fix #1961 - docker-compose up should attach to all containers with no service names are specified, and add tests.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-09-02 16:08:18 -04:00
Mazz Mosley
6a399a5b2f
Update tests to be compatible with validation
...
Some were missing build '.' from their dicts, others were the
incorrect type and one I've moved from integration to unit.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-02 15:43:52 +01:00
Mazz Mosley
950577d60f
Split validation into fields and service
...
We want to give feedback to the user as soon as possible about the
validity of the config supplied for the services.
When extending a service, we can validate that the fields are
correct against our schema but we must wait until the *end* of
the extends cycle once all of the extended dicts have been merged
into the service dict, to perform the final validation check on the
config to ensure it is a complete valid service.
Doing this before that had happened resulted in false reports of
invalid config, as common config when split out, by itself, is not
a valid service but *is* valid config to be included.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-02 15:42:38 +01:00
Mazz Mosley
4a8b2947ca
Interpolate extended config
...
This refactoring is now really coming together. Construction is
happening in the __init__, which is a constructor and helps
clean up the design and clarity of intent of the code. We can now
see (nearly) everything that is being constructed when a ServiceLoader
is created. It needs all of these data constructs to perform the
domain logic and actions. Which are now clearer to see and moving
more towards the principle of functions doing (mostly)one thing and
function names being more descriptive.
resolve_extends is now concerned with the resolving of extends, rather
than the construction, validation, pre processing and *then* resolving
of extends.
Happy days :)
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-02 15:42:38 +01:00
Mazz Mosley
36757cde1c
Validate extended service against our schema
...
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-02 15:42:38 +01:00
Mazz Mosley
8a6061bfb9
__init__ takes service name and dict
...
Moving service name and dict out of the function make_service_dict
and into __init__. We always call make_service_dict with those so
let's put them in the initialiser. Slightly cleaner design intent.
The whole purpose of the ServiceLoader is to take a
service name&service dictionary then validate, process and return
service dictionaries ready to be created.
This is also another step towards cleaning the code up so we can
interpolate and validate an extended dictionary.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-02 15:42:38 +01:00
Mazz Mosley
1344533b24
filename is not optional
...
While it can be set to ultimately a value of None, when a
config file is read in from stdin, it is not optional.
We kinda make use of it's ability to be set to None in our
tests but functionally and design wise, it is required.
If filename is not set, extends does not work.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-09-02 15:42:38 +01:00
Aanand Prasad
83c514f838
Merge pull request #1933 from dnephin/fix_scale_test_flakes
...
Fix flaky test
2015-08-31 13:52:33 -07:00
mnowster
f5d73fee57
Merge pull request #1932 from mrfuxi/image-dockerfile-validation
...
Do not allow to specify both image and dockerfile in configuration.
2015-08-28 10:12:54 +01:00
Daniel Nephin
d264c2e33a
Resolves #1804
...
Fix mutation of service.options when a label or environment variable is specified in the config.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-27 18:05:21 -04:00
Karol Duleba
477d4f491d
Do not allow to specify both image and dockerfile in configuration. Closes #1908
...
Signed-off-by: Karol Duleba <mr.fuxi@gmail.com>
2015-08-27 19:36:39 +01:00
Aanand Prasad
e777d08854
Merge pull request #1924 from dnephin/python3_fix_for_logs
...
Fix `docker-compose logs` on python3
2015-08-27 14:19:42 +01:00
Daniel Nephin
3a0153859a
Resolves #1856 , fix regression in #1645 . Includes some refactoring to make testing easier.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-26 16:21:31 -04:00
Aanand Prasad
ecd1cc31dc
Merge pull request #1930 from dnephin/name_one_off_containers
...
Allow setting a one-off container name
2015-08-26 19:03:00 +01:00
Daniel Nephin
d2718bed99
Allow setting a one-off container name
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-26 13:33:03 -04:00
Daniel Nephin
bdec7e6b52
Cleanup some test case, remove unused mock return values, and use standard single underscore for unused variable
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-26 13:32:49 -04:00
Daniel Nephin
54973e8200
Remove flake8 ignores and wrap the longest lines to 140 char.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-26 12:53:11 -04:00
Daniel Nephin
9d9550c5b6
Fix log printing for python3 by converting everything to unicode.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-26 11:24:48 -04:00
Daniel Nephin
2b589606da
Move log_printer_test into correct testing module for naming convention.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-25 16:49:49 -04:00
Daniel Nephin
71ff872e8e
Update unit tests for stream_output to match the behaviour of a docker-py response.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-25 10:48:48 -04:00
Daniel Nephin
7e4c3142d7
Have log_printer use utf8 stream.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-25 10:47:06 -04:00
Daniel Nephin
feaa4a5f1a
Unit tests passing again.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-25 10:47:06 -04:00
Daniel Nephin
2943ac6812
Cleanup requirements.txt so we don't have to maintain separate copies for py2 and py3.
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-25 10:46:08 -04:00
funkyfuture
9aa61e596e
Run tests against Python 2.6, 2.7, 3.3, 3.4 and PyPy2
...
In particular it includes:
- some extension of CONTRIBUTING.md
- one fix for Python 2.6 in tests/integration/cli_test.py
- one fix for Python 3.3 in tests/integration/service_test.py
- removal of unused imports
Make stream_output Python 3-compatible
Signed-off-by: Frank Sachsenheim <funkyfuture@riseup.net>
2015-08-25 10:41:09 -04:00
Daniel Nephin
809443d6d0
Support python 3
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-25 10:37:29 -04:00
Daniel Nephin
59d4f304ee
Run pre-commit on all files
...
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2015-08-24 17:04:50 -04:00
Joel Hansson
61936f6b88
log_opt: change address to syslog-address
...
Signed-off-by: Joel Hansson <joel.hansson@ecraft.com>
2015-08-20 16:46:06 +02:00
Aanand Prasad
a806d9e77b
Merge pull request #1855 from mnowster/number-is-a-valid-service-name
...
A number is a valid service name
2015-08-20 12:02:58 +01:00
mnowster
340eaf44fa
Merge pull request #1889 from mrfuxi/1670-images-digest
...
Allow to specify image by digest. Fixes #1670
2015-08-20 10:55:00 +01:00
Karol Duleba
56f03bc20a
Allow to specify image by digest. Fixes #1670
...
Signed-off-by: Karol Duleba <mr.fuxi@gmail.com>
2015-08-19 21:13:34 +01:00
mnowster
30b64e65cd
Merge pull request #1859 from mrfuxi/extend-unexisting-service
...
Raise configuration error when trying to extend service that does not exist
2015-08-19 14:23:28 +01:00
Mazz Mosley
67995ab9e3
Pre-process validation steps
...
In order to validate a service name that has been specified as an
integer we need to run that as a pre-process validation step
*before* we pass the config to be validated against the schema.
It is not possible to validate it *in* the schema, it causes a
type error. Even though a number is a valid service name, it
must be a cast as a string within the yaml to avoid type error.
Taken this opportunity to move the code design in a direction
towards:
1. pre-process
2. validate
3. construct
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-13 16:32:20 +01:00
Daniel Nephin
b87c09b9fc
Merge pull request #1824 from mrfuxi/run-with-ports
...
Allow manual port mapping when using "run" command
2015-08-13 08:29:25 -07:00
Karol Duleba
2e7f08c2ef
Raise configuration error when trying to extend service that does not exist. Fixes #1826
...
Signed-off-by: Karol Duleba <mr.fuxi@gmail.com>
2015-08-12 22:34:25 +01:00
Karol Duleba
ff87ceabbd
Allow manual port mapping when using "run" command. Fixes #1709
...
Signed-off-by: Karol Duleba <mr.fuxi@gmail.com>
2015-08-12 18:54:42 +01:00
Mazz Mosley
440099754d
memory values can be strings or numbers
...
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-12 17:29:33 +01:00
mnowster
c443e95f07
Merge pull request #1825 from aanand/dedupe-unset-env-warnings
...
Avoid duplicate warnings if an unset env variable is used multiple times
2015-08-12 15:57:04 +01:00
Aanand Prasad
4c65891db1
Avoid duplicate warnings if an unset env variable is used multiple times
...
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-12 15:39:33 +01:00