[PATCH 13/21] Make it possible to call setUpBootLoader safely at any time.
David Lehman
dlehman at redhat.com
Thu Aug 9 19:28:32 UTC 2012
---
pyanaconda/bootloader.py | 2 +-
pyanaconda/storage/__init__.py | 10 +++++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py
index 971c0dc..fac9ee8 100644
--- a/pyanaconda/bootloader.py
+++ b/pyanaconda/bootloader.py
@@ -620,6 +620,7 @@ class BootLoader(object):
return valid
def set_stage1_device(self, devices):
+ self.stage1_device = None
if not self.stage1_disk:
raise BootLoaderError("need stage1 disk to set stage1 device")
@@ -627,7 +628,6 @@ class BootLoader(object):
self.stage1_device = self.stage2_device
return
- self.stage1_device = None
for device in devices:
if self.stage1_disk not in device.disks:
continue
diff --git a/pyanaconda/storage/__init__.py b/pyanaconda/storage/__init__.py
index 8e57a44..ee4e20c 100644
--- a/pyanaconda/storage/__init__.py
+++ b/pyanaconda/storage/__init__.py
@@ -38,6 +38,7 @@ from pykickstart.constants import *
from pyanaconda.flags import flags
from pyanaconda import tsort
from pyanaconda.errors import *
+from pyanaconda.bootloader import BootLoaderError
from errors import *
from devices import *
@@ -1746,7 +1747,10 @@ class Storage(object):
self.bootloader.stage1_disk = self.devicetree.resolveDevice(self.data.bootloader.bootDrive)
self.bootloader.stage2_device = self.bootDevice
- self.bootloader.set_stage1_device(self.devices)
+ try:
+ self.bootloader.set_stage1_device(self.devices)
+ except BootLoaderError as e:
+ log.debug("failed to set bootloader stage1 device: %s" % e)
@property
def bootDisk(self):
@@ -1764,6 +1768,10 @@ class Storage(object):
return dev
@property
+ def bootLoaderDevice(self):
+ return getattr(self.bootloader, "stage1_device", None)
+
+ @property
def bootFSTypes(self):
"""A list of all valid filesystem types for the boot partition."""
fstypes = []
--
1.7.7.6
More information about the anaconda-patches
mailing list