Support kickstart-based Fedora autoinstalls
authorQuentin Smith <quentin@mit.edu>
Sun, 16 Jun 2019 00:56:23 +0000 (20:56 -0400)
committerQuentin Smith <quentin@mit.edu>
Sun, 16 Jun 2019 05:51:41 +0000 (01:51 -0400)
invirt-database

index 11fefb5..e5ceec1 100644 (file)
@@ -54,10 +54,30 @@ else:
 if 'installer_options' in locals(): #Installer
     import shlex
     install = dict(x.split("=",1) for x in shlex.split(installer_options))
-    if 'preseed' in install: # d-i based installer
-        baseurl = install['mirror']+"/dists/"+install['dist']+"/main/installer-"+install['arch']+"/current/images"
-        kernelurl = baseurl + "/netboot/xen/vmlinuz"
-        ramdiskurl = baseurl + "/netboot/xen/initrd.gz"
+    if 'ks' in install or 'preseed' in install:
+        if 'ks' in install: # anaconda based installer
+            baseurl = install['mirror']+"/releases/"+install['dist']+"/Everything/"+install['arch']+"/os"
+            kernelurl = baseurl + "/images/pxeboot/vmlinuz"
+            ramdiskurl = baseurl + "/images/pxeboot/initrd.img"
+            extras = ["inst.text",
+                      "inst.repo="+baseurl,
+                      "inst.ks="+install['ks'],
+                      "--", "console=hvc0",
+                      ]
+        elif 'preseed' in install: # d-i based installer
+            baseurl = install['mirror']+"/dists/"+install['dist']+"/main/installer-"+install['arch']+"/current/images"
+            kernelurl = baseurl + "/netboot/xen/vmlinuz"
+            ramdiskurl = baseurl + "/netboot/xen/initrd.gz"
+
+            # For debugging, add "DEBCONF_DEBUG=5" to the arguments.
+            extras = ["auto=true",
+                      "debconf/priority=critical",
+                      "debian-installer/locale=en_US.UTF-8",
+                      "debian-installer/exit/always_halt=true",
+                      "url="+install['preseed'],
+                      "--", "console=hvc0"]
+        else:
+            raise RuntimeError('unknown new-style autoinstall')
 
         import urllib
         class MyUrlOpener(urllib.FancyURLopener):
@@ -73,14 +93,6 @@ if 'installer_options' in locals(): #Installer
         except IOError, _:
             raise
 
-        # For debugging, add "DEBCONF_DEBUG=5" to the arguments.
-        extras = ["auto=true",
-                  "debconf/priority=critical",
-                  "debian-installer/locale=en_US.UTF-8",
-                  "debian-installer/exit/always_halt=true",
-                  "url="+install['preseed'],
-                  "--", "console=hvc0"]
-
         extra = str.join(" ", extras)
     else: # Traditional debootstrap-based install
         disk.append('phy:/dev/xenvg/s_install_hda,hdb,r')