#!/usr/bin/env python3 import sys import os import subprocess import json import digitalocean # from django.conf import settings sys.path.append('/srv/newsblur') os.environ['DJANGO_SETTINGS_MODULE'] = 'newsblur_web.settings' if __name__ == '__main__': # Check and clean second argument (ex: sshdo task 2) second_arg = sys.argv[2] if len(sys.argv) > 2 else "1" droplet_index = int(second_arg) if str(second_arg).isnumeric() else 1 droplet_name = sys.argv[1] # Use correct Digital Ocean team based on "old" commands = ['ansible-inventory', '--list'] env = None if second_arg == "old": env = dict(os.environ, ANSIBLE_CONFIG="ansible.old.cfg") hosts = subprocess.check_output(commands, env=env) if not hosts: print(" ***> Could not load ansible-inventory!") hosts = json.loads(hosts) for host, ip_host in hosts['_meta']['hostvars'].items(): if host.startswith(droplet_name): print(ip_host['ansible_host']) break