osdict: Convert opencoded dicts to explicit classes

Right now this is a no-op, but will be used to simplify things
further.
This commit is contained in:
Cole Robinson 2013-08-09 18:14:42 -04:00
parent d328b311ec
commit 3ef81d5d1e
2 changed files with 135 additions and 556 deletions

View File

@ -501,7 +501,7 @@ class Guest(XMLBuilder):
if not self.installer.has_install_phase():
return False
return self._lookup_osdict_key("continue")
return self._lookup_osdict_key("cont")
##########################

View File

@ -70,7 +70,7 @@ DEFAULTS = {
"acpi": True,
"apic": True,
"clock": "utc",
"continue": False,
"cont": False,
"distro": None,
"label": None,
"supported": False,
@ -227,588 +227,167 @@ def lookup_device_param(conn, hv_type, os_type, var, device_key, param):
(device_key, param)))
# NOTE: keep variant keys using only lowercase so we can do case
# insensitive checks on user passed input
OS_TYPES = {
"linux": {
"label": "Linux",
"variants": {
OS_TYPES = {}
"rhel2.1": {
"label": "Red Hat Enterprise Linux 2.1",
"distro": "rhel"
},
"rhel3": {
"label": "Red Hat Enterprise Linux 3",
"distro": "rhel"
},
"rhel4": {
"label": "Red Hat Enterprise Linux 4",
"distro": "rhel",
"supported": True,
},
"rhel5": {
"label": "Red Hat Enterprise Linux 5",
"distro": "rhel",
},
"rhel5.4": {
"label": "Red Hat Enterprise Linux 5.4 or later",
"distro": "rhel",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"rhel6": {
"label": "Red Hat Enterprise Linux 6",
"distro": "rhel",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"rhel7": {
"label": "Red Hat Enterprise Linux 7",
"distro": "rhel",
"supported": False,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"fedora5": {
"sortby": "fedora05",
"label": "Fedora Core 5",
"distro": "fedora"
},
"fedora6": {
"sortby": "fedora06",
"label": "Fedora Core 6",
"distro": "fedora"
},
"fedora7": {
"sortby": "fedora07",
"label": "Fedora 7",
"distro": "fedora"
},
"fedora8": {
"sortby": "fedora08",
"label": "Fedora 8",
"distro": "fedora"
},
"fedora9": {
"sortby": "fedora09",
"label": "Fedora 9",
"distro": "fedora",
"devices" : {
# Apparently F9 has selinux errors when installing with virtio:
# https://bugzilla.redhat.com/show_bug.cgi?id=470386
# DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
}
},
"fedora10": {
"label": "Fedora 10",
"distro": "fedora",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
}
},
"fedora11": {
"label": "Fedora 11",
"distro": "fedora",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"fedora12": {
"label": "Fedora 12",
"distro": "fedora",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"fedora13": {
"label": "Fedora 13", "distro": "fedora",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"fedora14": {
"label": "Fedora 14",
"distro": "fedora",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"fedora15": {
"label": "Fedora 15",
"distro": "fedora",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"fedora16": {
"label": "Fedora 16",
"distro": "fedora",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"fedora17": {
"label": "Fedora 17",
"distro": "fedora",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"fedora18": {
"label": "Fedora 18",
"distro": "fedora",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"fedora19": {
"label": "Fedora 19",
"distro": "fedora",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
def _add_type(*args, **kwargs):
kwargs["is_type"] = True
_t = _OSVariant(*args, **kwargs)
OS_TYPES[_t.name] = _t.to_dict()
OS_TYPES[_t.name]["variants"] = {}
return _t
"opensuse11": {
"label": "openSuse 11",
"distro": "suse",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"opensuse12": {
"label": "openSuse 12",
"distro": "suse",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"sles10": {
"label": "Suse Linux Enterprise Server",
"distro": "suse",
"supported": True,
},
"sles11": {
"label": "Suse Linux Enterprise Server 11",
"distro": "suse",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
class _OSVariant(object):
def __init__(self, name, label,
is_type=False, distro=None, sortby=None,
cont=False, supported=False,
devices=None, acpi=None, apic=None, clock=None):
self.name = name.lower()
self.label = label
self.is_type = bool(is_type)
self.distro = distro
self.sortby = sortby
self.supported = bool(supported)
self.cont = cont
"mandriva2009": {
"label": "Mandriva Linux 2009 and earlier",
"distro": "mandriva"
},
"mandriva2010": {
"label": "Mandriva Linux 2010 and later",
"distro": "mandriva",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
self.devices = devices
self.acpi = acpi
self.apic = apic
self.clock = clock
"mes5": {
"label": "Mandriva Enterprise Server 5.0",
"distro": "mandriva",
},
"mes5.1": {
"label": "Mandriva Enterprise Server 5.1 and later",
"distro": "mandriva",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
def to_dict(self):
ret = {}
allparams = ["label", "distro", "sortby", "supported",
"cont", "devices", "apic", "acpi", "clock"]
canfalse = ["apic", "acpi"]
for param in allparams:
val = getattr(self, param)
if param in canfalse and val is False:
pass
elif not val:
continue
ret[param] = val
return ret
"mageia1": {
"label": "Mageia 1 and later",
"distro": "mageia",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
},
},
def add(self, *args, **kwargs):
v = _OSVariant(*args, **kwargs)
OS_TYPES[self.name]["variants"][v.name] = v.to_dict()
"altlinux": {
"label": "ALT Linux",
"distro": "altlinux",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"debianetch": {
"label": "Debian Etch",
"distro": "debian",
"sortby": "debian4",
},
"debianlenny": {
"label": "Debian Lenny",
"distro": "debian",
"sortby": "debian5",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"debiansqueeze": {
"label": "Debian Squeeze",
"distro": "debian",
"sortby": "debian6",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
"debianwheezy": {
"label": "Debian Wheezy",
"distro": "debian",
"sortby": "debian7",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
INPUT: USB_TABLET,
}
},
t = _add_type("linux", "Linux")
t.add("rhel2.1", label="Red Hat Enterprise Linux 2.1", distro="rhel")
t.add("rhel3", label="Red Hat Enterprise Linux 3", distro="rhel")
t.add("rhel4", label="Red Hat Enterprise Linux 4", distro="rhel", supported=True)
t.add("rhel5", label="Red Hat Enterprise Linux 5", distro="rhel")
t.add("rhel5.4", label="Red Hat Enterprise Linux 5.4 or later", distro="rhel", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("rhel6", label="Red Hat Enterprise Linux 6", distro="rhel", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("rhel7", label="Red Hat Enterprise Linux 7", distro="rhel", supported=False, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
"ubuntuhardy": {
"label": "Ubuntu 8.04 LTS (Hardy Heron)",
"distro": "ubuntu",
"devices" : {
NET : VIRTIO_NET,
},
},
"ubuntuintrepid": {
"label": "Ubuntu 8.10 (Intrepid Ibex)",
"distro": "ubuntu",
"devices" : {
NET : VIRTIO_NET,
},
},
"ubuntujaunty": {
"label": "Ubuntu 9.04 (Jaunty Jackalope)",
"distro": "ubuntu",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"ubuntukarmic": {
"label": "Ubuntu 9.10 (Karmic Koala)",
"distro": "ubuntu",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"ubuntulucid": {
"label": "Ubuntu 10.04 LTS (Lucid Lynx)",
"distro": "ubuntu",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"ubuntumaverick": {
"label": "Ubuntu 10.10 (Maverick Meerkat)",
"distro": "ubuntu",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"ubuntunatty": {
"label": "Ubuntu 11.04 (Natty Narwhal)",
"distro": "ubuntu",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"ubuntuoneiric": {
"label": "Ubuntu 11.10 (Oneiric Ocelot)",
"distro": "ubuntu",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"ubuntuprecise": {
"label": "Ubuntu 12.04 LTS (Precise Pangolin)",
"distro": "ubuntu",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"ubuntuquantal": {
"label": "Ubuntu 12.10 (Quantal Quetzal)",
"distro": "ubuntu",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"ubunturaring": {
"label": "Ubuntu 13.04 (Raring Ringtail)",
"distro": "ubuntu",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
VIDEO : VMVGA_VIDEO,
},
},
"ubuntusaucy": {
"label": "Ubuntu 13.10 (Saucy Salamander)",
"distro": "ubuntu",
"supported": True,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
VIDEO : VMVGA_VIDEO,
},
},
t.add("fedora5", sortby="fedora05", label="Fedora Core 5", distro="fedora")
t.add("fedora6", sortby="fedora06", label="Fedora Core 6", distro="fedora")
t.add("fedora7", sortby="fedora07", label="Fedora 7", distro="fedora")
t.add("fedora8", sortby="fedora08", label="Fedora 8", distro="fedora")
# Apparently F9 has selinux errors when installing with virtio:
# https: //bugzilla.redhat.com/show_bug.cgi?id=470386
t.add("fedora9", sortby="fedora09", label="Fedora 9", distro="fedora", devices={NET: VIRTIO_NET})
t.add("fedora10", label="Fedora 10", distro="fedora", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("fedora11", label="Fedora 11", distro="fedora", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("fedora12", label="Fedora 12", distro="fedora", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("fedora13", label="Fedora 13", distro="fedora", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("fedora14", label="Fedora 14", distro="fedora", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("fedora15", label="Fedora 15", distro="fedora", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("fedora16", label="Fedora 16", distro="fedora", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("fedora17", label="Fedora 17", distro="fedora", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("fedora18", label="Fedora 18", distro="fedora", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("fedora19", label="Fedora 19", distro="fedora", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
"generic24": {
"label": "Generic 2.4.x kernel"
},
"generic26": {
"label": "Generic 2.6.x kernel"
},
"virtio26": {
"sortby": "genericvirtio26",
"label": "Generic 2.6.25 or later kernel with virtio",
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
t.add("opensuse11", label="openSuse 11", distro="suse", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("opensuse12", label="openSuse 12", distro="suse", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
},
},
t.add("sles10", label="Suse Linux Enterprise Server", distro="suse", supported=True)
t.add("sles11", label="Suse Linux Enterprise Server 11", distro="suse", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
"windows": {
"label": "Windows",
"clock": "localtime",
"continue": True,
"devices" : {
INPUT : USB_TABLET,
VIDEO : VGA_VIDEO,
},
t.add("mandriva2009", label="Mandriva Linux 2009 and earlier", distro="mandriva")
t.add("mandriva2010", label="Mandriva Linux 2010 and later", distro="mandriva", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
"variants": {
t.add("mes5", label="Mandriva Enterprise Server 5.0", distro="mandriva")
t.add("mes5.1", label="Mandriva Enterprise Server 5.1 and later", distro="mandriva", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
"winxp": {
"label": "Microsoft Windows XP",
"sortby": "mswin5",
"distro" : "win",
"supported": True,
"acpi": [(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)],
"apic": [(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)],
},
"winxp64": {
"label": "Microsoft Windows XP (x86_64)",
"supported": True,
"sortby": "mswin564",
"distro": "win",
},
"win2k": {
"label": "Microsoft Windows 2000",
"sortby" : "mswin4",
"distro": "win",
"acpi": [(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)],
"apic": [(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)],
},
"win2k3": {
"label": "Microsoft Windows Server 2003",
"supported": True,
"sortby" : "mswinserv2003",
"distro": "winserv",
},
"win2k8": {
"label": "Microsoft Windows Server 2008",
"supported": True,
"sortby": "mswinserv2008",
"distro": "winserv",
},
"vista": {
"label": "Microsoft Windows Vista",
"supported": True,
"sortby": "mswin6",
"distro": "win",
},
"win7": {
"label": "Microsoft Windows 7",
"supported": True,
"sortby": "mswin7",
"distro": "win",
},
t.add("mageia1", label="Mageia 1 and later", distro="mageia", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
},
},
t.add("altlinux", label="ALT Linux", distro="altlinux", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
"solaris": {
"label": "Solaris",
"clock": "localtime",
"variants": {
t.add("debianetch", label="Debian Etch", distro="debian", sortby="debian4")
t.add("debianlenny", label="Debian Lenny", distro="debian", sortby="debian5", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("debiansqueeze", label="Debian Squeeze", distro="debian", sortby="debian6", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
t.add("debianwheezy", label="Debian Wheezy", distro="debian", sortby="debian7", supported=True, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, INPUT: USB_TABLET})
"solaris9": {
"label": "Sun Solaris 9",
},
"solaris10": {
"label": "Sun Solaris 10",
"devices" : {
INPUT : USB_TABLET,
},
},
"opensolaris": {
"label": "Sun OpenSolaris",
"devices" : {
INPUT : USB_TABLET,
},
},
t.add("ubuntuhardy", label="Ubuntu 8.04 LTS (Hardy Heron)", distro="ubuntu", devices={NET: VIRTIO_NET})
t.add("ubuntuintrepid", label="Ubuntu 8.10 (Intrepid Ibex)", distro="ubuntu", devices={NET: VIRTIO_NET})
t.add("ubuntujaunty", label="Ubuntu 9.04 (Jaunty Jackalope)", distro="ubuntu", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("ubuntukarmic", label="Ubuntu 9.10 (Karmic Koala)", distro="ubuntu", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("ubuntulucid", label="Ubuntu 10.04 LTS (Lucid Lynx)", distro="ubuntu", supported=True,
devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("ubuntumaverick", label="Ubuntu 10.10 (Maverick Meerkat)", distro="ubuntu", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("ubuntunatty", label="Ubuntu 11.04 (Natty Narwhal)", distro="ubuntu", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("ubuntuoneiric", label="Ubuntu 11.10 (Oneiric Ocelot)", distro="ubuntu", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("ubuntuprecise", label="Ubuntu 12.04 LTS (Precise Pangolin)", distro="ubuntu", supported=True,
devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("ubuntuquantal", label="Ubuntu 12.10 (Quantal Quetzal)", distro="ubuntu", supported=True,
devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
t.add("ubunturaring", label="Ubuntu 13.04 (Raring Ringtail)", distro="ubuntu", supported=True,
devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, VIDEO: VMVGA_VIDEO})
t.add("ubuntusaucy", label="Ubuntu 13.10 (Saucy Salamander)", distro="ubuntu", supported=True,
devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET, VIDEO: VMVGA_VIDEO})
},
},
t.add("generic24", label="Generic 2.4.x kernel")
t.add("generic26", label="Generic 2.6.x kernel")
t.add("virtio26", sortby="genericvirtio26", label="Generic 2.6.25 or later kernel with virtio", devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
"unix": {
"label": "UNIX",
"variants": {
"freebsd6": {
"label": "FreeBSD 6.x" ,
# http://www.nabble.com/Re%3A-Qemu%3A-bridging-on-FreeBSD-7.0-STABLE-p15919603.html
"devices" : {
NET : {"model" : [(HV_ALL, "ne2k_pci")]}
},
},
"freebsd7": {
"label": "FreeBSD 7.x" ,
"devices" : {
NET : {"model" : [(HV_ALL, "ne2k_pci")]}
},
},
"freebsd8": {
"label": "FreeBSD 8.x" ,
"supported": True,
"devices" : {
NET : {"model" : [(HV_ALL, "e1000")]}
},
},
"freebsd9": {
"label": "FreeBSD 9.x" ,
"supported": True,
"devices" : {
NET : {"model" : [(HV_ALL, "e1000")]}
},
},
"freebsd10": {
"label": "FreeBSD 10.x" ,
"supported": False,
"devices" : {
DISK : VIRTIO_DISK,
NET : VIRTIO_NET,
},
},
"openbsd4": {
"label": "OpenBSD 4.x" ,
# http://calamari.reverse-dns.net:980/cgi-bin/moin.cgi/OpenbsdOnQemu
# https://www.redhat.com/archives/et-mgmt-tools/2008-June/msg00018.html
"devices" : {
NET : {"model" : [(HV_ALL, "pcnet")]}
},
},
t = _add_type("windows", "Windows", clock="localtime", cont=True, devices={INPUT: USB_TABLET, VIDEO: VGA_VIDEO})
t.add("winxp", label="Microsoft Windows XP", sortby="mswin5", distro="win", supported=True, acpi=[(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)], apic=[(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)])
t.add("winxp64", label="Microsoft Windows XP (x86_64)", supported=True, sortby="mswin564", distro="win")
t.add("win2k", label="Microsoft Windows 2000", sortby="mswin4", distro="win", acpi=[(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)], apic=[(support.SUPPORT_CONN_HV_SKIP_DEFAULT_ACPI, False)],
)
t.add("win2k3", label="Microsoft Windows Server 2003", supported=True, sortby="mswinserv2003", distro="winserv")
t.add("win2k8", label="Microsoft Windows Server 2008", supported=True, sortby="mswinserv2008", distro="winserv")
t.add("vista", label="Microsoft Windows Vista", supported=True, sortby="mswin6", distro="win")
t.add("win7", label="Microsoft Windows 7", supported=True, sortby="mswin7", distro="win")
},
},
"other": {
"label": "Other",
"variants": {
t = _add_type("solaris", label="Solaris", clock="localtime")
t.add("solaris9", label="Sun Solaris 9")
t.add("solaris10", label="Sun Solaris 10", devices={INPUT: USB_TABLET})
t.add("opensolaris", label="Sun OpenSolaris", devices={INPUT: USB_TABLET})
t = _add_type("unix", label="UNIX")
# http: //www.nabble.com/Re%3A-Qemu%3A-bridging-on-FreeBSD-7.0-STABLE-p15919603.html
t.add("freebsd6", label="FreeBSD 6.x", devices={NET: {"model": [(HV_ALL, "ne2k_pci")]}})
t.add("freebsd7", label="FreeBSD 7.x", devices={NET: {"model": [(HV_ALL, "ne2k_pci")]}})
t.add("freebsd8", label="FreeBSD 8.x", supported=True, devices={NET: {"model": [(HV_ALL, "e1000")]}})
t.add("freebsd9", label="FreeBSD 9.x", supported=True, devices={NET: {"model": [(HV_ALL, "e1000")]}})
t.add("freebsd10", label="FreeBSD 10.x", supported=False, devices={DISK: VIRTIO_DISK, NET: VIRTIO_NET})
# http: //calamari.reverse-dns.net: 980/cgi-bin/moin.cgi/OpenbsdOnQemu
# https: //www.redhat.com/archives/et-mgmt-tools/2008-June/msg00018.html
t.add("openbsd4", label="OpenBSD 4.x", devices={NET: {"model": [(HV_ALL, "pcnet")]}})
t = _add_type("other", label="Other")
t.add("msdos", label="MS-DOS", acpi=False, apic=False)
t.add("netware4", label="Novell Netware 4")
t.add("netware5", label="Novell Netware 5")
t.add("netware6", label="Novell Netware 6")
t.add("generic", supported=True, label="Generic")
"msdos": {
"label": "MS-DOS",
"acpi": False,
"apic": False,
},
"netware4": {
"label": "Novell Netware 4",
},
"netware5": {
"label": "Novell Netware 5",
},
"netware6": {
"label": "Novell Netware 6",
},
"generic": {
"supported": True,
"label": "Generic"
},
},
}
}
# Back compatibility entries
solaris_compat = OS_TYPES["unix"]["variants"]