Add the following methods and properties to class Storage which map through to FSSet methods, modify existing calls to use the method on class Storage: turnOnSwap() mountFilesystems() umountFilesystems() parseFSTab() mkDevRoot() createSwapFile() fsFreeSpace() mtab mountpoints migratableDevices rootDevice Callers no longer need to pass the Anaconda object to the FSSet methods directly. The method on Storage takes care of that. The mtab() method on FSSet is exposed as a property on Storage. The same is true for fsFreeSpace(). --- backend.py | 4 +- bootloader.py | 2 +- booty/alpha.py | 4 +- booty/bootloaderInfo.py | 10 ++++---- booty/ppc.py | 10 ++++---- booty/s390.py | 4 +- booty/sparc.py | 6 ++-- booty/x86.py | 10 ++++---- installmethod.py | 2 +- iw/osbootwidget.py | 2 +- iw/upgrade_migratefs_gui.py | 3 +- iw/upgrade_swap_gui.py | 5 +-- kickstart.py | 6 ++-- livecd.py | 24 ++++++++---------- network.py | 2 +- packages.py | 13 ++++----- platform.py | 2 +- rescue.py | 8 +++--- storage/__init__.py | 55 ++++++++++++++++++++++++++++++++++++------ storage/iscsi.py | 2 +- textw/upgrade_text.py | 4 +- upgrade.py | 8 +++--- yuminstall.py | 6 ++-- 23 files changed, 113 insertions(+), 79 deletions(-) diff --git a/backend.py b/backend.py index 41698af..04235a8 100644 --- a/backend.py +++ b/backend.py @@ -86,7 +86,7 @@ class AnacondaBackend: # the initrd might need iscsi-initiator-utils, and chances are # it was not installed yet the first time mkinitrd was run, as # mkinitrd does not require it. - root = anaconda.id.storage.fsset.rootDevice + root = anaconda.id.storage.rootDevice disks = anaconda.id.storage.devicetree.getDevicesByType("iscsi") for disk in disks: if root.dependsOn(disk): @@ -159,7 +159,7 @@ class AnacondaBackend: if not anaconda.mediaDevice or not os.path.exists(installimg): return - free = anaconda.id.storage.fsset.fsFreeSpace(anaconda.rootPath) + free = anaconda.id.storage.fsFreeSpace self._loopbackFile = "%s%s/rhinstall-install.img" % (anaconda.rootPath, free[0][0]) diff --git a/bootloader.py b/bootloader.py index ef6af21..0847f7e 100644 --- a/bootloader.py +++ b/bootloader.py @@ -145,7 +145,7 @@ def writeBootloader(anaconda): kernelList = [] otherList = [] # getDefault needs to return a device, but that's too invasive for now. - rootDev = anaconda.id.storage.fsset.rootDevice + rootDev = anaconda.id.storage.rootDevice if not anaconda.id.bootloader.images.getDefault(): defaultDev = None diff --git a/booty/alpha.py b/booty/alpha.py index afdb476..c4a3360 100644 --- a/booty/alpha.py +++ b/booty/alpha.py @@ -18,9 +18,9 @@ class alphaBootloaderInfo(bootloaderInfo): def writeAboot(self, instRoot, bl, kernelList, chainList, defaultDev, justConfig): - rootDevice = self.storage.fsset.rootDevice + rootDevice = self.storage.rootDevice try: - bootDevice = self.storage.fsset.mountpoints["/boot"] + bootDevice = self.storage.mountpoints["/boot"] except KeyError: bootDevice = rootDevice diff --git a/booty/bootloaderInfo.py b/booty/bootloaderInfo.py index e7cd5e3..b2725ab 100644 --- a/booty/bootloaderInfo.py +++ b/booty/bootloaderInfo.py @@ -88,7 +88,7 @@ class KernelArguments: def get(self): args = self.args - root = self.id.storage.fsset.rootDevice + root = self.id.storage.rootDevice for d in self.id.storage.devices: if root.dependsOn(d): dracutSetupString = d.dracutSetupString() @@ -210,7 +210,7 @@ class BootImages: self.images[dev.name] = (None, None, type) if not self.images.has_key(self.default): - self.default = storage.fsset.rootDevice.name + self.default = storage.rootDevice.name (label, longlabel, type) = self.images[self.default] if not label: self.images[self.default] = ("linux", productName, type) @@ -249,7 +249,7 @@ class BootImages: # questionable for same reason as above, but on mac this time retval.append((part, type)) - rootDevice = storage.fsset.rootDevice + rootDevice = storage.rootDevice if not rootDevice or not rootDevice.format: raise ValueError, ("Trying to pick boot devices but do not have a " @@ -343,7 +343,7 @@ class bootloaderInfo: lilo.addEntry("prompt", replace = 0) lilo.addEntry("timeout", self.timeout or "20", replace = 0) - rootDev = self.storage.fsset.rootDevice + rootDev = self.storage.rootDevice if rootDev.name == defaultDev.name: lilo.addEntry("default", kernelList[0][0]) @@ -590,7 +590,7 @@ class efiBootloaderInfo(bootloaderInfo): def addNewEfiEntry(self, instRoot): try: - bootdev = self.storage.fsset.mountpoints["/boot/efi"].name + bootdev = self.storage.mountpoints["/boot/efi"].name except: bootdev = "sda1" diff --git a/booty/ppc.py b/booty/ppc.py index aa4d8dc..9e43090 100644 --- a/booty/ppc.py +++ b/booty/ppc.py @@ -26,10 +26,10 @@ class ppcBootloaderInfo(bootloaderInfo): # Try to get a boot device; bplan OF understands ext3 if machine == 'Pegasos' or machine == 'Efika': try: - device = self.storage.fsset.mountpoints["/boot"] + device = self.storage.mountpoints["/boot"] except KeyError: # Try / if we don't have this we're not going to work - device = self.storage.fsset.rootDevice + device = self.storage.rootDevice retval.append(device.path) else: @@ -45,14 +45,14 @@ class ppcBootloaderInfo(bootloaderInfo): yabootTarget = string.join(self.getBootDevs(bl)) try: - bootDev = self.storage.fsset.mountpoints["/boot"] + bootDev = self.storage.mountpoints["/boot"] cf = "/boot/etc/yaboot.conf" cfPath = "" if not os.path.isdir(instRoot + "/boot/etc"): os.mkdir(instRoot + "/boot/etc") except KeyError: - bootDev = self.storage.fsset.rootDevice + bootDev = self.storage.rootDevice cfPath = "/boot" cf = "/etc/yaboot.conf" @@ -101,7 +101,7 @@ class ppcBootloaderInfo(bootloaderInfo): f.write("\n") - rootDev = self.storage.fsset.rootDevice + rootDev = self.storage.rootDevice for (label, longlabel, version) in kernelList: kernelTag = "-" + version diff --git a/booty/s390.py b/booty/s390.py index a60811d..39a57d4 100644 --- a/booty/s390.py +++ b/booty/s390.py @@ -25,7 +25,7 @@ class s390BootloaderInfo(bootloaderInfo): if not os.access(instRoot + sl.getPath(), os.R_OK): lilo.delImage(label) - rootDev = self.storage.fsset.rootDevice + rootDev = self.storage.rootDevice if rootDev.name == defaultDev.name: lilo.addEntry("default", kernelList[0][0]) @@ -117,7 +117,7 @@ class s390BootloaderInfo(bootloaderInfo): def writeZipl(self, instRoot, bl, kernelList, chainList, defaultDev, justConfigFile): - rootDev = self.storage.fsset.rootDevice + rootDev = self.storage.rootDevice cf = '/etc/zipl.conf' self.perms = 0600 diff --git a/booty/sparc.py b/booty/sparc.py index 45d58c4..22c4ab8 100644 --- a/booty/sparc.py +++ b/booty/sparc.py @@ -8,7 +8,7 @@ class sparcBootloaderInfo(bootloaderInfo): chainList, defaultDev, justConfigFile): try: - bootDev = self.storage.fsset.mountpoints["/boot"] + bootDev = self.storage.mountpoints["/boot"] mf = '/silo.message' cf = "/boot/silo.conf" @@ -17,7 +17,7 @@ class sparcBootloaderInfo(bootloaderInfo): if not os.path.isdir(instRoot + "/boot"): os.mkdir(instRoot + "/boot") except KeyError: - bootDev = self.storage.fsset.rootDevice + bootDev = self.storage.rootDevice cf = "/etc/silo.conf" mfdir = '/etc' @@ -46,7 +46,7 @@ class sparcBootloaderInfo(bootloaderInfo): f.write("default=%s\n" % (kernelList[0][0],)) f.write("\n") - rootDev = self.storage.fsset.rootDevice + rootDev = self.storage.rootDevice for (label, longlabel, version) in kernelList: kernelTag = "-" + version diff --git a/booty/x86.py b/booty/x86.py index 5e02f3d..d6a7cc2 100644 --- a/booty/x86.py +++ b/booty/x86.py @@ -134,7 +134,7 @@ class x86BootloaderInfo(efiBootloaderInfo): def writeGrub(self, instRoot, bl, kernelList, chainList, defaultDev, justConfigFile): - rootDev = self.storage.fsset.rootDevice + rootDev = self.storage.rootDevice # XXX old config file should be read here for upgrade @@ -166,7 +166,7 @@ class x86BootloaderInfo(efiBootloaderInfo): "after making changes to this file\n") try: - bootDev = self.storage.fsset.mountpoints["/boot"] + bootDev = self.storage.mountpoints["/boot"] grubPath = "/grub" cfPath = "/" f.write("# NOTICE: You have a /boot partition. This means " @@ -174,7 +174,7 @@ class x86BootloaderInfo(efiBootloaderInfo): f.write("# all kernel and initrd paths are relative " "to /boot/, eg.\n") except KeyError: - bootDev = self.storage.fsset.rootDevice + bootDev = self.storage.rootDevice grubPath = "/boot/grub" cfPath = "/boot/" f.write("# NOTICE: You do not have a /boot partition. " @@ -482,11 +482,11 @@ class x86BootloaderInfo(efiBootloaderInfo): # so we have to do shenanigans to get updated grub installed... # steal some more code above try: - bootDev = self.storage.fsset.mountpoints["/boot"].name + bootDev = self.storage.mountpoints["/boot"].name grubPath = "/grub" cfPath = "/" except KeyError: - bootDev = self.storage.fsset.rootDevice.name + bootDev = self.storage.rootDevice.name grubPath = "/boot/grub" cfPath = "/boot/" diff --git a/installmethod.py b/installmethod.py index c412c94..0550bd4 100644 --- a/installmethod.py +++ b/installmethod.py @@ -47,7 +47,7 @@ def doMethodComplete(anaconda): dev.eject() mtab = "/dev/root / ext3 ro 0 0\n" - rootDevice = anaconda.id.storage.fsset.rootDevice + rootDevice = anaconda.id.storage.rootDevice if rootDevice: mtab = "/dev/root / %s ro 0 0\n" % rootDevice.format.type diff --git a/iw/osbootwidget.py b/iw/osbootwidget.py index c70118f..2f066da 100644 --- a/iw/osbootwidget.py +++ b/iw/osbootwidget.py @@ -361,7 +361,7 @@ class OSBootWidget: continue isRoot = 0 - rootDev = self.storage.fsset.rootDevice + rootDev = self.storage.rootDevice if rootDev and rootDev.name == dev: isRoot = 1 diff --git a/iw/upgrade_migratefs_gui.py b/iw/upgrade_migratefs_gui.py index 428ead2..8a3ac96 100644 --- a/iw/upgrade_migratefs_gui.py +++ b/iw/upgrade_migratefs_gui.py @@ -61,8 +61,7 @@ class UpgradeMigrateFSWindow (InstallWindow): def getScreen (self, anaconda): self.devicetree = anaconda.id.storage.devicetree - self.fsset = anaconda.id.storage.fsset - self.migent = self.fsset.migratableDevices + self.migent = anaconda.id.storage.migratableDevices box = gtk.VBox (False, 5) box.set_border_width (5) diff --git a/iw/upgrade_swap_gui.py b/iw/upgrade_swap_gui.py index 5197d9e..247137b 100644 --- a/iw/upgrade_swap_gui.py +++ b/iw/upgrade_swap_gui.py @@ -66,7 +66,7 @@ class UpgradeSwapWindow (InstallWindow): else: if flags.setupFilesystems: - self.fsset.createSwapFile(self.instPath, dev, val) + self.storage.createSwapFile(dev, val) self.dispatch.skipStep("addswap", 1) return None @@ -79,8 +79,7 @@ class UpgradeSwapWindow (InstallWindow): def getScreen (self, anaconda): self.neededSwap = 0 - self.fsset = anaconda.id.storage.fsset - self.instPath = anaconda.rootPath + self.storage = anaconda.id.storage self.intf = anaconda.intf self.dispatch = anaconda.dispatch diff --git a/kickstart.py b/kickstart.py index a8798fd..0875568 100644 --- a/kickstart.py +++ b/kickstart.py @@ -435,7 +435,7 @@ class LogVol(commands.logvol.F9_LogVol): # old one. try: if lvd.mountpoint: - device = storage.fsset.mountpoints[lvd.mountpoint] + device = storage.mountpoints[lvd.mountpoint] storage.destroyDevice(device) except KeyError: pass @@ -683,7 +683,7 @@ class Partition(commands.partition.F11_Partition): # old one. try: if pd.mountpoint: - device = storage.fsset.mountpoints[pd.mountpoint] + device = storage.mountpoints[pd.mountpoint] storage.destroyDevice(device) except KeyError: pass @@ -819,7 +819,7 @@ class Raid(commands.raid.F9_Raid): # old one. try: if rd.mountpoint: - device = storage.fsset.mountpoints[rd.mountpoint] + device = storage.mountpoints[rd.mountpoint] storage.destroyDevice(device) except KeyError: pass diff --git a/livecd.py b/livecd.py index 9d60efc..73c075c 100644 --- a/livecd.py +++ b/livecd.py @@ -151,8 +151,7 @@ class LiveCDCopyBackend(backend.AnacondaBackend): def postAction(self, anaconda): self._unmountNonFstabDirs(anaconda) try: - anaconda.id.storage.fsset.umountFilesystems(anaconda.rootPath, - swapoff = False) + anaconda.id.storage.umountFilesystems(swapoff = False) os.rmdir(anaconda.rootPath) except Exception, e: log.error("Unable to unmount filesystems: %s" % e) @@ -161,8 +160,7 @@ class LiveCDCopyBackend(backend.AnacondaBackend): if anaconda.dir == DISPATCH_BACK: self._unmountNonFstabDirs(anaconda) return - anaconda.id.storage.fsset.umountFilesystems(anaconda.rootPath, - swapoff = False) + anaconda.id.storage.umountFilesystems(swapoff = False) def doInstall(self, anaconda): log.info("Preparing to install packages") @@ -177,7 +175,7 @@ class LiveCDCopyBackend(backend.AnacondaBackend): osimg = self._getLiveBlockDevice() # the real image osfd = os.open(osimg, os.O_RDONLY) - rootDevice = anaconda.id.storage.fsset.rootDevice + rootDevice = anaconda.id.storage.rootDevice rootDevice.setup() rootfd = os.open(rootDevice.path, os.O_WRONLY) @@ -227,10 +225,10 @@ class LiveCDCopyBackend(backend.AnacondaBackend): self._resizeRootfs(anaconda, wait) # remount filesystems - anaconda.id.storage.fsset.mountFilesystems(anaconda) + anaconda.id.storage.mountFilesystems() # restore the label of / to what we think it is - rootDevice = anaconda.id.storage.fsset.rootDevice + rootDevice = anaconda.id.storage.rootDevice rootDevice.setup() # ensure we have a random UUID on the rootfs # FIXME: this should be abstracted per filesystem type @@ -257,8 +255,8 @@ class LiveCDCopyBackend(backend.AnacondaBackend): # now create a tree so that we know what's mounted under where fsdict = {"/": []} - for mount in sorted(anaconda.id.storage.fsset.mountpoints.keys()): - entry = anaconda.id.storage.fsset.mountpoints[mount] + for mount in sorted(anaconda.id.storage.mountpoints.keys()): + entry = anaconda.id.storage.mountpoints[mount] tocopy = entry.format.mountpoint if tocopy.startswith("/mnt") or tocopy == "swap": continue @@ -277,7 +275,7 @@ class LiveCDCopyBackend(backend.AnacondaBackend): continue copied.append(tocopy) copied.extend(map(lambda x: x.format.mountpoint, fsdict[tocopy])) - entry = anaconda.id.storage.fsset.mountpoints[tocopy] + entry = anaconda.id.storage.mountpoints[tocopy] # FIXME: all calls to wait.refresh() are kind of a hack... we # should do better about not doing blocking things in the @@ -321,7 +319,7 @@ class LiveCDCopyBackend(backend.AnacondaBackend): def _resizeRootfs(self, anaconda, win = None): log.info("going to do resize") - rootDevice = anaconda.id.storage.fsset.rootDevice + rootDevice = anaconda.id.storage.rootDevice # FIXME: we'd like to have progress here to give an idea of # how long it will take. or at least, to give an indefinite @@ -364,7 +362,7 @@ class LiveCDCopyBackend(backend.AnacondaBackend): # now write out the "real" fstab and mtab anaconda.id.storage.write(anaconda.rootPath) f = open(anaconda.rootPath + "/etc/mtab", "w+") - f.write(anaconda.id.storage.fsset.mtab()) + f.write(anaconda.id.storage.mtab) f.close() # copy over the modprobe.conf @@ -393,7 +391,7 @@ class LiveCDCopyBackend(backend.AnacondaBackend): # FIXME: really, this should be in the general sanity checking, but # trying to weave that in is a little tricky at present. ossize = self._getLiveSizeMB() - slash = anaconda.id.storage.fsset.rootDevice + slash = anaconda.id.storage.rootDevice if slash.size < ossize: rc = anaconda.intf.messageWindow(_("Error"), _("The root filesystem you created is " diff --git a/network.py b/network.py index db14e3a..104e420 100644 --- a/network.py +++ b/network.py @@ -586,7 +586,7 @@ class Network: # installation when / is on a network backed device. if anaconda is not None: import storage - rootdev = anaconda.id.storage.fsset.rootDevice + rootdev = anaconda.id.storage.rootDevice # FIXME: use device.host_address to only add "NM_CONTROLLED=no" # for interfaces actually used enroute to the device for d in anaconda.id.storage.devices: diff --git a/packages.py b/packages.py index dda98c4..960a0af 100644 --- a/packages.py +++ b/packages.py @@ -94,7 +94,7 @@ def turnOnFilesystems(anaconda): if anaconda.dir == DISPATCH_BACK: if not anaconda.id.upgrade: log.info("unmounting filesystems") - anaconda.id.storage.fsset.umountFilesystems(anaconda.rootPath) + anaconda.id.storage.umountFilesystems() return DISPATCH_NOOP if flags.setupFilesystems: @@ -109,7 +109,7 @@ def turnOnFilesystems(anaconda): upgrade_migrate = False if anaconda.id.upgrade: - for d in anaconda.id.storage.fsset.migratableDevices: + for d in anaconda.id.storage.migratableDevices: if d.format.migrate: upgrade_migrate = True @@ -193,11 +193,10 @@ def turnOnFilesystems(anaconda): sys.exit(1) if not anaconda.id.upgrade: - anaconda.id.storage.fsset.turnOnSwap(anaconda) - anaconda.id.storage.fsset.mountFilesystems(anaconda, - raiseErrors=False, - readOnly=False, - skipRoot=anaconda.backend.skipFormatRoot) + anaconda.id.storage.turnOnSwap() + anaconda.id.storage.mountFilesystems(raiseErrors=False, + readOnly=False, + skipRoot=anaconda.backend.skipFormatRoot) else: if upgrade_migrate: # we should write out a new fstab with the migrated fstype diff --git a/platform.py b/platform.py index 122984e..072efe5 100644 --- a/platform.py +++ b/platform.py @@ -127,7 +127,7 @@ class Platform(object): errors.append(_("Bootable partitions cannot be on an %s filesystem.") % req.format.name) # vfat /boot is insane. - if req == self.anaconda.id.storage.fsset.rootDevice and req.format.type == "vfat": + if req == self.anaconda.id.storage.rootDevice and req.format.type == "vfat": errors.append(_("Bootable partitions cannot be on an %s filesystem.") % req.format.type) if req.type == "luks/dm-crypt": diff --git a/rescue.py b/rescue.py index 9dafec0..b6e6c10 100644 --- a/rescue.py +++ b/rescue.py @@ -117,7 +117,7 @@ class RescueInterface: # XXX grub-install is stupid and uses df output to figure out # things when installing grub. make /etc/mtab be at least # moderately useful. -def makeMtab(instPath, fsset): +def makeMtab(instPath, storage): try: f = open(instPath + "/etc/mtab", "w+") except IOError, e: @@ -125,7 +125,7 @@ def makeMtab(instPath, fsset): return try: - f.write(fsset.mtab()) + f.write(storage.mtab) finally: f.close() @@ -366,7 +366,7 @@ def runRescue(anaconda, instClass): # now turn on swap if not readOnly: try: - anaconda.id.storage.fsset.turnOnSwap(anaconda) + anaconda.id.storage.turnOnSwap() except: log.error("Error enabling swap") @@ -453,7 +453,7 @@ def runRescue(anaconda, instClass): msgStr = "" if rootmounted and not readOnly: - makeMtab(anaconda.rootPath, anaconda.id.storage.fsset) + makeMtab(anaconda.rootPath, anaconda.id.storage) try: makeResolvConf(anaconda.rootPath) except Exception, e: diff --git a/storage/__init__.py b/storage/__init__.py index 0f3efdb..494bef0 100644 --- a/storage/__init__.py +++ b/storage/__init__.py @@ -805,7 +805,7 @@ class Storage(object): mustbeonlinuxfs = ['/', '/var', '/tmp', '/usr', '/home', '/usr/share', '/usr/lib'] mustbeonroot = ['/bin','/dev','/sbin','/etc','/lib','/root', '/mnt', 'lost+found', '/proc'] - filesystems = self.fsset.mountpoints + filesystems = self.mountpoints root = self.fsset.rootDevice swaps = self.fsset.swapDevices try: @@ -988,6 +988,45 @@ class Storage(object): self.fcoe.writeKS(f) self.zfcp.writeKS(f) + def turnOnSwap(self, upgrading=None): + self.fsset.turnOnSwap(self.anaconda, upgrading=upgrading) + + def mountFilesystems(self, raiseErrors=None, readOnly=None, skipRoot=False): + self.fsset.mountFilesystems(self.anaconda, raiseErrors=raiseErrors, + readOnly=readOnly, skipRoot=skipRoot) + + def umountFilesystems(self, ignoreErrors=True, swapoff=True): + self.fsset.umountFilesystems(ignoreErrors=ignoreErrors, swapoff=swapoff) + + def parseFSTab(self): + self.fsset.parseFSTab() + + def mkDevRoot(self): + self.fsset.mkDevRoot() + + def createSwapFile(self, device, size): + self.fsset.createSwapFile(device, size) + + @property + def fsFreeSpace(self): + return self.fsset.fsFreeSpace() + + @property + def mtab(self): + return self.fsset.mtab() + + @property + def mountpoints(self): + return self.fsset.mountpoints + + @property + def migratableDevices(self): + return self.fsset.migratableDevices + + @property + def rootDevice(self): + return self.fsset.rootDevice + def getReleaseString(mountpoint): relName = None @@ -1079,7 +1118,7 @@ def mountExistingSystem(anaconda, rootEnt, mountpoint="/", options=readOnly) - fsset.parseFSTab(chroot=rootPath) + fsset.parseFSTab() # check for dirty filesystems dirtyDevs = [] @@ -1415,7 +1454,7 @@ class FSSet(object): return device - def parseFSTab(self, chroot=""): + def parseFSTab(self, chroot=self.rootpath): """ parse /etc/fstab preconditions: @@ -1497,7 +1536,7 @@ class FSSet(object): # just write duplicates back out post-install self.preserveLines.append(line) - def fsFreeSpace(self, chroot='/'): + def fsFreeSpace(self, chroot=self.rootpath): space = [] for device in self.devices: if not device.format.mountable or \ @@ -1708,7 +1747,7 @@ class FSSet(object): self.active = True - def umountFilesystems(self, instPath, ignoreErrors=True, swapoff=True): + def umountFilesystems(self, ignoreErrors=True, swapoff=True): devices = self.mountpoints.values() + self.swapDevices devices.extend([self.dev, self.devshm, self.devpts, self.sysfs, self.proc]) devices.sort(key=lambda d: getattr(d.format, "mountpoint", None)) @@ -1723,7 +1762,7 @@ class FSSet(object): self.active = False - def createSwapFile(self, rootPath, device, size): + def createSwapFile(self, rootPath=self.rootpath, device, size): """ Create and activate a swap file under rootPath. """ filename = "/SWAP" count = 0 @@ -1746,7 +1785,7 @@ class FSSet(object): # nasty, nasty self.devicetree._addDevice(dev) - def mkDevRoot(self, instPath): + def mkDevRoot(self, instPath=self.rootpath): root = self.rootDevice dev = "%s/%s" % (instPath, root.path) if not os.path.exists("%s/dev/root" %(instPath,)) and os.path.exists(dev): @@ -1782,7 +1821,7 @@ class FSSet(object): return migratable - def write(self, instPath): + def write(self, instPath=self.rootpath): """ write out all config files based on the set of filesystems """ # /etc/fstab fstab_path = os.path.normpath("%s/etc/fstab" % instPath) diff --git a/storage/iscsi.py b/storage/iscsi.py index 974fc89..75d3d02 100644 --- a/storage/iscsi.py +++ b/storage/iscsi.py @@ -264,7 +264,7 @@ class iscsi(object): return if not flags.test: - root = anaconda.id.storage.fsset.rootDevice + root = anaconda.id.storage.rootDevice # set iscsi nodes to autostart for node in self.nodes: diff --git a/textw/upgrade_text.py b/textw/upgrade_text.py index 17e3236..77993bb 100644 --- a/textw/upgrade_text.py +++ b/textw/upgrade_text.py @@ -31,7 +31,7 @@ _ = lambda x: gettext.ldgettext("anaconda", x) class UpgradeMigrateFSWindow: def __call__ (self, screen, anaconda): - migent = anaconda.id.storage.fsset.migratableDevices + migent = anaconda.id.storage.migratableDevices g = GridFormHelp(screen, _("Migrate File Systems"), "upmigfs", 1, 4) @@ -190,7 +190,7 @@ class UpgradeSwapWindow: else: screen.popWindow() if flags.setupFilesystems: - anaconda.id.storage.fsset.createSwapFile(anaconda.rootPath, dev, val) + anaconda.id.storage.createSwapFile(dev, val) anaconda.dispatch.skipStep("addswap", 1) return INSTALL_OK diff --git a/upgrade.py b/upgrade.py index 826419c..c751533 100644 --- a/upgrade.py +++ b/upgrade.py @@ -108,7 +108,7 @@ def bindMountDevDirectory(instPath): # returns None if no filesystem exist to migrate def upgradeMigrateFind(anaconda): - migents = anaconda.id.storage.fsset.migratableDevices + migents = anaconda.id.storage.migratableDevices if not migents or len(migents) < 1: anaconda.dispatch.skipStep("upgrademigratefs") else: @@ -254,10 +254,10 @@ def upgradeMountFilesystems(anaconda): type="ok") return DISPATCH_BACK - anaconda.id.storage.fsset.parseFSTab(chroot=anaconda.rootPath) + anaconda.id.storage.parseFSTab() if flags.setupFilesystems: - anaconda.id.storage.fsset.turnOnSwap(anaconda, upgrading=True) - anaconda.id.storage.fsset.mkDevRoot(anaconda.rootPath) + anaconda.id.storage.turnOnSwap(upgrading=True) + anaconda.id.storage.mkDevRoot() # Move /etc/rpm/platform out of the way. if os.path.exists(anaconda.rootPath + "/etc/rpm/platform"): diff --git a/yuminstall.py b/yuminstall.py index 20a3085..b247b52 100644 --- a/yuminstall.py +++ b/yuminstall.py @@ -819,7 +819,7 @@ class AnacondaYum(YumSorter): if len(mkeys) > 1: stage2img = "%s/images/install.img" % self.tree if self.anaconda.backend.mountInstallImage(self.anaconda, stage2img): - self.anaconda.id.storage.fsset.umountFilesystems(self.anaconda.rootPath) + self.anaconda.id.storage.umountFilesystems() return DISPATCH_BACK for i in mkeys: @@ -1350,7 +1350,7 @@ reposdir=/etc/anaconda.repos.d,/tmp/updates/anaconda.repos.d,/tmp/product/anacon (self.dlpkgs, self.totalSize, self.totalFiles) = self.ayum.getDownloadPkgs() if not anaconda.id.getUpgrade(): - largePart = anaconda.id.storage.fsset.mountpoints.get("/usr", anaconda.id.storage.fsset.rootDevice) + largePart = anaconda.id.storage.mountpoints.get("/usr", anaconda.id.storage.rootDevice) if largePart and largePart.size < self.totalSize / 1024: rc = anaconda.intf.messageWindow(_("Error"), @@ -1488,7 +1488,7 @@ reposdir=/etc/anaconda.repos.d,/tmp/updates/anaconda.repos.d,/tmp/product/anacon # make a /etc/mtab so mkinitrd can handle certain hw (usb) correctly f = open(anaconda.rootPath + "/etc/mtab", "w+") - f.write(anaconda.id.storage.fsset.mtab()) + f.write(anaconda.id.storage.mtab) f.close() def checkSupportedUpgrade(self, anaconda): -- 1.6.2.5 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list