From 8bc781bf9d21c4a66864f9777a1d6af0b2c6fef7 Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: May 25 2018 13:42:26 +0000 Subject: Merge #207 `avoid trying to bring up wrong inventory when processing dynamic inventory` --- diff --git a/inventory/standard-inventory-docker b/inventory/standard-inventory-docker index 4b9e3ba..440db31 100755 --- a/inventory/standard-inventory-docker +++ b/inventory/standard-inventory-docker @@ -66,12 +66,10 @@ def inv_list(subjects, docker_extra_args): hosts = [] variables = {} for subject in subjects: - if subject.startswith("docker:"): - image = subject[7:] - name, host_vars = inv_host(image, docker_extra_args) - if host_vars: - hosts.append(name) - variables[name] = host_vars + name, host_vars = inv_host(subject, docker_extra_args) + if host_vars: + hosts.append(name) + variables[name] = host_vars if not hosts: return EMPTY_INVENTORY return {"localhost": {"hosts": hosts, "vars": {}}, @@ -79,7 +77,11 @@ def inv_list(subjects, docker_extra_args): "_meta": {"hostvars": variables}} -def inv_host(image, docker_extra_args): +def inv_host(subject, docker_extra_args): + if not subject.startswith("docker:"): + return None, EMPTY_INVENTORY + + image = subject[7:] null = open(os.devnull, 'w') try: diff --git a/inventory/standard-inventory-qcow2 b/inventory/standard-inventory-qcow2 index 7258c36..1592d7f 100755 --- a/inventory/standard-inventory-qcow2 +++ b/inventory/standard-inventory-qcow2 @@ -99,11 +99,10 @@ def inv_list(subjects): hosts = [] variables = {} for subject in subjects: - if subject.endswith((".qcow2", ".qcow2c")): - host_vars = inv_host(subject) - if host_vars: - hosts.append(subject) - variables[subject] = host_vars + host_vars = inv_host(subject) + if host_vars: + hosts.append(subject) + variables[subject] = host_vars if not hosts: return EMPTY_INVENTORY return {"localhost": {"hosts": hosts, "vars": {}}, @@ -155,6 +154,9 @@ def start_qemu(image, cloudinit, log, portrange=(2222, 5555)): def inv_host(image): + if not image.endswith((".qcow2", ".qcow2c")): + return EMPTY_INVENTORY + null = open(os.devnull, 'w') try: