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

[PATCH] reIPL should not use anaconda.id.bootloader.device



The reIPL code was using anaconda.id.bootloader.device which has an
incorrect value. Zipl can only boot from the partition with /boot
and reIPL needs to point to that partition.
anaconda.platform.bootDevice().disk.name does give the correct
name.

---
iutil.py | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/iutil.py b/iutil.py
index 7086f2c..f83b002 100644
--- a/iutil.py
+++ b/iutil.py
@@ -898,11 +898,14 @@ def reIPLonCCW(iplsubdev, reipl_path):
log.warning(message)
# do NOT raise an exception since this might not exist or not be writable

+ log.info("ccw reIPL using DASD %s" % (device,))
+
except Exception, e:
try:
message = e.args[0]
except:
message = e.__str__ ()
+ log.info("Caught exception %s", (message,))
return (message,
(_("After shutdown, please perform a manual IPL from DASD device %s to continue "
"installation") % (device,)))
@@ -956,11 +959,14 @@ def reIPLonFCP(iplsubdev, reipl_path):
log.warning(message)
raise Exception (message)

+ log.info("fcp reIPL using FCP %(device)s, WWPN %(wwpn)s, LUN %(lun)s" % (fcpvalue))
+
except Exception, e:
try:
message = e.args[0]
except:
message = e.__str__ ()
+ log.info("Caught exception %s", (message,))
return (message,
(_("After shutdown, please perform a manual IPL from FCP %(device)s with WWPN %(wwpn)s "
"and LUN %(lun)s to continue installation") % (fcpvalue)))
@@ -972,10 +978,10 @@ def reIPLtrigger(anaconda):
if not isS390():
return
if anaconda.canReIPL:
- log.info("reipl configuration successful => reboot")
+ log.info("reIPL configuration successful => reboot")
os.kill(os.getppid(), signal.SIGUSR2)
else:
- log.info("reipl configuration failed => halt")
+ log.info("reIPL configuration failed => halt")
os.kill(os.getppid(), signal.SIGUSR1)

def reIPL(anaconda, loader_pid):
@@ -984,14 +990,14 @@ def reIPL(anaconda, loader_pid):

reipl_path = "/sys/firmware/reipl"

- ipldev = anaconda.id.bootloader.device
+ ipldev = anaconda.platform.bootDevice().disk.name

if ipldev is None:
- message = _("Error determining mount point type")
- log.warning(message)
+ message = _("Error determining boot device's disk name")
+ log.info(message)
return (message, instruction)

- message = (_("The mount point /boot or / is on a disk that we are not familiar with"), instruction)
+ message = (_("The boot disk is a name that we are not familiar with"), instruction)
if ipldev.startswith("dasd"):
message = reIPLonCCW(ipldev, reipl_path)
elif ipldev.startswith("sd"):
@@ -1001,6 +1007,7 @@ def reIPL(anaconda, loader_pid):
anaconda.canReIPL = True
else:
anaconda.canReIPL = False
+ log.info(message)

reIPLtrigger(anaconda)

--
1.6.4.4

--
Mark

You must be the change you wish to see in the world. -- Mahatma Gandhi
Worrying is praying for that you do not wish to happen.


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