| if os.path.exists('/var/lib/docker/swarm'): |
| inspect = json.loads(subprocess.check_output(["docker", "node", "inspect", "self"], stderr=subprocess.STDOUT).strip())[0] |
| except subprocess.CalledProcessError: |
| output['docker_swarm_role'] = inspect["Spec"]["Role"] |
| output['docker_swarm_leader'] = inspect["ManagerStatus"]["Leader"] |
| if output['docker_swarm_role'] == 'manager': |
| output["docker_swarm_tokens"] = { |
| 'worker': subprocess.check_output(["docker", "swarm", "join-token", "-q", "worker"]).strip(), |
| 'manager': subprocess.check_output(["docker", "swarm", "join-token", "-q", "manager"]).strip() |
| if os.path.exists('/var/lib/docker/swarm/state.json'): |
| with open('/var/lib/docker/swarm/state.json') as fh: |
| for key, value in state[0].iteritems(): |
| output["docker_swarm_%s" % key] = value |
| if os.path.exists('/var/lib/docker/swarm/docker-state.json'): |
| with open('/var/lib/docker/swarm/docker-state.json') as fh: |
| for key, value in state.iteritems(): |
| output["docker_swarm_%s" % key] = value |