From 4808f43abc14396add62e9b0a92fbe8cf5b41346 Mon Sep 17 00:00:00 2001 From: Radek Vykydal Date: Tue, 21 Oct 2014 17:46:47 +0200 Subject: [PATCH 30/30] atomic: set up atomic specific partitioning defaults Resolves: rhbz#1155452 /boot will be 300M and / LV will be 3G. LVs for docker will be created by special service using root's VG. --- pyanaconda/installclasses/rhel.py | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/pyanaconda/installclasses/rhel.py b/pyanaconda/installclasses/rhel.py index b7691cf..a9a99f6 100644 --- a/pyanaconda/installclasses/rhel.py +++ b/pyanaconda/installclasses/rhel.py @@ -24,11 +24,15 @@ from pyanaconda import network from pyanaconda import nm from pyanaconda import iutil import types +from pyanaconda.kickstart import getAvailableDiskSpace +from blivet.partspec import PartSpec +from blivet.platform import platform +from blivet.devicelibs import swap class RHELBaseInstallClass(BaseInstallClass): name = "Red Hat Enterprise Linux" sortPriority = 20000 - if not productName.startswith(("Red Hat ", "RHEL Atomic")): + if not productName.startswith("Red Hat "): hidden = True defaultFS = "xfs" @@ -45,7 +49,7 @@ class RHELBaseInstallClass(BaseInstallClass): def configure(self, anaconda): BaseInstallClass.configure(self, anaconda) - BaseInstallClass.setDefaultPartitioning(self, anaconda.storage) + self.setDefaultPartitioning(anaconda.storage) # Set first boot policy regarding ONBOOT value # (i.e. which network devices should be activated automatically after reboot) @@ -84,3 +88,31 @@ class RHELBaseInstallClass(BaseInstallClass): def __init__(self): BaseInstallClass.__init__(self) + +class RHELAtomicInstallClass(RHELBaseInstallClass): + name = "RHEL Atomic Host" + if productName.startswith("RHEL Atomic"): + hidden = False + + def setDefaultPartitioning(self, storage): + autorequests = [PartSpec(mountpoint="/", fstype=storage.defaultFSType, + size=1024, maxSize=3*1024, grow=True, lv=True)] + + bootreqs = platform.setDefaultPartitioning() + if bootreqs: + autorequests.extend(bootreqs) + + disk_space = getAvailableDiskSpace(storage) + swp = swap.swapSuggestion(disk_space=disk_space) + autorequests.append(PartSpec(fstype="swap", size=swp, grow=False, + lv=True, encrypted=True)) + + for autoreq in autorequests: + if autoreq.fstype is None: + if autoreq.mountpoint == "/boot": + autoreq.fstype = storage.defaultBootFSType + autoreq.size = 300 + else: + autoreq.fstype = storage.defaultFSType + + storage.autoPartitionRequests = autorequests -- 1.9.3