Commit Graph

122 Commits

Author SHA1 Message Date
642bdd2e30 cluster: Proceed with startup if cluster component can't be created
The current behavior is for dockerd to fail to start if the swarm
component can't be started for some reason. This can be difficult to
debug remotely because the daemon won't be running at all, so it's not
possible to hit endpoints like /info to see what's going on. It's also
very difficult to recover from the situation, since commands like
"docker swarm leave" are unavailable.

Change the behavior to allow startup to proceed.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: f7d846094a5dc642198cc4939df646a3e889a750
Component: engine
2017-03-07 16:50:39 -08:00
27f6b8793b Add a lockedManagerAction method to Cluster…
… in order to remove duplication.
Each time we update a cluster object, we do some common
operations (lock, verify it's on a manager, get the request context,
and the update). This introduce a method and refactor few
update/remove method that allows to duplicate less code.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 250e05e42773a875d2fb8248b94fa72f2934a4b6
Component: engine
2017-02-28 11:12:11 +01:00
e64cb1f6c5 Remove daemon.VXSubnets duplicate code
Refactor daemon.V4Subnets and daemon.V6Subnets to limit duplication

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 3c5932086af51f57c497690ce3cf18a906b700cf
Component: engine
2017-02-28 10:51:40 +01:00
fe42bb3c56 create a new file swarm.go and move swarm part code from cluster.go into swarm.go
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 75a315d43e2577768ba5e0ef071ed9631e43ce8b
Component: engine
2017-02-12 02:54:07 +08:00
5257b3c3b3 create a new file networks.go and move network part codes from cluster.go into networks.go
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 4f4151bba4eac6b6e4b47a922346fbf66120a057
Component: engine
2017-02-12 02:50:17 +08:00
767050f4bc create a new file task.go and move task part codes from cluster.go into tasks.go
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 6be675c752ac511c7397fef5928af7dfda13a234
Component: engine
2017-02-12 02:45:00 +08:00
b538436290 create a new file services.go and move service part codes from cluster.go into services.go
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 6ff14b48c789fa9cad050b039b08f52491955ce2
Component: engine
2017-02-12 02:43:23 +08:00
6c9be69cc1 create a new file nodes.go and move node part codes from cluster.go into nodes.go
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 7591e313a4799074cee45dab43f40b583a959abb
Component: engine
2017-02-12 02:36:09 +08:00
2260389fe6 Use distribution reference
Remove forked reference package. Use normalized named values
everywhere and familiar functions to convert back to familiar
strings for UX and storage compatibility.

Enforce that the source repository in the distribution metadata
is always a normalized string, ignore invalid values which are not.
Update distribution tests to use normalized values.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: 3a1279393faf78632bf169619d407e584da84b66
Component: engine
2017-02-07 11:08:37 -08:00
2613e5ae2f Remove attachable network on swarm leave
- When the node leaves the cluster, if any user run
  container(s) is connected to the swarm network,
  then daemon needs to detach the container(s) and
  remove the network.

Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: 3cedca5d532958ffc007d9b62cc871d3d113f054
Component: engine
2017-01-26 11:16:07 -08:00
d93ce12d04 Vendor swarmkit, containerd, and related dependencies
Update swarmkit to 037b491.

As swarmkit switched to a newer gRPC version, this also involves
updating Docker's vendored gRPC, which in turn requires updating
containerd to a new version that has protobufs generated against this
gRPC version.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 3e987e1732ee5c51e95934afabba3fedfd16c4af
Component: engine
2017-01-23 17:51:14 -08:00
b0c7dd934b return error when listNode fails
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 8e04e9902a9739a13e5e824339082cc3d361d097
Component: engine
2017-01-19 14:02:06 +08:00
acaf4ba63f Allow swarm init with --availability=drain
This fix adds a new flag `--availability` to `swarm join`.

Related documentation has been updated.

An integration test has been added.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 0f30c644441b3b4150252af1b41db99d4b6e697a
Component: engine
2017-01-10 16:31:51 -08:00
9a5d4b9c8d Allow swarm join with --availability=drain
This fix tries to address the issue raised in 24596 where it was not
possible to join as manager only (`--availability=drain`).

This fix adds a new flag `--availability` to `swarm join`.

Related documentation has been updated.

An integration test has been added.

NOTE: Additional pull request for swarmkit and engine-api will
be created separately.

This fix fixes 24596.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: a8e7e37aa82d1adac67b05836ea97a06fbdfdbf0
Component: engine
2017-01-10 16:31:51 -08:00
775c5633ef *: use opencontainers/go-digest package
The `digest` data type, used throughout docker for image verification
and identity, has been broken out into `opencontainers/go-digest`. This
PR updates the dependencies and moves uses over to the new type.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
Upstream-commit: 7a855799175b6b984886ef1cfa337d6df1d4c668
Component: engine
2017-01-06 18:48:41 -08:00
434810fce9 Remove redundant return nil
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
Upstream-commit: 9788822421255a0516a0e3ce2ac32b1ec9d7d894
Component: engine
2017-01-06 22:18:10 +08:00
7c2700ecf9 Remove redundant format
Signed-off-by: Ke Li <kel@splunk.com>

Add missing changes

Signed-off-by: Ke Li <kel@splunk.com>

User errors.New to create error

Signed-off-by: Ke Li <kel@splunk.com>
Upstream-commit: 514adcf4580effa4820be8d5e6d2c0ea9825ceb2
Component: engine
2016-12-27 21:46:52 +08:00
409b30fc55 modify some files
Signed-off-by: liwenqi <vikilwq@zju.edu.cn>

update some files in the folder of distribution/xfer

Signed-off-by: liwenqi <vikilwq@zju.edu.cn>

correct again

Signed-off-by: liwenqi <vikilwq@zju.edu.cn>
Upstream-commit: 128d07d3493aeee8ec6a044039f032aeb2adf699
Component: engine
2016-12-22 08:38:37 +08:00
4a0adf4beb update response status code for cluster request
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 29d4a7f512e3702ee4a2871dd84e3b24dd26477d
Component: engine
2016-12-19 10:21:10 +08:00
1f59facb6e api: allow creating a network of which name is the prefix of the ID of a swarm network
Previously, it doesn't allow creating such a network:

e.g.

    $ docker network inspect -f '{{.Id}}' ingress
    84xh9knigj6zyt00u31e26nj3
    $ docker network create 84
    Error response from daemon: network with name 84 already exists

Fix #27866

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: edfbc3b8767ab2e89e73ba3142d2ddad295001e9
Component: engine
2016-12-15 15:09:06 +00:00
8bf34c7522 cli: Pin image to digest using content trust
Implement notary-based digest lookup in the client when
DOCKER_CONTENT_TRUST=1.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: d4d6f8c0d0c6cd0ba6dc96ab7a9ed07e1e766074
Component: engine
2016-12-14 10:49:33 -08:00
0bc3e1033e return not a swarm when unlock
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 0270645c13647456834d86082470734e944fdd37
Component: engine
2016-12-13 10:38:45 +08:00
ed60722124 not export errors and forbid leave when unlocked
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 7bdd1a4f9c06ab4af8e652b7483104456e72c442
Component: engine
2016-12-07 13:25:34 +08:00
d262373ee7 Merge pull request #28907 from tonistiigi/cluster-refactor
Switch cluster locking strategy
Upstream-commit: eefbf1ddd3ee4e6b6e6dc7e938e77a96ceb40163
Component: engine
2016-12-06 10:02:23 -08:00
bcb5d5d669 Switch cluster locking strategy
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: b7ea1bdb0227a789a15e23821b8db4d5ddceb26e
Component: engine
2016-11-30 14:59:12 -08:00
d598152124 Merge pull request #28899 from aaronlehmann/dont-pull-image-id
Don't resolve or pull images referenced by ID
Upstream-commit: 768f4ce02b5a2a86ea100d0b875c5949ea652c7d
Component: engine
2016-11-30 10:08:43 +01:00
6eff6aab71 cluster: Refuse swarm spec not named "default"
If, using the API, a user submits an init request with a spec that has a
name other than "default", the engine will rename the "default" cluster
object. Some parts of swarmkit depend on having a cluster object named
"default". Reject any specs that use other names.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 9dba9e3248f8476d15242ce3ec0bf6d6d50c1a76
Component: engine
2016-11-28 17:19:29 -08:00
4d8affc167 Don't resolve or pull images referenced by ID
If a swarm service is created using an image ID, it's useless to try to
pull this reference or resolve it to a manifest digest. Avoid doing this
when a fully qualified image ID is given.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 089842c4b47c262187b0b1a8d6d124f3faa03752
Component: engine
2016-11-28 13:53:52 -08:00
64b693348d Improve error when connecting service to network
The error didn't hint at how to resolve it. Google auto-suggest
also implies that people have been Googling this error.

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Upstream-commit: 70acb89fa2e889393d33664bc780cf116795f3e4
Component: engine
2016-11-24 14:43:24 +00:00
abd795e582 service logs: Support no-follow mode
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Upstream-commit: c2d435e4f05d262aaa3d4d5cc2fe8965377eebdf
Component: engine
2016-11-21 18:02:13 -08:00
9fec0659ba judge manager if locked before parsing key
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 89100c162b23791b4a64d142a11014257bf61fd0
Component: engine
2016-11-21 16:39:09 +08:00
c148947fe6 fix a few golint errors
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
Upstream-commit: 9c559e6d0b7190b4698de59e692a047beba017fd
Component: engine
2016-11-18 18:32:02 -08:00
71cdb489af Merge pull request #28421 from aaronlehmann/digest-pinning-warnings
Return warnings from service create/update when digest pinning fails
Upstream-commit: 30d0c3899ef220e2a40f70e1e888a2d41fd7e7e8
Component: engine
2016-11-18 11:33:17 -08:00
2efd6e2078 Return warnings from service create and service update when digest pinning fails
Modify the service update and create APIs to return optional warning
messages as part of the response. Populate these messages with an
informative reason when digest resolution fails.

This is a small API change, but significantly improves the UX. The user
can now get immediate feedback when they've specified a nonexistent
image or unreachable registry.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 948e60691e523022f88e7f8129f02106a0f8826c
Component: engine
2016-11-18 09:31:31 -08:00
7534114314 judge manager before unlocking
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 972a246c671b52786a5e57743babfcf7b5b5ae99
Component: engine
2016-11-18 23:49:40 +08:00
1f1e59bbc9 Merge pull request #28536 from allencloud/remove-unused-err-ErrPendingSwarmExists
remove unused error ErrPendingSwarmExists
Upstream-commit: 8a6c5358af9cf4485cd2c993a9d4111deb10c81c
Component: engine
2016-11-17 10:17:47 -08:00
700764fb6d Fix the typo
Signed-off-by: yupeng <yu.peng36@zte.com.cn>
Upstream-commit: 9551dd03cfad2ec0a00d89c2177fb7b45b6ad885
Component: engine
2016-11-17 14:13:38 +08:00
061156aacb remove unused error ErrPendingSwarmExists
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 7777557a3a8599fbbd8e9a04d7328898c663ded1
Component: engine
2016-11-17 14:06:08 +08:00
7acf8456de Merge pull request #27631 from allencloud/get-node-brefore-update
allow node update API to receive node name and id prefix
Upstream-commit: 673c5ee559b05adb9ef6e0e1d6135ff83522e38d
Component: engine
2016-11-16 17:47:31 +01:00
d6be8a084e Merge pull request #28447 from nishanttotla/use-distribution-reference-pkg
Using distribution reference pkg (pin image by digest)
Upstream-commit: 6697fa8a68db41162063df90f54f8b039d4ca4a1
Component: engine
2016-11-15 20:05:26 -08:00
0d115ba911 allow node update api receive node name and id prefix
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: d075b83dd6e5bbd4470400d44889ca71cf9dbd59
Component: engine
2016-11-16 10:18:19 +08:00
f5355b9dd8 Refactoring code for pinning image by digest
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
Upstream-commit: dc1b6341b98c3d009342a878119f683bfe14b471
Component: engine
2016-11-15 13:54:47 -08:00
68648e07db move func getNetwork into helper.go to keep consistent
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 729b49e9c546c035788e60ea137b0958d10aadde
Component: engine
2016-11-16 00:28:56 +08:00
87b507f694 Merge pull request #28228 from tonistiigi/swarm-cert-expired
Start daemon if certificates have been expired
Upstream-commit: 1e592349f192d020b14372f4d3c21cd3a7c8bd9a
Component: engine
2016-11-10 15:50:36 -08:00
4cf2d87976 Merge pull request #28221 from aboch/ala
Add local address autodetection on swarm init
Upstream-commit: 5d1feb561f1f8b402b5c77b2f27f3d571bd2b226
Component: engine
2016-11-10 15:45:59 -08:00
b55a4aaec7 Start daemon if certificates have been expired
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 439de7694d67eede9867aae12f304772962bffcd
Component: engine
2016-11-10 14:11:53 -08:00
4d22d82151 api: Service Logs support
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Upstream-commit: 819d0159bbda1b3ae53bdaa9a3e62ac98497e24c
Component: engine
2016-11-10 13:46:02 -08:00
2e628cd947 Add local address autodetection on swarm init
- when advertise-addr is not local and listen-addr is
  not specified

Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: c8d0cb9e716585f33dc730911332adbbc458513a
Component: engine
2016-11-10 13:45:32 -08:00
a2106ea21e Merge pull request #28173 from nishanttotla/pin-images-by-digest
Pin images by digest
Upstream-commit: c13bf5ba51c4f6a1ba5e5c0da0d4f85d2d5b9116
Component: engine
2016-11-10 10:59:28 -08:00
58e0e2f371 Pin image by digest on service create and update
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
Upstream-commit: 764a9ed357bca8fdccf1a794278463453f83f6ff
Component: engine
2016-11-09 23:31:26 -08:00