Commit Graph

461 Commits

Author SHA1 Message Date
Daniel Nephin 37564a73c3 Merge build.args when merging services.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-02-10 13:54:40 -05:00
Aanand Prasad 7b5bad6050 Merge pull request #2851 from cr7pt0gr4ph7/2839-fix-networks-merging
Fix merge behavior for 'networks' and 'network_mode'.
2016-02-10 17:51:01 +00:00
Daniel Nephin 6f06b3bd30 Merge pull request #2853 from dnephin/fix_short_id_alias
Use 12 characters for the short id
2016-02-09 14:56:24 -05:00
cr7pt0gr4ph7 582de19a5a Simplify unit tests in config/config_test.py by using class variables instead of methods for parametrizing tests.
Signed-off-by: cr7pt0gr4ph7 <cr7pt0gr4ph7@gmail.com>
2016-02-08 21:57:15 +01:00
Joffrey F fdf4a2e89e Merge pull request #2734 from jrabbit/empty-env-var-2359
Empty env var #2359
2016-02-08 11:17:54 -08:00
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