#!/usr/bin/env python from __future__ import print_function from argparse import ArgumentParser import os from utils import ( get_ini, SSHRemote, ) def install_remote_maas_parse_args(argv=None): """Parse argv command list and return an args object.""" parser = ArgumentParser() parser.add_argument('ip_address', action='store', default=None, help='IP address of the host system.') parser.add_argument('ssh_key', action='store', default=None, help='Path to a ssh key.') parser.add_argument('ini', action='store', default=None, help='INI file for the MAAS.') return parser.parse_args(argv) def install_remote_maas(): args = install_remote_maas_parse_args() os.environ['INI'] = args.ini ini = get_ini('maas') INSTALL_MAAS_SCRIPT = """set -eux sudo add-apt-repository {} sudo apt-get update sudo DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y apt-cache policy maas sudo DEBIAN_FRONTEND=noninteractive apt-get install -y maas sudo dpkg -l maas """.format(ini['repo']) runner = SSHRemote(args.ip_address, args.ssh_key) output = runner.run(INSTALL_MAAS_SCRIPT) print(output) if __name__ == '__main__': install_remote_maas()