Re: Reipl support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/26/2008 06:38 AM, David Cantrell wrote:
> On Aug 25, 2008, at 6:04 AM, Steffen Maier wrote:
>> do you have any new comments on our discussion?
>>
>> On 08/11/2008 10:45 AM, Steffen Maier wrote:
>>> any news or new opinions from your side concerning Mark's work on
>>> supporting automatic reboot after the 1st install phase by integrating
>>> the s390 reipl feature into anaconda?
> 
> Is Reipl.py a new command for the distribution?  It contains option
> parsing and other things that you'd find in a command line tool.  If it
> is, where is it to live?

Actually Reipl.py is both a python module for use from within anaconda
(calling processOptions()) and a command line tool. The main intention
was IMHO to integrate it into anaconda, all the rest is just added value.

For the integration into anaconda, I would say, we can strip off the
main part and Usage().

> If it's not a command and the functionality is to be added to anaconda,
> is there anyway it can be significantly reduced?  All of the sanity
> checking code and sysfs finding code....is any of that really necessary?
>  In anaconda we can assume sysfs is mounted to /sys, for example.

You're right, meanwhile I'm convinced that we don't need to find, where
sysfs is mounted. First, because in our special case within anaconda
it's fixed to /sys anyway. Secondly, because I found out that
linux/Documentation/sysfs-rules.txt says: "- sysfs is always at /sys".

With regard to the sanity checks, I would say they are a nice way of
defensive programming style. Kind of like a little integrated unit test,
that will alert us immediately should the sysfs kernel interface for
reipl change from the way it currently is and we rely on. If those few
additional lines hurt too much for integration with anaconda, I would be
fine with removing SanityCheck() since possible failures on all actual
reads and writes on the sysfs attributes are still caught and give a
sensible error message to the user. IMHO, there should just be no
uncaught exceptions throwing backtraces, that are meaningless for the user.

> But,
> if Reipl.py is a new system command, I can see how you'd want it to hunt
> around for sysfs.  I mean, what needs to happen in anaconda for reipl to
> work?  We need to transform the boot device (which we know in anaconda)
> to the special format to write to the sysfs files, right?

Yes, that is step one of two: Converting the device name of the mount
point /boot, or if that doesn't exist /, to the naming conventions of
the s390 I/O subsystem and using it to write to sysfs.

> Going back to what Jeremy was saying a while back, this should be a
> simple task for anaconda.  Try to write the reipl device, nothing more.
>  If it fails, it fails.

Now to step two of two.

Imagine customers, running in LPAR on hardware older then z9 or in z/VM
older than version 5.3 and they want to install RHEL on SCSI disks
attached via zFCP. The involved versions of firmware/software do not
support reipl in such a setting. Still the installation works perfectly
fine including the writing of the zipl bootloader.

If we now just fail, because we could not configure reipl due to the
involved versions, _and_ we unconditionally reboot, then the system will
reboot exactly the same thing as it did before (on z/VM at least and
there it is the VM reader most probably still having the kernel, parm
file, and install initrd punched into it) and that would be the install
environment.

IMO, it would not be a good idea to throw our customers into an endless
loop, rebooting into the install environment, starting from scratch all
over again, although the 1st install phase went perfectly fine.

If the reipl configuration did not work, it is only due to versions of
involved software, and we should do a halt/shutdown as has always been
done on s390. This gives the user the possibility to manually ipl the
newly installed system and continue to the 2nd install phase.

We should reboot, if (and only if) the reipl configuration went fine.
Then the customer would see improved usability, since the system reboots
automatically from the correct device.

> As he noted, we don't do anything special for
> grub failures because we can't really.

I'm perfectly fine with your suggested behavior on failures installing
the bootloader, which is zipl on s390. However, our automatic reipl
support in the installer has got nothing to do with the configuration of
the bootloader. As mentioned above, installing the bootloader works
fine, even though the configuration of reipl might not due to versions
of involved software. So, yes, this is a special case which probably
just exists on s390. All other platforms happen to have a BIOS/firmware
telling them where to boot from on default. We don't have such default
boot device on s390 and therefore need to tell our firmware, if we want
to reboot from a different device than on previous boot.

> On s390 we do gain a little more,

>From an ease of use perspective we do gain a lot on s390, namely the
reboot between install phase 1 and 2 works automatically with our reipl
support. Hence, s390 would behave as all other platforms already do!
This brings s390 in line with all other platforms.

> but to keep the installer in line with other platforms, let's keep
> the failure handling to logging a message in anaconda and continuing anyway.

I wish this would work out and would result in user-friendly behavior,
but please consider the above mentioned consequences of an endless
install loop for customers.

Please understand, that this is not about us insisting on our
standpoint. It is rather about the resulting user experience, if we
implemented reipl support as you suggest. I doubt, users would like
seeing the installer redo from start even though everything installed
fine during the previous 1st phase.

Steffen

Linux on System z Development

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschäftsführung: Erich Baier
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294


_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux