diff --git a/image_creator/os_type/windows/__init__.py b/image_creator/os_type/windows/__init__.py
index 2267aac8d701ea014b890f543d346df64a33c4c9..665eae3dd099859ed5a8bf6f7960fa481416ce6f 100644
--- a/image_creator/os_type/windows/__init__.py
+++ b/image_creator/os_type/windows/__init__.py
@@ -86,13 +86,13 @@ KMS_CLIENT_SETUP_KEYS = {
"Windows Server 2008 for Itanium-Based Systems":
"4DWFP-JF3DJ-B7DTH-78FJB-PDRHK"}
-VIRTIO = [
+VIRTIO = (
"viostor", # "VirtIO SCSI controller"
"vioscsi", # "VirtIO SCSI pass-through controller"
"vioser", # "VirtIO Serial Driver"
"netkvm", # "VirtIO Ethernet Adapter"
"balloon", # "VirtIO Balloon Driver
- "viorng"] # "VirtIO RNG Driver"
+ "viorng") # "VirtIO RNG Driver"
def virtio_dir_check(dirname):
@@ -102,18 +102,19 @@ def virtio_dir_check(dirname):
if not dirname:
return "" # value not set
- critical = ('viostor', 'netkvm')
- extension = ('cat', 'inf', 'sys')
- missing = []
+ ext = ('cat', 'inf', 'sys')
- files = set(os.listdir(dirname))
- for nam in ["%s.%s" % (b, e) for b in critical for e in extension]:
- if nam not in files:
- missing.append(nam)
+ # Check files in a case insensitive manner
+ files = set([f.lower() for f in os.listdir(dirname)])
+
+ found = False
+ for cat, inf, sys in [["%s.%s" % (b, e) for e in ext] for b in VIRTIO]:
+ if cat in files and inf in files and sys in files:
+ found = True
+
+ if not found:
+ raise ValueError("Invalid VirtIO directory. No VirtIO driver found")
- if len(missing):
- raise ValueError("Invalid VirtIO directory. The following files were "
- "not found: %s" % ", ".join(missing))
return dirname