Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stack deploy fails with 17.06.0-rc1 client against 17.05.0 swarm #150

Closed
kinghuang opened this issue Jun 2, 2017 · 2 comments
Closed

Stack deploy fails with 17.06.0-rc1 client against 17.05.0 swarm #150

kinghuang opened this issue Jun 2, 2017 · 2 comments

Comments

@kinghuang
Copy link

Description

I'm having some difficultly deploying a simple stack to a swarm running Docker 17.05.0 from a 17.06.0-rc1 client. I get Error response from daemon: page not found.

Steps to reproduce the issue:

Given the following Compose file:

version: '3.2'

services:
  mssql:
    image: microsoft/mssql-server-linux:ctp2-1
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=converis
    networks:
      - data

networks:
  data:
  1. Set DOCKER_HOST to point to a Docker 17.05.0 swarm controller.
  2. Run docker stack deploy -c stack.yml dm.

Describe the results you received:

The deploy fails with the following output.

(swarm) →  dm git:(review-stack) ✗ docker -D stack deploy -c stack.yml dm
DEBU[0000] Trusting 1 certs                             
DEBU[0000] Trusting 1 certs                             
Creating network dm_data
service mssql: Error response from daemon: page not found

Describe the results you expected:

The data network and mssql service should be created.

Additional information you deem important (e.g. issue happens only occasionally):

Using the same Docker 17.06.0-rc1 client against a Docker 17.06.0-rc1 swarm works fine. As does using a Docker 17.05.0 client against the Docker 17.05.0 swarm. I only get the error going from the 17.06.0-rc1 client to the 17.05.0 swarm.

Output of docker version:

(swarm) →  dm git:(review-stack) ✗ docker version
Client:
 Version:      17.06.0-ce-rc1
 API version:  1.29 (downgraded from 1.30)
 Go version:   go1.8.1
 Git commit:   7f8486a
 Built:        Wed May 31 02:56:01 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:06:25 2017
 OS/Arch:      linux/amd64
 Experimental: true

Output of docker info:

(swarm) →  dm git:(review-stack) ✗ docker info
Containers: 23
 Running: 20
 Paused: 0
 Stopped: 3
Images: 50
Server Version: 17.05.0-ce
Storage Driver: devicemapper
 Pool Name: docker-thinpool
 Pool Blocksize: 524.3kB
 Base Device Size: 10.74GB
 Backing Filesystem: xfs
 Data file: 
 Metadata file: 
 Data Space Used: 55.15GB
 Data Space Total: 65.28GB
 Data Space Available: 10.12GB
 Metadata Space Used: 17.87MB
 Metadata Space Total: 683.7MB
 Metadata Space Available: 665.8MB
 Thin Pool Minimum Free Space: 6.527GB
 Udev Sync Supported: true
 Deferred Removal Enabled: true
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Library Version: 1.02.135-RHEL7 (2016-11-16)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
 Log: 
Swarm: active
 NodeID: svhio5na7zjds72nnw55gjrwh
 Is Manager: true
 ClusterID: 1dbs7dgdqmz5u8h2bncrzmh88
 Managers: 4
 Nodes: 4
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
  Force Rotate: 0
 Root Rotation In Progress: false
 Node Address: 10.43.64.10
 Manager Addresses:
  10.43.64.10:2377
  10.43.64.11:2377
  10.43.64.12:2377
  10.43.64.13:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9048e5e50717ea4497b757314bad98ea3763c145
runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-514.16.1.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.51GiB
Name: itpocnode01.ucalgary.ca
ID: OM7K:NNN7:75VJ:I34C:W5ZS:TCYH:ZGPH:SRXP:HINS:7O2W:IZQ4:QIGD
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):

Client is using Docker for Mac (edge). 17.05.0 swarm is 4 RHEL 7.3 VMs. 17.06.0-rc1 is Docker for Mac (edge) in swarm mode.

@Halfwalker
Copy link

I can confirm - seeing the exact same situation. This is Version 17.06.0-rc1-ce-mac13 (18169) mac client going to 17.05.0-ce that's on current boot2docker.

@skinofstars
Copy link

skinofstars commented Jun 7, 2017

Yep, same, +1. Workaround is to use the binary for stack deployment https://github.com/moby/moby/releases/tag/v17.05.0-ce

trapier pushed a commit to trapier/cli that referenced this issue Sep 30, 2019
thaJeztah added a commit to thaJeztah/cli that referenced this issue Jun 30, 2020
full diff: mitchellh/mapstructure@v1.0.0...v1.3.2

v1.3.2
- Decode into interface type with a struct value is supported [dockerGH-187]

v1.3.1
- Squash should only squash embedded structs. [dockerGH-194]

v1.3.0
- Added `",omitempty"` support. This will ignore zero values in the source
  structure when encoding. [dockerGH-145]

v1.2.3
- Fix duplicate entries in Keys list with pointer values. [dockerGH-185]

v1.2.2
- Do not add unsettable (unexported) values to the unused metadata key
  or "remain" value. [dockerGH-150]

v1.2.1
- Go modules checksum mismatch fix

v1.2.0
- Added support to capture unused values in a field using the `",remain"` value
  in the mapstructure tag. There is an example to showcase usage.
- Added `DecoderConfig` option to always squash embedded structs
- `json.Number` can decode into `uint` types
- Empty slices are preserved and not replaced with nil slices
- Fix panic that can occur in when decoding a map into a nil slice of structs
- Improved package documentation for godoc

v1.1.2
- Fix error when decode hook decodes interface implementation into interface
  type. [dockerGH-140]

v1.1.1
- Fix panic that can happen in `decodePtr`

v1.1.0

- Added `StringToIPHookFunc` to convert `string` to `net.IP` and `net.IPNet` [dockerGH-133]
- Support struct to struct decoding [dockerGH-137]
- If source map value is nil, then destination map value is nil (instead of empty)
- If source slice value is nil, then destination slice value is nil (instead of empty)
- If source pointer is nil, then destination pointer is set to nil (instead of
  allocated zero value of type)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
thaJeztah added a commit to thaJeztah/cli that referenced this issue Jun 30, 2020
full diff: mitchellh/mapstructure@v1.0.0...v1.3.2

v1.3.2
- Decode into interface type with a struct value is supported dockerGH-187

v1.3.1
- Squash should only squash embedded structs. dockerGH-194

v1.3.0
- Added `",omitempty"` support. This will ignore zero values in the source
  structure when encoding. dockerGH-145

v1.2.3
- Fix duplicate entries in Keys list with pointer values. dockerGH-185

v1.2.2
- Do not add unsettable (unexported) values to the unused metadata key
  or "remain" value. dockerGH-150

v1.2.1
- Go modules checksum mismatch fix

v1.2.0
- Added support to capture unused values in a field using the `",remain"` value
  in the mapstructure tag. There is an example to showcase usage.
- Added `DecoderConfig` option to always squash embedded structs
- `json.Number` can decode into `uint` types
- Empty slices are preserved and not replaced with nil slices
- Fix panic that can occur in when decoding a map into a nil slice of structs
- Improved package documentation for godoc

v1.1.2
- Fix error when decode hook decodes interface implementation into interface
  type. dockerGH-140

v1.1.1
- Fix panic that can happen in `decodePtr`

v1.1.0

- Added `StringToIPHookFunc` to convert `string` to `net.IP` and `net.IPNet` dockerGH-133
- Support struct to struct decoding dockerGH-137
- If source map value is nil, then destination map value is nil (instead of empty)
- If source slice value is nil, then destination slice value is nil (instead of empty)
- If source pointer is nil, then destination pointer is set to nil (instead of
  allocated zero value of type)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants