fluo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [fluo-muchos] SlickNik commented on a change in pull request #278: Fixes #268: Setup fails when swarmmanager enabled
Date Tue, 03 Sep 2019 16:56:44 GMT
SlickNik commented on a change in pull request #278: Fixes #268: Setup fails when swarmmanager
enabled
URL: https://github.com/apache/fluo-muchos/pull/278#discussion_r320103606
 
 

 ##########
 File path: ansible/docker.yml
 ##########
 @@ -48,5 +48,5 @@
       changed_when: "'active' not in swarm_status.stdout_lines"
     - name: join worker to swarm
       shell: >
-        docker swarm join --token={{ swarm_token }} {{ manager_ip }}:2377
+        docker swarm leave || true && docker swarm join --token={{ swarm_token_stdout
}} {{ manager_ip }}:2377
 
 Review comment:
   `docker swarm join` doesn't have a `--force` flag, and errors out if the node is already
part of a swarm (so subsequent runs of the ansible state fail since this isn't idempotent).
To make this idempotent, we issue a `leave` followed by a `join`. However `leave` fails with
a non-zero exit code when the node isn't already part of a swarm, which fails the execution
of the entire shell section. The `|| true` here ignores the exit code of `docker swarm leave`
and continues executing the rest of the command. 
   
   `;` wouldn't work here since it just joins the two commands together, and the shell still
errors and bails when the first command before the `;` exits with a non-zero exit code. Another
alternative here would be to explicitly disable the shell's exit code checking for the `docker
swarm leave` command (i.e. something like `set +e; docker swarm leave; set -e; ...`), but
I slightly prefer the `|| true` variant for the sake of brevity.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

Mime
View raw message