Commit Graph

48 Commits

Author SHA1 Message Date
boucher d8fef66b03 Initial implementation of containerd Checkpoint API.
Signed-off-by: boucher <rboucher@gmail.com>
2016-09-08 21:31:52 -04:00
Jana Radhakrishnan 99a98ccc14 Add support for docker run in swarm mode overlay
This PR adds support for running regular containers to be connected to
swarm mode multi-host network so that:
    - containers connected to the same network across the cluster can
      discover and connect to each other.
    - Get access to services(and their associated loadbalancers)
      connected to the same network

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-07 21:20:41 -07:00
Michael Crosby 7c36a1af03 Move engine-api client package
This moves the engine-api client package to `/docker/docker/client`.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-09-07 11:05:58 -07:00
Antonio Murdaca 8f7a8c75ae
vendor docker/engine-api@f9cef59044
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-08-31 22:39:13 +02:00
Tonis Tiigi 96a27cf093 Update executor changes from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-22 11:36:20 -07:00
Drew Erny fa0054a3eb Rate limit logspam during docker service pulls
During image pulls on docker service create, logs will only show status
updates and updates every 1 second on long-running actions like
downloading and extracting. Adds golang.org/x/time/rate as dependency.

Ports docker/swarmkit#1352 to docker/docker.

Signed-off-by: Drew Erny <drew.erny@docker.com>
2016-08-11 14:56:38 -07:00
Tonis Tiigi 5673c53417 Update executor fixes from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-08-10 13:27:38 -07:00
Jana Radhakrishnan 117cef5e97 Retry creating dynamic networks if not found
In cases there are failures in task start, swarmkit might be trying to
restart the task again in the same node which might keep failing. This
creates a race where when a failed task is getting removed it might
remove the associated network while another task for the same service
or a different service but connected to the same network is proceeding
with starting the container knowing that the network is still
present. Fix this by reacting to `ErrNoSuchNetwork` error during
container start by trying to recreate the managed networks. If they
have been removed it will be recreated. If they are already present
nothing bad will happen.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-08-09 13:37:11 -07:00
Sebastiaan van Stijn 84d5ab96ef
fix validation of non-existing bind-mount source
Unlike `docker run -v..`, `docker service create --mount`
does not allow bind-mounting non-existing host paths.

This adds validation for the specified `source`, and
produces an error if the path is not found on the
host.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-08-08 17:24:00 +02:00
Brian Goff 38f8b0eb10 Validate mount paths on task create
This is intended as a minor fix for 1.12.1 so that task creation doesn't
do unexpected things when the user supplies erroneous paths.

In particular, because we're currently using hostConfig.Binds to setup
mounts, if a user uses an absolute path for a volume mount source, or a
non-absolute path for a bind mount source, the engine will do the
opposite of what the user requested since all absolute paths are
treated as binds and all non-absolute paths are treated as named
volumes.

Fixes #25253

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-08-01 23:35:46 -04:00
Tibor Vass 7bb9676a2b Merge pull request #25043 from stevvooe/forked-pull-context
container/controller: avoid cancellation with forked pull context
2016-07-26 01:01:09 -07:00
Tibor Vass 301eba03e1 Merge pull request #25036 from nishanttotla/describe-function-update-executor
Using map to list plugins in node description
2016-07-25 22:19:33 -07:00
Stephen J Day d8d71ad5b9
container/controller: avoid cancellation with forked pull context
Context cancellations were previously causing `Prepare` to fail
completely on re-entrant calls. To prevent this, we filtered out cancels
and deadline errors. While this allowed the service to proceed without
errors, it had the possibility of interrupting long pulls, causing the
pull to happen twice.

This PR forks the context of the pull to match the lifetime of
`Controller`, ensuring that for each task, the pull is only performed
once. It also ensures that multiple calls to `Prepare` are re-entrant,
ensuring that the pull resumes from its original position.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-25 21:52:10 -07:00
Tibor Vass a6a261261d Merge pull request #25030 from stevvooe/allow-cancellation-propagation
swarm/controller: allow cancellation to propagate
2016-07-25 19:50:32 -07:00
Stephen J Day d99c6b837f
swarm/controller: allow cancellation to propagate
Ensure that cancellation of a pull propagates rather than continuing to
container creation. This ensures that the `Prepare` method is properly
re-entrant.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-07-25 18:31:24 -07:00
Nishant Totla feedb7ab5a
Using map to list plugins in node description
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-07-25 17:45:32 -07:00
Brian Goff a4634cd8a8 Merge pull request #24545 from runshenzhu/health-check
swarm: block controller.Start until container is healthy
2016-07-25 20:32:27 -04:00
runshenzhu a99db84b4a extend health check to start service
Signed-off-by: runshenzhu <runshen.zhu@gmail.com>
Signed-off-by: Runshen Zhu <runshen.zhu@gmail.com>
2016-07-25 15:49:22 -07:00
Nishant Totla 227c7e4e8d
Sort plugin names in node description
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-07-25 10:38:24 -07:00
Brian Goff e2fc1439a1 Merge pull request #24139 from runshenzhu/health-check
add health check in docker build-in swarm mode
2016-07-11 09:43:59 -04:00
Tonis Tiigi 8a50315f3c Add logdrivers to executor from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-08 13:33:40 -07:00
Tonis Tiigi 6586f4f071 Update executor volumes from swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-07-08 13:33:40 -07:00
Brian Goff 56f3422468 Use newer default values for mounts CLI
In the API:
`Writable` changed to `ReadOnly`
`Populate` changed to `NoCopy`

Corresponding CLI options updated to:
`volume-writable` changed to `volume-readonly`
`volume-populate` changed to `volume-nocopy`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-07-06 22:34:39 -04:00
runshenzhu 1ded1f26e1 add health check in docker cluster
Signed-off-by: runshenzhu <runshen.zhu@gmail.com>
2016-07-06 13:43:20 -07:00
Vincent Demeester 6daf3d2a78
Validate hostname starting from 1.24 API.
In order to keep a little bit of "sanity" on the API side, validate
hostname only starting from v1.24 API version.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-07-06 09:13:59 +02:00
Sebastiaan van Stijn adb48487f2 Merge pull request #23947 from cpuguy83/fix_mount_target
Volume mounts need to use "Binds" API field
2016-07-01 13:23:14 -07:00
Tonis Tiigi 9b65273836 Update to new swarmkit/engine-api
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-30 17:22:47 -07:00
Tõnis Tiigi 8fe6480c8a Merge pull request #23584 from nishanttotla/private-images-swarm-services
Passing registry auth token for service create, update
2016-06-30 17:18:59 -07:00
Brian Goff 2bc2165cbf Volume mounts need to use "Binds" API field
Swarm was putting volume type mounts into the container config's
"Volumes" field, but really these need to go into "Binds".
"Volumes" is only for normal "-v /foo" volumes, not named volumes or
anything else.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-06-30 17:00:52 -04:00
Madhu Venugopal cf78863e9d Added missing flags for swarm-mode networks
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-29 15:30:57 -07:00
Nishant Totla af5df117a8
Updating header name and executor
Signed-off-by: Nishant Totla <nishanttotla@gmail.com>
2016-06-29 13:26:19 -07:00
Aaron Lehmann 39c93cfb47 Remove log warning on task update
This warning appears in the course of normal use of swarm mode. Since
it's meant more as an internal TODO than something which should be
exposed to a user, remove the log message.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2016-06-24 12:07:47 -07:00
Brian Goff e82dcf1c6d Merge pull request #23881 from tonistiigi/exec-wait
Fix error reporting on executor wait
2016-06-24 11:18:49 -04:00
Tõnis Tiigi 487931902c Merge pull request #23790 from tonistiigi/skip-pull
Skip always pulling images on integration tests
2016-06-23 11:47:33 -07:00
Tonis Tiigi c895a76f10 Fix error reporting on executor wait
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-22 18:12:51 -07:00
Sven Dowideit 4962fea757 Merge pull request #23797 from liubin/fix-typo
fix some typos
2016-06-22 11:56:48 +10:00
bin liu 950073aabb fix some typos
Signed-off-by: bin liu <liubin0329@gmail.com>
2016-06-21 15:29:25 +08:00
Tonis Tiigi e2226223e6 Skip always pulling images on integration tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-20 17:45:29 -07:00
nick 7135afa79b Fix misspell typos
Signed-off-by: nick <nicholasrusso@icloud.com>
2016-06-19 09:53:31 -07:00
Aaron Lehmann b014d6a917 Merge pull request #23707 from mrjana/vendor
Vendoring swarmkit @3f135f206179e
2016-06-17 22:47:58 -07:00
Jana Radhakrishnan 64a567d24c Vendoring swarmkit @3f135f206179e
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-06-17 19:01:18 -07:00
tomwbarlow@gmail.com eed8d14ed1 Change log.printf service creation msg to debug
Signed-off-by: tomwbarlow@gmail.com <tomwbarlow@gmail.com>
2016-06-17 15:03:11 +01:00
Tonis Tiigi a83bba467a Update daemon to new swarmkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-16 15:06:27 -07:00
Brian Goff 011774e6f0 Merge pull request #23542 from mavenugo/aliases
Use service alias and configure service VIP or dns-rr
2016-06-15 16:18:50 -04:00
Madhu Venugopal 07e39e9e72 Use service alias and configure container's --net-alias
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-14 19:50:34 -07:00
Tonis Tiigi dcfe99278d Fix race on force deleting container created by task
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-06-14 16:49:04 -07:00
Victor Vieux ffeb9fcb2a fix 2 potential panics with mounts in swarm
Signed-off-by: Victor Vieux <vieux@docker.com>
2016-06-14 09:25:39 -07:00
Tonis Tiigi 534a90a993 Add Swarm management backend
As described in our ROADMAP.md, introduce new Swarm management API
endpoints relying on swarmkit to deploy services. It currently vendors
docker/engine-api changes.

This PR is fully backward compatible (joining a Swarm is an optional
feature of the Engine, and existing commands are not impacted).

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Victor Vieux <vieux@docker.com>
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-13 22:16:18 -07:00