diff --git a/tox.ini b/tox.ini index 4e8030f..4e7f05b 100644 --- a/tox.ini +++ b/tox.ini @@ -7,6 +7,7 @@ deps = lxml mock netaddr + libosinfo commands = python -m unittest discover diff --git a/virtdeploy/drivers/libvirt.py b/virtdeploy/drivers/libvirt.py old mode 100644 new mode 100755 index 74c48d0..5d348e6 --- a/virtdeploy/drivers/libvirt.py +++ b/virtdeploy/drivers/libvirt.py @@ -245,10 +245,17 @@ def instance_delete(self, vmid): def _get_image_os(image): - try: + if image in _IMAGE_OS_TABLE: return _IMAGE_OS_TABLE[image] - except KeyError: + stdout, _ = execute(('osinfo-query', '--fields=short-id', 'os'), + stdout=subprocess.PIPE) + stdtable=stdout.split() + if image.replace('-', '') in stdtable: return image.replace('-', '') + if image in stdtable: + return image + else: + return "fedora20" def _create_base(template, arch, repository):