[Libosinfo] install-scripts: Setting the injection-method to use | Setting the need of the internet to install

Fabiano Fidêncio fidencio at redhat.com
Mon Nov 26 20:15:21 UTC 2018


People,

While working on adding unattended-installation support for
virt-install, I've noticed that our Fedora/RHEL/openSUSE scripts do
not support initrd as injection method and initrd is what I could use
pretty much for free on virt-install.

In order to add support for initrd as the injection-method for the
distros mentioned above, the only change needed would be in the
"command-line" (passed to the kernel). Let me give an example with
Fedora:
- cdrom|disk|floppy: ks=hd:(vda|sda):/fedora.ks
- initrd: ks=file:/fedora.ks

So, in order to support those two different "command-lines", we'd have
to set the preferred injection-method for the script and here I can
see a new PROP_PREFERRED_INJECTION_METHOD for OsinfoInstallScript
object where the apps would set there the preferred way (cdrom being
the default in order to avoid breaking something on Boxes). With that
we could just do something like this in the script's XML:
<xsl:template match="/command-line">
  <xsl:text>ks=</xsl:text>
  <xsl:choose>
    <xsl:when test="script/preferred-injection-method = 'initrd'">
      <xsl:text>file:/</xsl:text>
    </xsl:when>
    <xsl:otherwise>
      <xsl:text>hd:</xsl:text>
      <xsl:call-template name="script-disk"/> <!-- returns vda|sda -->
      <xsl:text>:/</xsl:text>
    </xsl:otherwise>
  </xsl:choose>
  <xsl:value-of select="script/expected-filename"/>
</xsl:template>

Daniel, are you okay with this approach or would you suggest something else?


Now, the other topic ...
We do support media-tree info as part of osinfo-db and we can just
perform unattended installations using them pretty much without
issues, but one. :-)
When installing a Fedora box from media-tree, we cannot set "install
cdrom" (to install from the first CD/DVD) in the kickstart file ...
the current check done for this is:

<xsl:if test="count(media/variant) = 0 or not(contains(media/variant,
'netinst'))">
install
cdrom
</xsl:if>

This just doesn't work with treeinfo, at all, and also seems quite
error prone in general. I'm wondering here whether the apps (knowing
they're dealing with a media/tree) should pro-actively set a
PROP_INSTALL_FROM property to be added to OsinfoInstallScript then
we'd have a better test like:
<xsl:if test="script/install-from = 'cdrom'">
install
cdrom
</xsl:if>

Another option would be to have a network-installer="true|false"
property in the OsinfoMedia and use it instead of relying in the apps
setting it (as suggested above) or in the variant id (which may not
even be present).

Daniel, opinions here?

Best Regards,




More information about the Libosinfo mailing list