Commit Graph
37 Commits
Author SHA1 Message Date
Aaron Lehmann 38854e0b6a Remove pkg/testutil/assert in favor of testify
I noticed that we're using a homegrown package for assertions. The
functions are extremely similar to testify, but with enough slight
differences to be confusing (for example, Equal takes its arguments in a
different order). We already vendor testify, and it's used in a few
places by tests.

I also found some problems with pkg/testutil/assert. For example, the
NotNil function seems to be broken. It checks the argument against
"nil", which only works for an interface. If you pass in a nil map or
slice, the equality check will fail.

In the interest of avoiding NIH, I'm proposing replacing
pkg/testutil/assert with testify. The test code looks almost the same,
but we avoid the confusion of having two similar but slightly different
assertion packages, and having to maintain our own package instead of
using a commonly-used one.

In the process, I found a few places where the tests should halt if an
assertion fails, so I've made those cases (that I noticed) use "require"
instead of "assert", and I've vendored the "require" package from
testify alongside the already-present "assert" package.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 7059a96e2e
Component: cli
2017-04-14 12:03:21 -07:00
Vincent Demeester 5d0c168973 Merge pull request #32059 from seriousben/support-dns-stack-file
add support for dns nameservers and search domains in stack files
Upstream-commit: c3cf029a49
Component: cli
2017-04-11 21:32:52 +02:00
Benjamin Boudreau 2ebde31440 Adding support for dns in stack files
Signed-off-by: Benjamin Boudreau <boudreau.benjamin@gmail.com>
Upstream-commit: 2e126a52f2
Component: cli
2017-04-10 20:46:33 -04:00
Sebastiaan van Stijn 2afc69443a Merge pull request #32062 from aaronlehmann/change-network-attachments
Support service network attachment changes
Upstream-commit: 3757275eee
Component: cli
2017-04-10 12:49:28 +02:00
Aaron Lehmann 2db399e8c5 cli: Deploying a compose file must use TaskTemplate.Networks
This is the non-deprecated field, and the one that can be changed in a
service update.

Since old daemon versions don't allow migrating from one field to the
other, make this conditional on the API version.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: f804f893b6
Component: cli
2017-04-07 16:46:25 -07:00
Daniel Nephin 00c772cac8 Add support for volume consistency in compose format.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 545ec64de7
Component: cli
2017-04-07 13:23:33 -04:00
Elias Faxö 1a49893201 Added start period option to health check.
Signed-off-by: Elias Faxö <elias.faxo@gmail.com>
Upstream-commit: a58f798fdf
Component: cli
2017-04-06 12:35:34 +02:00
Daniel Nephin 25b1b9c3c2 Replace fmt.Errorf() with errors.Errorf() in the cli
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: e9d6193dfd
Component: cli
2017-03-24 16:58:07 -04:00
Daniel Nephin 8cc3b14857 Cleanup compose convert error messages.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: c70387aebc
Component: cli
2017-03-24 10:43:28 -04:00
Vincent Demeester 7332a7a5de Merge pull request #30781 from AkihiroSuda/fix-stack-env
compose: fix environment interpolation from the client
Upstream-commit: 6e24fc3f58
Component: cli
2017-03-17 15:56:50 +01:00
Aaron Lehmann 8698efadf8 api: Remove SecretRequestOption type
This type is only used by CLI code. It duplicates SecretReference in the
types/swarm package. Change the CLI code to use that type instead.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 395081fc6b
Component: cli
2017-03-16 11:20:31 -07:00
Daniel Nephin 0ed0e112c4 Add --prune to stack deploy.
Add to command line reference.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: b1a98b55af
Component: cli
2017-03-14 16:09:28 -04:00
Daniel Nephin 63bca6acc7 Fix environment resolving.
Load from env should only happen if the value is unset.
Extract a buildEnvironment function and revert some changes to tests.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 146d3eb304
Component: cli
2017-03-14 16:00:43 -04:00
Daniel Nephin 72f1866047 Merge pull request #31795 from dnephin/compose-file-v3.2
Compose file v3.2
Upstream-commit: d1fc5acc2e
Component: cli
2017-03-14 14:10:24 -04:00
Justin Cormack fb5e1898c8 Merge pull request #30597 from dnephin/add-expanded-mount-format-to-stack-deploy
Add expanded mount format to stack deploy
Upstream-commit: b8c49df008
Component: cli
2017-03-14 17:53:28 +00:00
Daniel Nephin 74ffacfbac Move endpoint_mode under deploy and add it to the schema.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 33bfb1e5e5
Component: cli
2017-03-13 15:00:56 -04:00
allencloud a4dea23f9c support both endpoint modes in stack
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: cd1cde6e77
Component: cli
2017-03-13 15:00:49 -04:00
Daniel Nephin 19021e1a48 Convert new compose volume type to swarm mount type
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 63c3221dd3
Component: cli
2017-03-06 11:45:01 -05:00
Daniel Nephin 123d371946 Support customizing the default network for a stack.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 5de7378cbe
Component: cli
2017-02-24 17:32:23 -05:00
Brian Goff 405e82d675 Merge pull request #31006 from vdemeester/30991-secret-mode-in-stack-deploy
Set 0444 as default secret mode in stack deploy
Upstream-commit: 325c8823bc
Component: cli
2017-02-16 20:34:21 -05:00
Vincent Demeester d2654dd0cc Set 0444 as default secret mode in stack deploy
Change the default secret mode to match the default one used in
`service` subcommands.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 645f6ba7f5
Component: cli
2017-02-16 11:26:05 +01:00
bingshen.wbs 200980812d fix docker stack volume's nocopy parameter
Signed-off-by: bingshen.wbs <bingshen.wbs@alibaba-inc.com>
Upstream-commit: 6887337d86
Component: cli
2017-02-15 19:46:27 +08:00
Yong Tang 7cfd3076e4 Support expanded ports in Compose loader
This commit adds support for expanded ports in Compose loader,
and add several unit tests for loading expanded port format.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: c53471254b
Component: cli
2017-02-07 09:14:56 -08:00
Yong Tang 857a9c8722 Add compose support of attachable in networks
This fix tries to address the issue raised in 29975 where
it was not possible to specify `attachable` flag for networks
in compose format.

NOTE: Compose format aleady supports `labels` in networks.

This fix adds the support of `attachable` for compose v3.1 format.

Additiona unit tests have been updated and added.

This fix fixes 29975.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 1a677699ae
Component: cli
2017-02-04 14:16:06 -08:00
Vincent Demeester 30585d157d Make docker stack deploy a little bit more indempotent
Sort some slice fields before sending them to the swarm api so that it
won't trigger an update.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 3df952523c
Component: cli
2017-01-27 16:09:02 +01:00
Daniel Nephin b4ed9a1ae0 Set default values for uid and gid to prevent errors when starting a service.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 485a2b2b2f
Component: cli
2017-01-26 12:00:46 -05:00
Daniel Nephin c63bb4b9c1 Test and fix external secrets in stack deploy.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 682d75fa3f
Component: cli
2017-01-26 11:33:15 -05:00
Daniel Nephin a568e7cd60 Add integration test for stack deploy with secrets.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 4a1c23bc26
Component: cli
2017-01-26 11:33:15 -05:00
Daniel Nephin 5805451da4 Implement secret types for compose file.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 0382f4f365
Component: cli
2017-01-26 11:33:15 -05:00
Daniel Nephin d47c7b7dfb Add missing network.internal.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 3dd116fede
Component: cli
2017-01-20 12:53:19 -05:00
Tony Abboud 152258c49f Add error checking for hostPort range
This fix catches the case where there is a single container port
and a dynamic host port and will fail out gracefully
Example docker-compose.yml snippet:
    port:
        ports:
            - "8091-8093:8091"
            - "80:8080"

Signed-off-by: Tony Abboud <tdabboud@hotmail.com>
Upstream-commit: 74c29fde04
Component: cli
2017-01-13 18:05:51 -05:00
Vincent Demeester 4b2d2c595b Few stack deploy network fixes
- Make sure we use the correct network name for external ones.
- Make the default network overridable and only creates networks that
  are used by services — so that default network is only created if a
  service doesn't declare a network.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 70643ad005
Component: cli
2017-01-10 10:29:09 +01:00
Daniel Nephin 0f057e3c8d Fix parsing resources from compose file for stack deploy.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: c2f0402f4d
Component: cli
2017-01-09 14:22:02 -05:00
Daniel Nephin 6a9af71e6e Replace vendor of aanand/compose-file with a local copy.
Add go-bindata for including the schema.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 52c0157036
Component: cli
2016-12-27 16:17:24 -05:00
Sebastiaan van Stijn 84caa86071 Improve validation for volume specs
The current validation only checked for the
number of elements in the volume-spec, however,
did not validate if the elements were empty.

Because of this, an empty volume-spec (""),
or volume spec only containing separators ("::")
would not be invalidated.

This adds a simple check for empty elements in
the volume-spec, and returns an error if
the spec is invalid.

A unit-test is also added to verify the behavior.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 1f57f07070
Component: cli
2016-12-19 01:50:08 +01:00
Sebastiaan van Stijn 58f845701a fix conversion of anonymous volumes in compose-file
the `convertVolumeToMount()` function did not take
anonymous volumes into account when converting
volume specifications to bind-mounts.

this resulted in the conversion to try to
look up an empty "source" volume, which
lead to an error;

    undefined volume:

this patch distinguishes "anonymous"
volumes from bind-mounts and named-volumes,
and skips further processing if no source
is defined (i.e. the volume is "anonymous").

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: bc4590fd7d
Component: cli
2016-12-18 16:50:32 +01:00
Daniel Nephin 49a03faa44 Move pkg to cli/compose/convert
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: c4ea22972f
Component: cli
2016-12-16 12:27:31 -05:00