Fix setting global join_token variable

Change-Id: Ie09b97e2b99a9b95a76b1f1ef9e99f90040b9c32
diff --git a/docker/swarm.sls b/docker/swarm.sls
index 67c982c..b9183f2 100644
--- a/docker/swarm.sls
+++ b/docker/swarm.sls
@@ -52,17 +52,17 @@
 
 {%- else %}
 
-{%- set join_token = None %}
-
+{%- set join_token = [] %}
+# Globals can't be overrided from for cycle
 {%- for node_name, node_grains in salt['mine.get']('*', swarm.mine_function).iteritems() %}
 {%- if node_grains.get("docker_swarm_AdvertiseAddr", None) == swarm.master.host|string+":"+swarm.master.port|string %}
-{%- set join_token = node_grains.get('docker_swarm_tokens').get(swarm.role, "unknown") %}
+{%- do join_token.append(node_grains.get('docker_swarm_tokens').get(swarm.role, "unknown")) %}
 {%- endif %}
 {%- endfor %}
 
-{%- set join_token = swarm.get('join_token', {}).get(swarm.role, join_token) %}
+{%- set join_token = swarm.get('join_token', {}).get(swarm.role, join_token[-1]) %}
 
-{%- if join_token %}
+{%- if join_token && join_token != "unknown" %}
 
 docker_swarm_join:
   cmd.run: