34
by Patrick Hetu
use ansible for handling repos and pip |
1 |
#!/usr/bin/env python
|
2 |
# encoding: utf-8
|
|
3 |
||
4 |
import sys |
|
5 |
from subprocess import Popen, PIPE |
|
6 |
||
7 |
import yaml |
|
8 |
import json |
|
9 |
||
10 |
||
11 |
d = yaml.safe_load(Popen(['juju','status'],stdout=PIPE).stdout) |
|
12 |
||
13 |
services = d.get("services", {}) |
|
14 |
if services is None: |
|
15 |
sys.exit(0) |
|
16 |
||
17 |
groups = {} |
|
18 |
for service in services.items(): |
|
19 |
if service is None: |
|
20 |
continue
|
|
21 |
||
22 |
units = services.get(service[0], {}).get("units", {}) |
|
23 |
if units is None: |
|
24 |
continue
|
|
25 |
||
26 |
for unit in units.items(): |
|
27 |
if 'public-address' in unit[1].keys(): |
|
28 |
groups.setdefault(service[0], {"hosts" :[]})['hosts'].append(unit[1]['public-address']) |
|
29 |
||
30 |
print json.dumps(groups) |