[et-mgmt-tools] [PATCH] Support OpenSolaris 2009.06

John Levon john.levon at sun.com
Tue Mar 17 02:46:11 UTC 2009


# HG changeset patch
# User John Levon <john.levon at sun.com>
# Date 1237257954 25200
# Node ID 7e7e8034601323d1b4f21314e0ccf520e25d51b6
# Parent  202f8b4f8189e52a75d16930244274bda02c4af0
Support OpenSolaris 2009.06

This has unfortunately moved the location of the boot archive for SPARC
support.

Signed-off-by: John Levon <john.levon at sun.com>

diff --git a/virtinst/OSDistro.py b/virtinst/OSDistro.py
--- a/virtinst/OSDistro.py
+++ b/virtinst/OSDistro.py
@@ -1040,7 +1040,7 @@ class OpenSolarisDistro(SunDistro):
     os_variant = "opensolaris"
  
     kernelpath = "platform/i86xpv/kernel/unix"
-    initrdpath = "boot/x86.microroot"
+    initrdpaths = [ "boot/boot_archive", "boot/x86.microroot" ]
 
     def isValidStore(self, fetcher, progresscb):
         if fetcher.hasFile(self.kernelpath):
@@ -1076,12 +1076,16 @@ class OpenSolarisDistro(SunDistro):
         args = "/" + self.kernelpath + self.install_args(guest)
 
         try:
-            initrd = fetcher.acquireFile(self.initrdpath, progresscb)
+            initrd = fetcher.acquireFile(self.initrdpaths[0], progresscb)
             return (kernel, initrd, args)
-        except:
-            os.unlink(kernel)
-            raise RuntimeError(_("OpenSolaris microroot not found at %s") %
-                self.initrdpath)
+        except Exception, e:
+            try:
+                initrd = fetcher.acquireFile(self.initrdpaths[1], progresscb)
+                return (kernel, initrd, args)
+            except:
+                os.unlink(kernel)
+                raise Exception("No OpenSolaris boot archive found: %s\n" % e)
+
 
 # NetWare 6 PV
 class NetWareDistro(Distro):




More information about the et-mgmt-tools mailing list