Commit Graph

1691 Commits

Author SHA1 Message Date
Mazz Mosley ece6a72712 Clean error.message
Unfortunately the way that jsonschema is calling %r on its property
and then encoding the complete message means I've had to do this
manual way of removing the literal string prefix, u'.

eg:

key = 'extends'
message = "Invalid value for %r" % key
error.message = message.encode("utf-8")"

results in:

"Invalid value for u'extends'"

Performing a replace to strip out the extra "u'", does not change the
encoding of the string, it is at this point the character u followed
by a '.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-11 12:01:27 +01:00
Mazz Mosley b4872de213 Allow integer value for ports
While it was intended as a positive to be stricter in validation
it would in fact break backwards compatibility, which we do not
want to be doing.

Consider re-visiting this later and include a deprecation warning if
we want to be stricter.

Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-11 12:01:27 +01:00
Mazz Mosley 52733f6996 Merge pull request #1833 from aanand/deprecate-relative-volumes-without-dot
Show a warning when a relative path is specified without "./"
2015-08-11 11:21:17 +01:00
Ben Firshman b7baa899e2 Merge pull request #1829 from vlajos/typofixes-vlajos-20150807
typofix - https://github.com/vlajos/misspell_fixer
2015-08-10 22:13:30 +01:00
Ben Firshman afc9629c59 Merge pull request #1832 from aanand/use-docker-1.8.0-rc3
Test against Docker 1.8.0 RC3
2015-08-10 20:53:01 +01:00
Aanand Prasad 46e8e4322a Show a warning when a relative path is specified without "./"
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-10 19:56:36 +01:00
Ben Firshman 4e12ce39b3 Merge pull request #1835 from aanand/fix-crash-when-container-has-no-name
Ignore containers that don't have a name
2015-08-10 18:50:00 +01:00
Ben Firshman 197d332620 Merge pull request #1836 from aanand/use-overlay-driver-in-tests
Use overlay driver in tests
2015-08-10 18:47:29 +01:00
Aanand Prasad 7f90e9592a Use overlay driver in tests
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-10 18:05:09 +01:00
Aanand Prasad dfa4bf4452 Ignore containers that don't have a name
If a container is in the process of being removed, or removal has
failed, it can sometimes appear in the output of GET /containers/json
but not have a 'Name' key. In that case, rather than crashing, we can
ignore it.

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-10 16:29:12 +01:00
Aanand Prasad 6cb8e512f2 Merge pull request #1812 from moxiegirl/install-update-for-1811
Closes #1811 for Toolbox
2015-08-10 12:48:25 +01:00
Aanand Prasad 4390362366 Test against Docker 1.8.0 RC3
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2015-08-10 12:01:51 +01:00
Mary Anthony 7c128b46a1 - Closes #1811 for Toolbox
- Updating with comments

Signed-off-by: Mary Anthony <mary@docker.com>
2015-08-09 10:51:39 -07:00
Veres Lajos 11adca9324 typofix - https://github.com/vlajos/misspell_fixer
Signed-off-by: Veres Lajos <vlajos@gmail.com>
2015-08-07 22:34:24 +01:00
Mazz Mosley d1455acb64 Update docs inline with feedback
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
2015-08-07 16:30:00 +01:00
Yuval Kohavi 557cbb616c ports documentation
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
2015-08-07 16:22:39 +01:00
Yuval Kohavi 0fdd977b06 fixed merge issue from previous commit
Signed-off-by: Yuval Kohavi <yuval.kohavi@gmail.com>
2015-08-07 16:22:39 +01:00
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 41b9df7639 Merge pull request #1800 from aanand/volume-driver-support
Support volume_driver
2015-07-31 16:28:46 +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