[et-mgmt-tools] [PATCH] Support NetWare PV installs
John Levon
john.levon at sun.com
Wed Mar 11 23:20:57 UTC 2009
# HG changeset patch
# User John Levon <john.levon at sun.com>
# Date 1236813503 25200
# Node ID bc57f31980f9a408db53e83e177a00931be0a479
# Parent 143cad71a2a6e83bfff7f46a0f7105e3eeb43ab2
Support NetWare PV installs
Signed-off-by: John Levon <john.levon at sun.com>
diff --git a/virtinst/DistroInstaller.py b/virtinst/DistroInstaller.py
--- a/virtinst/DistroInstaller.py
+++ b/virtinst/DistroInstaller.py
@@ -196,7 +196,8 @@ class DistroInstaller(Installer.Installe
self.install["extraargs"] = args
self._tmpfiles.append(kernelfn)
- self._tmpfiles.append(initrdfn)
+ if initrdfn:
+ self._tmpfiles.append(initrdfn)
# If they're installing off a local file/device, we map it
# through to a virtual CD or disk
diff --git a/virtinst/OSDistro.py b/virtinst/OSDistro.py
--- a/virtinst/OSDistro.py
+++ b/virtinst/OSDistro.py
@@ -86,6 +86,8 @@ def _storeForDistro(fetcher, baseuri, ty
stores.append(SolarisDistro)
if distro == "solaris" or distro is None:
stores.append(OpenSolarisDistro)
+ if distro == "netware" or distro is None:
+ stores.append(NetWareDistro)
stores.append(GenericDistro)
@@ -1022,6 +1024,9 @@ class SolarisDistro(SunDistro):
self.initrdpath)
class OpenSolarisDistro(SunDistro):
+
+ os_variant = "opensolaris"
+
kernelpath = "platform/i86xpv/kernel/unix"
initrdpath = "boot/x86.microroot"
@@ -1065,3 +1070,21 @@ class OpenSolarisDistro(SunDistro):
os.unlink(kernel)
raise RuntimeError(_("OpenSolaris microroot not found at %s") %
self.initrdpath)
+
+# NetWare 6 PV
+class NetWareDistro(Distro):
+ name = "NetWare"
+ os_type = "other"
+ os_variant = "netware6"
+
+ loaderpath = "STARTUP/XNLOADER.SYS"
+
+ def isValidStore(self, fetcher, progresscb):
+ if fetcher.hasFile(self.loaderpath):
+ logging.debug("Detected NetWare")
+ return True
+ return False
+
+ def acquireKernel(self, guest, fetcher, progresscb):
+ loader = fetcher.acquireFile(self.loaderpath, progresscb)
+ return (loader, "", "")
diff --git a/virtinst/osdict.py b/virtinst/osdict.py
--- a/virtinst/osdict.py
+++ b/virtinst/osdict.py
@@ -211,7 +211,7 @@ OS_TYPES = {\
"msdos": { "label": "MS-DOS", "acpi": False, "apic": False },
"netware4": { "label": "Novell Netware 4" },
"netware5": { "label": "Novell Netware 5" },
- "netware6": { "label": "Novell Netware 6" },
+ "netware6": { "label": "Novell Netware 6", "pv_cdrom_install": True, },
"generic": { "label": "Generic" },
},
},}
More information about the et-mgmt-tools
mailing list