|  | #!/bin/bash -x | 
|  | exec > >(tee -i /tmp/"$(basename "$0" .sh)"_"$(date '+%Y-%m-%d_%H-%M-%S')".log) 2>&1 | 
|  |  | 
|  | # Configure base Docker service | 
|  | salt -C 'I@docker:swarm' state.sls docker.host | 
|  | # Configure the Swarm master node | 
|  | salt -C 'I@docker:swarm:role:master' state.sls docker.swarm | 
|  | # Send grains to mine for the Swarm slave nodes | 
|  | salt -C 'I@docker:swarm' state.sls salt.minion.grains | 
|  | salt -C 'I@docker:swarm' mine.update | 
|  | salt -C 'I@docker:swarm' saltutil.refresh_modules | 
|  | sleep 5 | 
|  | # Rerun Swarm state on master node to properly push Swarm tokens into grains | 
|  | salt -C 'I@docker:swarm:role:master' state.sls docker.swarm | 
|  | # Configure Swarm slave nodes | 
|  | salt -C 'I@docker:swarm:role:manager' state.sls docker.swarm -b 1 | 
|  |  | 
|  | # List registered Docker Swarm nodes | 
|  | salt -C 'I@docker:swarm:role:master' cmd.run 'docker node ls' |