Skip to content

dispatcher-heartbeat option not persisted after docker update #38321

Description

@Zelphy

Description

The dispatcher-heartbeat option does not seems to be persisted after docker update.

Steps to reproduce the issue:

  1. Install a version of docker-ce on a Centos VM (not the latest, I've tried with 18.06.0)
  2. Create a swarm via docker swarm init
  3. Update the swarm dispatcher-heartbeat parameter via docker swarm update --dispatcher-heartbeat 30s
  4. Update Docker on this manager (yum update docker-ce)

Describe the results you received:

  1. The heartbeat period is 5s after the update and not 30s
  2. The swarm dispatcher-heartbeat parameter cannot be updated to 30s anymore

Describe the results you expected:

The heartbeat period is 30s after the update

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

I've also tried to initialize the swarm and set the heartbeat period at this step via docker swarm init --dispatcher-heartbeat 30s but we had the same behaviour.

Currently, after an update and as a workaround, we do:

docker swarm update --dispatcher-heartbeat Xs
docker swarm update --dispatcher-heartbeat 30s

with X != 30

Output of docker version:

Before the update:

Client:
 Version:           18.06.0-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        0ffa825
 Built:             Wed Jul 18 19:08:18 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.0-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       0ffa825
  Built:            Wed Jul 18 19:10:42 2018
  OS/Arch:          linux/amd64
  Experimental:     false

After the update:

Client:
 Version:           18.09.1-beta2
 API version:       1.39
 Go version:        go1.10.5
 Git commit:        74239bf
 Built:             Tue Dec  4 01:08:56 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.1-beta2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.5
  Git commit:       74239bf
  Built:            Tue Dec  4 00:33:49 2018
  OS/Arch:          linux/amd64
  Experimental:     false

Output of docker info:

Before the update

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.06.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: d64c661f1d51c48782c9cec8fda7604785f93587
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.19.6-1.el7.elrepo.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.923GiB
Name: temp1
ID: CRQF:VSWG:C7N2:CPFP:BJNW:JE3J:ORMX:WOA7:GMHK:IH7K:7IOG:IU6B
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 23
 Goroutines: 50
 System Time: 2018-12-05T11:03:38.456933195+01:00
 EventsListeners: 0
Username: nadisolutionsjenkins
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: bridge-nf-call-ip6tables is disabled

After the update:

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.09.1-beta2
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: active
 NodeID: csu3w0hw0xayyr3yap5etfblb
 Is Manager: true
 ClusterID: jtm26tt1z4lz5zdty07zsc7xb
 Managers: 1
 Nodes: 1
 Default Address Pool: 10.0.0.0/8  
 SubnetSize: 24
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 10
 Dispatcher:
  Heartbeat Period: 30 seconds
 CA Configuration:
  Expiry Duration: 3 months
  Force Rotate: 0
 Autolock Managers: false
 Root Rotation In Progress: false
 Node Address: 172.16.1.45
 Manager Addresses:
  172.16.1.45:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: de1f167ab96338a9f5c2b17347abf84bdf1dd411
runc version: 10d38b660a77168360df3522881e2dc2be5056bd
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.19.6-1.el7.elrepo.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.923GiB
Name: temp1
ID: CRQF:VSWG:C7N2:CPFP:BJNW:JE3J:ORMX:WOA7:GMHK:IH7K:7IOG:IU6B
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 39
 Goroutines: 167
 System Time: 2018-12-05T11:16:12.924472222+01:00
 EventsListeners: 0
Username: nadisolutionsjenkins
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

WARNING: bridge-nf-call-ip6tables is disabled

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

OS: Centos 7

temp1> uname -a
Linux temp1 4.19.1-1.el7.elrepo.x86_64 #1 SMP Sun Nov 4 18:04:04 EST 2018 x86_64 x86_64 x86_64 GNU/Linux

Thank you!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions