Overview
Login Enterprise services do not start. When you run loginvsid restart, you see the following message:
“Error response from daemon: this node is not a swarm manager. Use “docker swarm init” or “docker swarm join” to connect this node to the swarm and try again.”
The Docker Swarm node certificate is valid for 90 days and typically rotates before it expires. If the Appliance is turned off for an extended period, the Swarm certificate might expire. When this happens, the VSI stack can't be deployed or started, and Docker displays the Swarm manager error above.
Solution
To fix this issue, run the commands below to create a new cluster from the current state.
- rm /var/lib/docker/swarm/docker-state.json
- systemctl restart docker
- docker swarm init --force-new-cluster
- loginvsid stop
- loginvsid start
Snapshots
If you revert to a relatively older snapshot, Docker might report that the node is no longer a swarm manager after you reboot the Appliance or restart services.
This issue occurs because Docker Swarm uses rotating CA certificates. When you revert to an old snapshot, the CA certificate stored in that snapshot may have expired. After a reboot or restarting the services, Docker detects the expired certificate and invalidates the Swarm configuration.
To avoid this issue, rotate the Swarm CA certificate after reverting the snapshot but before rebooting the Appliance.
- Revert the Appliance to the snapshot
- Drop to bash shell
- docker swarm ca --rotate
- reboot