From dded9cab47b673808e629c09f9f1b372fea070a1 Mon Sep 17 00:00:00 2001 From: Serhii Turivnyi Date: Nov 01 2017 15:08:31 +0000 Subject: Stick to the pep8 style qcov2 inventory --- diff --git a/inventory/standard-inventory-qcow2 b/inventory/standard-inventory-qcow2 index 24978dc..d28774d 100755 --- a/inventory/standard-inventory-qcow2 +++ b/inventory/standard-inventory-qcow2 @@ -12,7 +12,6 @@ import subprocess import sys import tempfile import time -import traceback import distutils.util IDENTITY = """ @@ -58,11 +57,15 @@ chpasswd: expire: False """ -def main(argv): - parser = argparse.ArgumentParser(description="Inventory for a QCow2 test image") + +def main(): + parser = argparse.ArgumentParser(description= + "Inventory for a QCow2 test image") parser.add_argument("--list", action="store_true", help="Verbose output") parser.add_argument('--host', help="Get host variables") - parser.add_argument("subjects", nargs="*", default=shlex.split(os.environ.get("TEST_SUBJECTS", ""))) + parser.add_argument("subjects", nargs="*", + default=shlex.split( + os.environ.get("TEST_SUBJECTS", ""))) opts = parser.parse_args() try: @@ -72,21 +75,23 @@ def main(argv): data = list(opts.subjects) sys.stdout.write(json.dumps(data, indent=4, separators=(',', ': '))) except RuntimeError as ex: - sys.stderr.write("{0}: {1}\n".format(os.path.basename(sys.argv[0]), str(ex))) + sys.stderr.write("{}: {}\n".format(os.path.basename(sys.argv[0]), + str(ex))) return 1 - return 0 + def list(subjects): - hosts = [ ] - variables = { } + hosts = [] + variables = {} for subject in subjects: if subject.endswith((".qcow2", ".qcow2c")): vars = host(subject) if vars: hosts.append(subject) variables[subject] = vars - return { "localhost": { "hosts": hosts, "vars": { } }, "subjects": { "hosts": hosts, "vars": { } }, "_meta": { "hostvars": variables } } + return {"localhost": {"hosts": hosts, "vars": {}}, "subjects": + {"hosts": hosts, "vars": {}}, "_meta": {"hostvars": variables}} def start_qemu(image, cloudinit, log, portrange=(2222, 5555)): @@ -105,10 +110,12 @@ def start_qemu(image, cloudinit, log, portrange=(2222, 5555)): raise RuntimeError("unable to find free local port to map SSH to") return subprocess.Popen(["/usr/bin/qemu-system-x86_64", "-m", "1024", image, - "-enable-kvm", "-snapshot", "-cdrom", cloudinit, - "-net", "nic,model=virtio", "-net", "user,hostfwd=tcp:127.0.0.3:{0}-:22".format(port), - "-device", "isa-serial,chardev=pts2", "-chardev", "file,id=pts2,path=" + log, - "-display", "none"], stdout=open(os.devnull, 'w')), port + "-enable-kvm", "-snapshot", "-cdrom", cloudinit, + "-net", "nic,model=virtio", "-net", + "user,hostfwd=tcp:127.0.0.3:{0}-:22".format(port), + "-device", "isa-serial,chardev=pts2", "-chardev", + "file,id=pts2,path=" + log, "-display", "none"], + stdout=open(os.devnull, 'w')), port def host(image): @@ -138,24 +145,27 @@ def host(image): cloudinit = os.path.join(directory, "cloud-init.iso") subprocess.check_call(["/usr/bin/genisoimage", "-input-charset", "utf-8", "-volid", "cidata", "-joliet", "-rock", "-quiet", - "-output", cloudinit, userdata, metadata], stdout=null) + "-output", cloudinit, userdata, metadata], + stdout=null) - # Determine if virtual machine should be kept available for diagnosis after completion + # Determine if virtual machine should be kept available + # for diagnosis after completion try: diagnose = distutils.util.strtobool(os.getenv("TEST_DEBUG", "0")) except ValueError: diagnose = 0 - sys.stderr.write("Launching virtual machine for {0}\n".format(image)) + sys.stderr.write("Launching virtual machine for {}\n".format(image)) # And launch the actual VM - artifacts = os.environ.get("TEST_ARTIFACTS", os.path.join(os.getcwd(), "artifacts")) + artifacts = os.environ.get("TEST_ARTIFACTS", os.path.join(os.getcwd(), + "artifacts")) try: os.makedirs(artifacts) except OSError as exc: if exc.errno != errno.EEXIST or not os.path.isdir(artifacts): raise - log = os.path.join(artifacts, "{0}.log".format(os.path.basename(image))) + log = os.path.join(artifacts, "{}.log".format(os.path.basename(image))) proc = None # for failure detection cpe = None # for exception scoping @@ -168,7 +178,7 @@ def host(image): continue if proc is None: raise RuntimeError("Could not launch VM for qcow2 image" - " '{0}':{1}".format(image, cpe.output)) + " '{}':{}".format(image, cpe.output)) for tries in xrange(0, 30): try: @@ -183,7 +193,8 @@ def host(image): } # Write out a handy inventory file, for our use and for debugging - args = " ".join([ "{0}='{1}'".format(*item) for item in variables.items() ]) + args = " ".join(["{}='{}'".format( + *item) for item in variables.items()]) inventory = os.path.join(directory, "inventory") with open(inventory, "w") as f: f.write("[subjects]\nlocalhost {1}\n".format(image, args)) @@ -202,13 +213,15 @@ def host(image): (pid, ret) = os.waitpid(proc.pid, os.WNOHANG) if pid != 0: - raise RuntimeError("qemu failed to launch qcow2 image: {0}".format(image)) + raise RuntimeError( + "qemu failed to launch qcow2 image: {}".format(image)) subprocess.check_call(ping, stdout=null, stderr=null) break except subprocess.CalledProcessError: time.sleep(3) else: - raise RuntimeError("could not access launched qcow2 image: {0}".format(image)) + raise RuntimeError( + "could not access launched qcow2 image: {}".format(image)) # Process of our parent ppid = os.getppid() @@ -238,15 +251,20 @@ def host(image): os.kill(ppid, 0) os.kill(proc.pid, 0) except OSError: - break # Either of the processes no longer exist + break # Either of the processes no longer exist if diagnose: sys.stderr.write("\n") - sys.stderr.write("DIAGNOSE: ssh -p {0} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@{1} # password: {2}\n".format(port, "127.0.0.3", "foobar")) - sys.stderr.write("DIAGNOSE: export ANSIBLE_INVENTORY={0}\n".format(inventory)) - sys.stderr.write("DIAGNOSE: kill {0} # when finished\n".format(os.getpid())) - - def _signal_handler(*args): + sys.stderr.write( + "DIAGNOSE: ssh -p {} -o StrictHostKeyChecking=no -o " + "UserKnownHostsFile=/dev/null root@{} # password: {}\n".format( + port, "127.0.0.3", "foobar")) + sys.stderr.write( + "DIAGNOSE: export ANSIBLE_INVENTORY={}\n".format(inventory)) + sys.stderr.write( + "DIAGNOSE: kill {} # when finished\n".format(os.getpid())) + + def _signal_handler(): sys.stderr.write("\nDIAGNOSE ending...\n") signal.signal(signal.SIGTERM, _signal_handler) @@ -261,5 +279,6 @@ def host(image): shutil.rmtree(directory) sys.exit(0) + if __name__ == '__main__': - sys.exit(main(sys.argv)) + sys.exit(main())