52 lines
2.6 KiB
Diff
52 lines
2.6 KiB
Diff
--- a/koan/virtinstall.py 2018-11-12 05:32:23.803251480 -0500
|
|
+++ b/koan/virtinstall.py 2018-11-12 06:40:17.454546012 -0500
|
|
@@ -70,12 +70,13 @@ except:
|
|
supported_variants.add(variant.split()[0])
|
|
except:
|
|
try:
|
|
- # maybe on newer os using osinfo-query?
|
|
- rc, response = utils.subprocess_get_response(
|
|
- shlex.split('osinfo-query os'))
|
|
+ rc, response = subprocess_get_response(
|
|
+ shlex.split('osinfo-query -f short-id os'))
|
|
variants = response.decode('utf-8').split('\n')
|
|
for variant in variants:
|
|
- supported_variants.add(variant.split()[0])
|
|
+ supported_variants.add(variant.strip())
|
|
+ # osinfo-query does not list virtio26, add it here for fallback
|
|
+ supported_variants.add('virtio26')
|
|
except:
|
|
# okay, probably on old os and we'll just use generic26
|
|
pass
|
|
@@ -367,19 +368,24 @@ def build_commandline(uri,
|
|
if suse_version_re.match(os_version):
|
|
os_version = suse_version_re.match(os_version).groups()[0]
|
|
# make sure virt-install knows about our os_version,
|
|
- # otherwise default it to generic26
|
|
- found = False
|
|
+ # otherwise default it to virtio26 or generic26
|
|
+ # found = False
|
|
if os_version in supported_variants:
|
|
- cmd += "--os-variant %s " % os_version
|
|
+ pass # os_version is correct
|
|
elif os_version + ".0" in supported_variants:
|
|
# osinfo based virt-install only knows about major.minor
|
|
# variants, not just major variants like it used to. Default
|
|
# to major.0 variant in that case. Lack of backwards
|
|
# compatibility in virt-install grumble grumble.
|
|
- cmd += "--os-variant %s" % os_version + ".0 "
|
|
+ os_version = os_version + ".0"
|
|
else:
|
|
- print(("- warning: virt-install doesn't know this os_version, defaulting to generic26"))
|
|
- cmd += "--os-variant generic26 "
|
|
+ if "virtio26" in supported_variants:
|
|
+ os_version = "virtio26"
|
|
+ else:
|
|
+ os_version = "generic26"
|
|
+ print("- warning: virt-install doesn't know this os_version, "
|
|
+ "defaulting to %s" % os_version)
|
|
+ cmd += "--os-variant %s " % os_version
|
|
else:
|
|
distro = "unix"
|
|
if breed in [ "debian", "suse", "redhat" ]:
|