[virt-tools-list] [PATCH libosinfo 0/7] Automated install script handling

Daniel P. Berrange berrange at redhat.com
Tue Feb 28 15:26:16 UTC 2012


There are many applications today which have support for doing automated
operating system installs.

 - oVirt/RHEV - support Windows SIF/unattended installs & Fedora/RHEL
                kickstarts
 - Oz - support Windows SIF/unattended installs & Fedora/RHEL
        kickstarts and equiv for Mandrake, Mandriva, Ubuntu,
        OpenSuse, Debian.
 - Ubuntu VM Builder - support Ubuntu only
 - BoxGrinder - supports RHEL, Fedora, CentOS, Scientific Linux kickstarts
 - GNOME Boxes - supports Windows SIF/unattended installs & Fedora
                 kickstarts

IMHO this is sub-optimal because everyone is reinventing the wheel,
and they have to include alot of OS specific code todo so. The goal
of libosinfo is to remove all OS specific knowledge from applications.
Thus we need to provide API support for these automated installs.
This series does just that.

The new OsinfoInstallScript class provides the actual templates for
generating the OS specific install script. The templates are
representing using XSLT, so that we can easily do runtime variable
substitution and conditional content generation.

The new OsinfoInstallConfig class provides the configurable parameters
that can be subsituted into the install scripts. This includes hardware
properties (architecture), localization (timezone, language, keyboard),
admin details (password), user details (login name, password, autologin
flag, etc) and registration details (product key, user login & password).

Each template is tagged with a 'profile'. The standard profile is 'jeos'
which does a minimal installation. The other standard profile is 'desktop'
which is a general purpose desktop install.

It is possible to define site-specific configuration parameters and
provide alternative templates and new template profiles.

There is a new command line tool 'osinfo-install-script' which can be
used by admins to generate a install script for any supported OS in our
database. Of couse mgmt apps can use the API todo the same.eg

  # osinfo-install-script \
         --profile jeos \
         --config i10n-timezone=GMT \
         --config i10n-keyboard=uk \
         --config i10n-language=en_GB.UTF-8 \
         --config admin-password=123456 \
         fedora16
# Install script for fedora16 profile jeos
install
text
keyboard us
lang en_US.UTF-8
skipx
network --device eth0 --bootproto dhcp
rootpw 123456
firewall --disabled
authconfig --enableshadow --enablemd5

selinux --enforcing

timezone --utc America/New_York
bootloader --location=mbr
zerombr 

clearpart --all --drives=vda
part biosboot --fstype=biosboot --size=1

part /boot --fstype ext4 --size=200 --ondisk=vda
part pv.2 --size=1 --grow --ondisk=vda
volgroup VolGroup00 --pesize=32768 pv.2
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=768 --grow --maxsize=1536
logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
reboot

%packages
@base
@core

@hardware-support


%end





More information about the virt-tools-list mailing list