Skip to content

Instantly share code, notes, and snippets.

@gjovanov
Last active April 8, 2019 16:48
Show Gist options
  • Select an option

  • Save gjovanov/b36f00216e1694cf442f778e1e4bd1a4 to your computer and use it in GitHub Desktop.

Select an option

Save gjovanov/b36f00216e1694cf442f778e1e4bd1a4 to your computer and use it in GitHub Desktop.
- name: Mongo Swarm - Checking Docker Node labels
shell: |
docker node ls -q | \
xargs docker node inspect -f \
'\{\{ .ID \}\} [\{\{ .Description.Hostname \}\}]: \{\{ range $k, $v := .Spec.Labels \}\}\{\{ $k \}\}=\{\{ $v \}\} \{\{end\}\}'
register: "docker_node_labels"
changed_when: false
check_mode: no
become: true
when: >
inventory_hostname == docker_swarm_primary_manager
tags: [mongo-swarm]
- name: Mongo Swarm - Adding Docker Node lables for Mongo instances
shell: "docker node update --label-add mongo.replica={{ hostvars[item]['mongo'] }} $(docker node ls -q -f name={{ hostvars[item]['swarm'] }})"
changed_when: false
become: true
when: >
inventory_hostname == docker_swarm_primary_manager and 'mongo.replica' not in docker_node_labels
with_items: "{{ groups['swarm-workers'] }}"
tags: [mongo-swarm]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment