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 06:14:54 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 failing the execution of
the entire shell section. The `|| true` here basically tells the shell to ignore the exit
code of `docker swarm leave` and continue executing the rest. `;` wouldn't work here since
it just joins the two commands together, and the shell still errors when the first command
before the `;` exits with a non-zero exit code. The other 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