2043 Commits

Author SHA1 Message Date
Yuval Kohavi
297941e460 rebasing port range changes
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
2015-08-07 16:22:39 +01:00
Mazz Mosley
df74b131ff Use split_port for ports format check
Rather than implement the logic a second time, use docker-py
split_port function to test if the ports is valid.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 15:27:30 +01:00
Mazz Mosley
2e428f94ca Refactor validation out
Move validation out into its own file without causing circular
import errors.

Fix some of the tests to import from the right place.

Also fix tests that were not using valid test data, as the validation
schema is now firing telling you that you couldn't "just" have this
dict without a build/image config key.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 12:06:34 +01:00
Mazz Mosley
0557b5dce6 Remove dead code
These functions weren't being called by anything.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 12:06:34 +01:00
Mazz Mosley
ea3608e1f4 Improve test coverage for validation
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 12:06:34 +01:00
Mazz Mosley
d8aee782c8 Error handling
jsonschema provides a rich error tree of info, by parsing each error
we can pull out relevant info and re-write the error messages.

This covers current error handling behaviour.

This includes new error handling behaviour for types and formatting of
the ports field.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 12:06:34 +01:00
Mazz Mosley
8d6694085d Include remaining valid config properties
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 12:06:34 +01:00
Mazz Mosley
98c7a7da61 Order properties alphabetically
Improves readability.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 12:06:34 +01:00
Mazz Mosley
6c7c598546 Format validation of ports
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 12:06:34 +01:00
Mazz Mosley
76e6029f21 Replace service tests with config tests
We validate the config against our schema before a service is created
so checking whether a service name is valid at time of instantiation of
the Service class is not needed.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 12:06:34 +01:00
Mazz Mosley
da36ee7cbc Perform schema validation
Define a schema that we can pass to jsonschema to validate against the
config a user has supplied. This will help catch a wide variety of common
errors that occur.

If the config does not pass schema validation then it raises an exception
and prints out human readable reasons.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 12:06:34 +01:00
Mazz Mosley
22b7ee42de Merge pull request #1817 from aanand/update-volume-tests
Update volume tests for clarity
2015-08-06 18:09:58 +01:00
Aanand Prasad
fdaa5f2cde Update volume tests for clarity
- Better method names.

- Environment variable syntax in volume paths, even when a driver is
  specified, now *will* be processed (the test wasn't testing it
  properly). However, `~` will still *not* expand to the user's home
  directory.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-06 16:14:37 +01:00
Aanand Prasad
f7b9daf927 Merge pull request #1815 from aanand/abort-if-daemon-cant-start
Abort tests if daemon fails to start
2015-08-06 15:29:55 +01:00
Mazz Mosley
44f1207931 Merge pull request #1765 from aanand/interpolate-environment-variables
Interpolate environment variables
2015-08-06 15:13:30 +01:00
Aanand Prasad
4f14298694 Abort tests if daemon fails to start
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-06 14:45:35 +01:00
Aanand Prasad
ee6ff294a2 Show a warning when a variable is unset
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-06 14:24:11 +01:00
Aanand Prasad
8b5bd945d0 Interpolate environment variables
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-06 11:18:57 +01:00
Aanand Prasad
31ac3ce22a Split out compose.config.errors
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-05 15:50:22 +01:00
Aanand Prasad
92ef1f5702 Make compose.config a proper module
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-05 15:50:22 +01:00
Mazz Mosley
a248cfd65a Merge pull request #1692 from bfirsh/coverage
Add test coverage support
2015-08-05 11:32:33 +01:00
moxiegirl
8ddf37c4b3 Merge pull request #1778 from aanand/remove-script-docs
Remove custom docs script
2015-08-02 07:36:49 -07:00
Aanand Prasad
3d6946417d Merge pull request #1800 from aanand/volume-driver-support
Support volume_driver
(cherry picked from commit 41b9df763925dee4f5702dc48ce18a76cbca19f2)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 16:29:24 +01:00
Aanand Prasad
41b9df7639 Merge pull request #1800 from aanand/volume-driver-support
Support volume_driver
2015-07-31 16:28:46 +01:00
Daniel Nephin
31cf63b374 Merge pull request #1799 from d2bit/clean-rails-quickstart-guide-db-config
Remove useless postgres 'port' configuration
(cherry picked from commit b25f05bed4d8865c8d236576e99d8d44571702d4)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:46:07 +01:00
Daniel Nephin
5c853c4a2c Merge pull request #1794 from aanand/add-test-for-trailing-slash-volume-copy
Add test for trailing slash volume copying bug
(cherry picked from commit ea7276031c237c8c1f8bc6131102b5a73c29826e)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:44 +01:00
Aanand Prasad
ad922cd7a1 Merge pull request #1787 from aanand/fix-duplicate-volume-bind
Fix "Duplicate volume mount" error when config has trailing slashes
(cherry picked from commit dc7bdd10d45093fff2d51ec20d67928a17f3a06f)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:44 +01:00
Aanand Prasad
49bafdc4cd Merge pull request #1777 from aanand/update-api-version
Update API version to 1.19
(cherry picked from commit 276e369c3167b4f5e189b33e8a55ff6fd7115142)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:44 +01:00
Aanand Prasad
989b2491b9 Merge pull request #1780 from gheart/specify_api_version_via_env
Allow API version specification via env var
(cherry picked from commit 2759ab5ab6bbe81bb33151cf0fbc21862f0c9346)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:44 +01:00
Aanand Prasad
ca2ce3a034 Merge pull request #1779 from aanand/mac-binary-error-hint
Add hint about OS X binary compatibility
(cherry picked from commit 1496734cbb2f2084c978eb90f8671bcd970c7095)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:43 +01:00
Aanand Prasad
dfe9dccab8 Merge pull request #1774 from moxiegirl/test-entire-build
Contributors can build public docs with compose docs in context
(cherry picked from commit 487eae3b7b1e36d037a8fdcf181fdf1bbf9c40cc)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-31 15:29:43 +01:00
Daniel Nephin
b25f05bed4 Merge pull request #1799 from d2bit/clean-rails-quickstart-guide-db-config
Remove useless postgres 'port' configuration
2015-07-31 07:27:45 -07:00
Luke Marsden
a68ee0d9c2 Support volume_driver in compose
* Add support for volume_driver parameter in compose yml
* Don't expand volume host paths if a volume_driver is specified
  (i.e., disable compose feature "relative to absolute path
  transformation" when volume drivers are in use, since volume drivers
  can use name where host path is normally specified; this is a
  heuristic)

Signed-off-by: Luke Marsden <luke@clusterhq.com>
2015-07-31 15:23:15 +01:00
David BF
1a9ddf645d Remove useless postgres 'port' configuration
Signed-off-by: David BF <burretfresket@gmail.com>
2015-07-31 14:40:29 +02:00
Daniel Nephin
ea7276031c Merge pull request #1794 from aanand/add-test-for-trailing-slash-volume-copy
Add test for trailing slash volume copying bug
2015-07-30 07:18:57 -07:00
Aanand Prasad
27bd987f28 Add test for trailing slash volume copying bug
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-30 10:31:54 +01:00
Aanand Prasad
dc7bdd10d4 Merge pull request #1787 from aanand/fix-duplicate-volume-bind
Fix "Duplicate volume mount" error when config has trailing slashes
2015-07-30 09:59:08 +01:00
Aanand Prasad
b47bb84ea1 Merge pull request #1754 from aanand/wait-for-all-containers-to-exit
Wait for all containers to exit
2015-07-30 09:58:49 +01:00
Aanand Prasad
80d90a745a Make sure an exception in any iterator gets raised in the main thread
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>

Conflicts:
	compose/cli/multiplexer.py
2015-07-29 19:42:33 +01:00
Aanand Prasad
a9942b512a Wait for all containers to exit when running 'up' interactively
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-29 19:42:33 +01:00
Aanand Prasad
27378704df Isolate STOP logic in multiplexer module
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-29 19:42:33 +01:00
Aanand Prasad
03c3d4c768 generator -> iterator
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-29 19:42:33 +01:00
Aanand Prasad
9768872507 Fix "Duplicate volume mount" error when config has trailing slashes
When an image declares a volume such as `/var/lib/mysql`, and a Compose
file has a line like `./data:/var/lib/mysql/` (note the trailing slash),
Compose creates duplicate volume binds when *recreating* the container.
(The first container is created without a hitch, but contains multiple
entries in its "Volumes" config.)

Fixed by normalizing all paths in volumes config.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-29 18:42:08 +01:00
Aanand Prasad
276e369c31 Merge pull request #1777 from aanand/update-api-version
Update API version to 1.19
2015-07-29 16:59:42 +01:00
Aanand Prasad
118a389646 Update API version to 1.19
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-29 15:44:21 +01:00
Aanand Prasad
2759ab5ab6 Merge pull request #1780 from gheart/specify_api_version_via_env
Allow API version specification via env var
2015-07-29 15:42:57 +01:00
Aanand Prasad
1496734cbb Merge pull request #1779 from aanand/mac-binary-error-hint
Add hint about OS X binary compatibility
2015-07-29 15:06:55 +01:00
Reilly Herrewig-Pope
fc203d643a Allow API version specification via env var
Hard-coding the API version to '1.18' with the docker-py constructor will
cause the docker-py logic at
https://github.com/docker/docker-py/blob/master/docker/client.py#L143-L146
to always fail, which will cause authentication issues if you're using a
remote daemon using API version 1.19 - regardless of the API version of
the registry.

Allow the user to set the API version via an environment variable. If
the variable is not present, it will still default to '1.18' like it
does today.

Signed-off-by: Reilly Herrewig-Pope <reilly.herrewigpope@mandiant.com>
2015-07-29 08:44:47 -04:00
Aanand Prasad
b08e23d351 Add hint about OS X binary compatibility
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-29 10:44:38 +01:00
Aanand Prasad
430ba8cda3 Remove custom docs script
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-07-28 16:59:37 +01:00