diff --git a/c7testvm.py b/c7testvm.py index 810047c..f3678cd 100755 --- a/c7testvm.py +++ b/c7testvm.py @@ -149,6 +149,7 @@ def wait_for_host(host, port, timeout=300): def parse_args(): parser = argparse.ArgumentParser() + parser.add_argument('--name') parser.add_argument('--ram', type=int, default=1024) parser.add_argument('--vcpus', type=int, default=2) parser.add_argument('--cpu', default='host') @@ -166,7 +167,10 @@ def parse_args(): def main(): args = parse_args() - name = 'C7-{}'.format(binascii.hexlify(os.urandom(3)).decode()) + if args.name: + name = args.name + else: + name = 'C7-{}'.format(binascii.hexlify(os.urandom(3)).decode()) hostname = '{}.local'.format(name.lower()) if args.ssh_key is None: @@ -212,7 +216,10 @@ def main(): p = subprocess.Popen(cmd, env=env) httpd.handle_request() httpd.server_close() - p.wait() + try: + p.wait() + except KeyboardInterrupt: + raise SystemExit(1) print('Waiting for host to come up...') if wait_for_host(hostname, 22): os.execlp('ssh', 'ssh', '-oStrictHostKeyChecking=no',