文件操作 - rhv.py
返回文件管理
返回主菜单
删除本文件
文件: /usr/lib64/python2.7/site-packages/pyanaconda/installclasses/rhv.py
编辑文件内容
# # rhv.py # # Copyright (C) 2016 Red Hat, Inc. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # from pyanaconda.installclass import BaseInstallClass from pyanaconda.product import productName from pyanaconda import network from pyanaconda import nm from pyanaconda.kickstart import getAvailableDiskSpace from blivet.partspec import PartSpec from blivet.platform import platform from blivet.devicelibs import swap from blivet.size import Size from pykickstart.constants import AUTOPART_TYPE_LVM_THINP from blivet.devicefactory import DEVICE_TYPE_LVM_THINP __all__ = ["OvirtBaseInstallClass", "RHEVInstallClass"] class OvirtBaseInstallClass(BaseInstallClass): name = "oVirt Node Next" sortPriority = 21000 hidden = not productName.startswith("oVirt") efi_dir = "centos" default_autopart_type = AUTOPART_TYPE_LVM_THINP # there is a RHV branded help content variant help_folder = "/usr/share/anaconda/help/rhv" def configure(self, anaconda): BaseInstallClass.configure(self, anaconda) def setNetworkOnbootDefault(self, ksdata): if any(nd.onboot for nd in ksdata.network.network if nd.device): return # choose the device used during installation # (ie for majority of cases the one having the default route) dev = network.default_route_device() or network.default_route_device(family="inet6") if not dev: return # ignore wireless (its ifcfgs would need to be handled differently) if nm.nm_device_type_is_wifi(dev): return network.update_onboot_value(dev, True, ksdata=ksdata) def setDefaultPartitioning(self, storage): autorequests = [PartSpec(mountpoint="/", fstype=storage.defaultFSType, size=Size("6GiB"), thin=True, grow=True, lv=True), PartSpec(mountpoint="/home", fstype=storage.defaultFSType, size=Size("1GiB"), thin=True, lv=True), PartSpec(mountpoint="/tmp", fstype=storage.defaultFSType, size=Size("1GiB"), thin=True, lv=True), PartSpec(mountpoint="/var", fstype=storage.defaultFSType, size=Size("15GiB"), thin=True, lv=True), PartSpec(mountpoint="/var/log", fstype=storage.defaultFSType, size=Size("8GiB"), thin=True, lv=True), PartSpec(mountpoint="/var/log/audit", fstype=storage.defaultFSType, size=Size("2GiB"), thin=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 = Size("1GiB") else: autoreq.fstype = storage.defaultFSType storage.autoPartitionRequests = autorequests def setStorageChecker(self, storage_checker): # / needs to be thin LV storage_checker.add_constraint("root_device_types", { DEVICE_TYPE_LVM_THINP }) # /var must be on a separate LV or partition storage_checker.update_constraint("must_not_be_on_root", { '/var' }) # /var must be at least 10GB, /boot must be at least 1GB storage_checker.update_constraint("req_partition_sizes", { '/var': Size("10 GiB"), '/boot': Size("1 GiB") }) def __init__(self): BaseInstallClass.__init__(self) class RHEVInstallClass(OvirtBaseInstallClass): name = "Red Hat Virtualization" hidden = not productName.startswith( ("RHV", "Red Hat Virtualization") ) efi_dir = "redhat"
修改文件时间
将文件时间修改为当前时间的前一年
删除文件