| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is handy for large configurations so you can specify:
clearpart --drives=sda?
Instead of:
clearpart --drives=sdaa,sdab,sdac,sdad,sdae,sdaf,...
All shell globs are supported here, and all the DEVLINKS are checked against
the glob. This means you can use /dev/disk/by-path paths without knowing
the whole big thing.
|
|
|
|
|
|
|
| |
This allows specifying by anything that could be in DEVLINKS, which includes
stuff like UUID a second way, physical device path on the system, serial
number, and perhaps other methods depending on what kinds of devices are
installed. The next step is making this work throughout kickstart.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Similar to what we have to do for zFCP, write /etc/dasd.conf to the
target system for all DASD devices that have been used during
installation. The device address as well as flags that can be set via
sysfs.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream accepted my patch to change rd_DASD to specify a single device.
If multiple devices need to be brought up at boot time, just give
multiple rd_DASD arguments. Syntax is (from dracut.8):
rd_DASD=<CCW address>[,readonly=X][,use_diag=X][,erplog=X][,failfast=X]
The old rd_DASD has been renamed rd_DASD_MOD and is the same syntax as
the dasd kernel module parameter. However, you can only specify a
single rd_DASD_MOD parameter at boot time.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
For each partition, choose the free space region that provides the
greatest amount of combined growth for the partitions allocated up
to that point.
|
|
|
|
|
| |
Use Request and Chunk instances to calculate growth for all partitions,
then recreates and add the partitions to disk with new geometries.
|
|
|
|
|
| |
Once the bits are in pyparted this function can be made to actually
retrieve a meaningful alignment.
|
| |
|
| |
|
|
|
|
|
| |
This also eliminates the need for the min/max constraint when adding
a new partition.
|
| |
|
|
|
|
|
|
| |
For fixed-size requests, choose the smallest suitable region. For
growable requests, choose the largest suitable region. For bootable
requests, as before, choose the first suitable region.
|
|
|
|
| |
Also give a little bump based on mountpoint.
|
| |
|
|
|
|
|
|
| |
Some drivers (cpqarray <blegh>) make block device nodes for
controllers with no disks attached and then report a 0 size,
treat this as no media present.
|
|
|
|
|
|
|
|
|
| |
Make MDRaidArrayDevice.__init__ raise a value exception when creating
a new (so non existing) raid set and there are not enough members for
the requested raid level.
And catch this value exception in the GUI raid dialog and kickstart raid
commands.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since BIOS RAID sets never change there is no need to deactivate them and
later activate them again. This also fixes problems in case the followng
happens:
1) raid sets get activated, pyblock creates device-mappings for partitions on
the set.
2) The partition table changes while exectuing actions
3) the raid sets gets de-activated, because of devicetree.processActions()
tearing down everything in response to a disklabel commit error caused
by lvm or mdraid using a partiton
4) pyblock tries to remove the partition mappings as it has created them,
but the partition table has changed, and when parted commits partition
table changes of a dmraid set to disk, it also modifies the partitions
device-mappings. pyblock tries to remove a non existing mapping ->
backtrace.
|
|
|
|
|
|
| |
Since we are no longer stopping / re-starting mdraid container arrays, we
no longer need the workaround for the mdadm --stop on containers bug
in the MDRaidArrayDevice teardown method.
|
|
|
|
|
|
|
| |
Since BIOS RAID sets (containers in mdraid terminology) never change
there is no need to stop them and later restart them. Not stopping
(and thus also not starting) them also works around bug 523334, which
is the cause of bug 532971.
|
|
|
|
|
| |
This allows us to disregard certain requests when there's not enough
space in the VG for the request to make any sense.
|
| |
|
|
|
|
| |
This prevents LVs from being named things like "lv__home".
|
| |
|
|
|
|
|
| |
stdout echo is on by default, add a parameter that lets us turn that off
if we want to.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following install test case has been failing:
https://fedoraproject.org/wiki/QA:Testcase_Anaconda_autopart_%28shrink%29_install
The problem was with the minSize property in Ext2FS. We use resize2fs
to get the minSize for ext2/3/4 filesystems, which is good because
resize2fs accounts for additional things an extX volume may need. The
problem is the value it reports is in blocks. We have to convert those
blocks to bytes, then to megabytes, then round up to account for any
fractional megabytes. Use dumpe2fs to get the block size and use
resize2fs as we have been, but modify the calculation of size.
Also the _setTargetSize() method in FS needed a change. minSize can be
less than or equal to newsize, not just less than.
|
|
|
|
|
| |
If the user selects Exit Installer, log a message indicating as much and
then exit.
|
|
|
|
|
|
|
|
|
| |
If performing a kickstart install on s390, dasdfmt is only run if:
a) There is a UI available to prompt the user.
b) 'zerombr' is specified in the kickstart file.
The zerombr command will also skip the UI if there is one. The UI
prompt is a fallback.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the device tree is built in the storage code, run through the
DASD devices on the system and format any with a status of
'unformatted'. We have to run dasdfmt on these devices before we can
partition them.
Under RHEL-5, this process was serial and the user had to click Yes for
each unformatted DASD found, which could take a really long time if
you had thousands of DASDs.
The idea now is that if the DASD is seen by anaconda, we want to use it
for installation. The stage 1 device initialization routines as well as
the CMS conf file provided at boot time allow the user to restrict the
range of devices we see during installation. If any of the devices we
see are unformatted, run dasdfmt before building the devicetree.
This process is implemented in a DASD class that works similar to the
iscsi and zfcp classes. That is, devices may need to be started or
brought in to a working state before the anaconda storage code can use
them.
|
|
|
|
|
|
|
| |
As discussed on IRC this changes the platform.diskType property
into a platform.diskLabelType method that takes a disk/device type argument
and uses this argument to check for dasd disks and in that cases returns
dasd as diskLabelType.
|
|
|
|
|
| |
Rename platform.diskType to platform.diskLabelType, as diskType is confusing
(we usally use it to refer to is the disk dasd, iscsi, zfcp, etc.).
|
|
|
|
|
|
|
|
|
|
|
| |
Syntax error with kwargs in DASDDevice. Use kwargs.pop() in both
DASDDevice and ZFCPDiskDevice so DASD or zFCP specific kwargs are not
passed to DiskDevice.__init__().
Remove the incorrect name variable setting in ZFCPDiskDevice.
Change 'devices' to 'device' in udev_device_get_zfcp_attribute() so that
zFCP attributes can be read.
|
| |
|
|
|
|
|
| |
As of now, a udev "add" event on an existing dm device causes the
device node to be removed from the /dev directory, which is bad.
|
|
|
|
|
|
| |
This fixes an inconsistency where /boot could be on various filesystems
during interactive installs, but not during kickstart. What filesystems
are valid is controlled by the Platform module.
|
| |
|
|
|
|
|
| |
Also rewrite getNextPartitionType for clarity so that bugs like this
will be easier to identify and fix in the future.
|
|
|
|
|
|
|
|
| |
If fsck fails with a return code indicating errors we can't
automatically fix, give the user a more descriptive error dialog before
exiting. There's not much we can do if the filesystem is beyond
automatic repair, so tell the user to repair the filesystem under rescue
mode or something similar.
|
|
|
|
|
|
|
| |
Return kernel parameter information for the DASD. NOTE: This is using
the current rd_DASD parameter in dracut, which is just a copy of the
dasd= kernel parameter. Will change this once dracut gets a better
rd_DASD parameter.
|
|
|
|
|
|
|
| |
Expand the DASDDevice class to hold the device bus ID and flags that are
passed at boot time. Add udev functions to return the bus ID and flag
values for DASD devices. When building the device tree, read the DASD
information and pass that to the DASDDevice object.
|
|
|
|
|
|
|
|
|
| |
Collect CCW bus ID, WWPN, and FCP LUN values for zFCP devices when
building the device tree. Store these in the ZFCPDiskDevice object and
use them to generate the rd_ZFCP= string for dracut.
Expand storage/udev.py with functions to determine if a device is zFCP
and to get arbitrary attribute values.
|