Problem Description ----------------------------- Installation fails on EDEV (Emulated FBA) device uname output --------------------- 3.3.0-0.20.el7 Machine Type = 2817 ---Steps to Reproduce--- 1. Apply the parted patches from LTC bug # 84317 and 84318 Bug 84318 - RH707032- Installation on EAV DASD failed Bug 84317 - RH707027 - RFE: Installation on Z/VM EDEV failed during format 2. Try installing on EDEV device 3. Installation fails because of Anaconda changes from RHEL6 to RHEL7, particularly the disk initiation code. Install method: nfs/http Install disk info: Disk Type is: Emulated FBA device == Comment: #3 - NAGESWARA R. SASTRY <nasastry.com> - 2012-12-07 05:43:56 == 1. What is EDEV device: Fixed Block Access (FBA) DASDs are mainframe-specific disk devices which are layed out as a sequence of 512-byte sectors. In contrast to ECKD DASDs, these disks do not require formatting and resemble the LBA layout of non-mainframe disks. Despite this resemblance, the Linux kernel applies special handling during partition detection for FBA DASDs, resulting in a single, immutable partition being reported. While actual FBA DASD hardware is no longer available, the z/VM hypervisor can simulate FBA DASD disks, backed by either ECKD or SCSI devices. 2. How does installation fail Anaconda knows about how to handle DASD devices but not the FBA devices. So the installation fails at partitioning the device. 3. Why does it fail Because of the device initialization code changes happened in between Anaconda-13.21 - Anaconda-18.19 4. How does this patch solve this problem. The attached patch 'Anaconda-18.29-1-support-for-edev-device.patch', identifies the implicit partitions with the help of 'parted, pyparted' changes. This proper identification of implicit partitions will help in successful installation on that device.
Created attachment 661297 [details] Anaconda-18.29-1-support-for-edev-device.patch
*** Bug 708145 has been marked as a duplicate of this bug. ***
. Bug #885957 is where the action is for this issue now, marking it as a dupe. *** This bug has been marked as a duplicate of bug 885957 ***
------- Comment From brueckner.com 2013-03-15 11:51 EDT------- *** Bug 87794 has been marked as a duplicate of this bug. ***
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle. Changing version to '19'. (As we did not run this process for some time, it could affect also pre-Fedora 19 development cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.) More information and reason for this action is here: https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19
Created attachment 753241 [details] potential fix Hi Georg, I never had much luck testing this myself and would really appreciate you testing this out and verifying EDEV installations now work before I push the patches to f19-branch. The latest F19 compose for s390x can be found here: http://s390.koji.fedoraproject.org/test/20130520/ I'm attaching the updates.img with patches.
------- Comment From mgrf.com 2013-05-27 07:50 EDT------- Nageswara, the fixes are now (completely) prepared for F19 -> please verify from link in previous # and provide test feedback that Semantha can check them in for F19 Thanks in advance
------- Comment From mgrf.com 2013-05-28 10:38 EDT------- (In reply to comment #11) > Created attachment 79883 [details] potential fix > > -- Comment on attachment From sbueno 2013-05-26 01:31:24 > EDT------- > > Hi Georg, > > I never had much luck testing this myself and would really appreciate you > testing this out and verifying EDEV installations now work before I push the > patches to f19-branch. > > The latest F19 compose for s390x can be found here: > http://s390.koji.fedoraproject.org/test/20130520/ > > I'm attaching the updates.img with patches. Samantha, the feedback from the tests ... The F19 compose on above link does not contain all patches for EDEV, EAV and no install on DASD is possible - without the compose install is possible Summary for F19 compose: python-blivet earlier anaconda - only few chunks of the patch is available in 'updates.img' pyparted-3.9-2.fc19.src.rpm - does not contain the patch (pyparted-3.8-add-ped-disk-new.patch) provided by us. And the same is missing in 'updates.img' too. parted-3.1-12.fc19.src.rpm - contains all the patches provided by us. Detail: From the Anaconda patch the following chunks/parts are missing in the updates.img. Compared the patch provided by us and updates.img's - 'blivet'[1] code. [1] Earlier in Fedora18 the following code was part of 'Anaconda rpm' but now in Fedora19 this portion of the code is in a package named 'python-blivet-0.14-1.fc19'. --- a/pyanaconda/storage/__init__.py +++ b/pyanaconda/storage/__init__.py @@ -841,8 +841,10 @@ class Storage(object): # disk. Still, we need it out of the devicetree. self.devicetree._removeDevice(part, moddisk=False) - if disk.partitioned and disk.format.partitions: - raise ValueError("cannot initialize a disk that has partitions") + # Do not remove partition from LDL formatted + if not disk.format.isLDL(): + if disk.partitioned and disk.format.partitions: + raise ValueError("cannot initialize a disk that has partitions") # remove existing formatting from the disk destroy_action = ActionDestroyFormat(disk) --- a/pyanaconda/storage/devices.py +++ b/pyanaconda/storage/devices.py @@ -1453,14 +1453,17 @@ class PartitionDevice(StorageDevice): def _create(self): """ Create the device. """ log_method_call(self, self.name, status=self.status) - self.disk.format.addPartition(self.partedPartition) - try: - self.disk.format.commit() - except DiskLabelCommitError: - part = self.disk.format.partedDisk.getPartitionByPath(self.path) - self.disk.format.removePartition(part) - raise + # Do not create partition on LDL formatted + if not self.disk.format.isLDL(): + self.disk.format.addPartition(self.partedPartition) + + try: + self.disk.format.commit() + except DiskLabelCommitError: + part = self.disk.format.partedDisk.getPartitionByPath(self.path) + self.disk.format.removePartition(part) + raise def _postCreate(self): if self.isExtended: --- a/pyanaconda/storage/formats/disklabel.py +++ b/pyanaconda/storage/formats/disklabel.py ... + + def isLDL(self): + """ Return True for LDL formatted disk. """ + log_method_call(self, device=self.device) + if (self._labelType == "dasd" and self.partedDisk.maxPrimaryPartitionCount == 1): + return True + else: + return False + ... + elif self.isLDL(): + return 1 ...
------- Comment From mgrf.com 2013-05-28 11:54 EDT------- Regarding fixes in pyparted I just recognize that should be fixed with pyparted-3.10-1.fc19 For details see this BZ in modified state 87249 - 886033 - [pyparted] installation on EDEV device fails Why is pyparted 3.10 not yet in F19 while the BZ is in state modified?
(In reply to IBM Bug Proxy from comment #9) > ------- Comment From mgrf.com 2013-05-28 11:54 EDT------- > Regarding fixes in pyparted > > I just recognize that should be fixed with pyparted-3.10-1.fc19 > For details see this BZ in modified state > 87249 - 886033 - [pyparted] installation on EDEV device fails > > Why is pyparted 3.10 not yet in F19 while the BZ is in state modified? Seems David forgot to file an update, he is doing it now. I will include the new package in the next compose manually.
Created attachment 754059 [details] updates.img w/all patches (In reply to IBM Bug Proxy from comment #9) > ------- Comment From mgrf.com 2013-05-28 11:54 EDT------- > Regarding fixes in pyparted > > I just recognize that should be fixed with pyparted-3.10-1.fc19 > For details see this BZ in modified state > 87249 - 886033 - [pyparted] installation on EDEV device fails > > Why is pyparted 3.10 not yet in F19 while the BZ is in state modified? Sorry about that--it was intended to be updated when the state changed, but it was forgotten. It looks like the new pyparted was submitted today though. Also, I apologize if this is old/common knowledge and am repeating what everyone already knows: python-blivet contains all storage-related code and was split out of anaconda post-F18. The reason some of the code from the patches provided early on in this bug do not show up in anaconda is because the patches now apply to the piece(s) of anaconda code that was split out into the python-blivet package. Also, I had to do some refactoring of the patches to apply them cleanly to python-blivet. I did my best to maintain the original integrity of the patches though. That said, apologies for not looking over the patches again more closely--when I originally worked on this against anaconda-13.21.x, there was already a function in anaconda to check if something was LDL formatted, so I relied on that instead of defining it again (like in the patches). However, I neglected to notice (in a vastly different anaconda-19.28) that this function no longer existed....oops. That has been remedied now. So, the updates.img I'm attaching again should now be complete.
------- Comment From nasastry.com 2013-05-29 05:31 EDT------- > Created attachment 79939 [details] > updates.img w/all patches I can see only blivet patches in the updates.img. So assuming all patches means all Anaconda/blivet patches. > Also, I had to do some refactoring of the patches to apply them cleanly to > python-blivet. I did my best to maintain the original integrity of the > patches though. Thanks for the manual work. > So, the updates.img I'm attaching again should now be complete. Still one more chunk is missing Missing chunk from Anaconda patch submitted by IBM. ... return 1 elif self.labelType == "sun": return 3 + elif self.isLDL(): + return 1 else: return 0 ... The above chunk should be applied to the file named "formats/disklabel.py" at following function 458 def magicPartitionNumber(self): 459 """ Number of disklabel-type-specific special partition. """ 460 if self.labelType == "mac": 461 return 1 462 elif self.labelType == "sun": 463 return 3 464 else: 465 return 0 At this moment I can not test the updates.img due to 1. the above missing code chunk 2. pyparted up to date package is not yet available to us Testing can be done if the following is available in updates.img Option 1: 1. addition of the missing code chunk 2. create updates.img with pyparted files also Option 2: 1. addition of the missing code chunk to updates.img and will wait for the availability of pyparted-3.10-1.fc19 in the repository. Option 2 might take couple of days based on availability of the pyparted package. Thanks!!
Created attachment 754418 [details] new updates All right, trying again. :)
(In reply to IBM Bug Proxy from comment #12) > ------- Comment From nasastry.com 2013-05-29 05:31 EDT------- > > Created attachment 79939 [details] > > updates.img w/all patches > I can see only blivet patches in the updates.img. So assuming all patches > means all Anaconda/blivet patches. I meant to respond to this when I posted the updates image in comment 13--yep, the patches all affected the python-blivet package. For reference, the patched files in question are: blivet/__init__.py blivet/devices.py blivet/formats/disklabel.py blivet/partitioning.py > Missing chunk from Anaconda patch submitted by IBM. > ... Sigh, sorry again. Should be in the updates.img above though. Dan Horak mentioned in our meeting that he made a compose yesterday: http://s390.koji.fedoraproject.org/test/20130528/ That should include the latest pyparted. So, we are ready to test now.
------- Comment From mgrf.com 2013-06-04 05:51 EDT------- .. and test feedback based on 5-28 compose/build 1) EAV installation went well 2) EDEV install hits two known problems 2a) BZ 87306 - RH891267 Free space is not matching the expectation for implicit partition disks => requested input is in work now - BZ will be updated 2b) zIPL 1.20 as included per s390tools/utils 1.20 requires a fix for EDEV install, that is upstream with s390tools 1.21 => need to check out the related BZ - will post here soon
------- Comment From mgrf.com 2013-06-04 09:02 EDT------- Just for the record: The test scenarios are the following Each install to be tested with "Standard partition" and " LVM" Installs: EAV - meta-data cleared disk EDEV - meta-data cleared disk EAV - already installed disk EDEV - already installed disk
Great--thanks a lot for testing, Georg. So, it appears that installation is fine, minus the two noted EDEV issues, which appear not directly related to the patches in the updates.img. I'm going to go ahead and post the blivet patches then.
Hi Georg, The patches have received some feedback that I believe should be taken into consideration. Perhaps you and/or Nageswara can take a look and make some amendments? https://lists.fedorahosted.org/pipermail/anaconda-patches/2013-June/004428.html
------- Comment From nasastry.com 2013-06-10 10:40 EDT------- (In reply to comment #23) > The patches have received some feedback that I believe should be taken into > consideration. Perhaps you and/or Nageswara can take a look and make some > amendments? Please find reply at https://lists.fedorahosted.org/pipermail/anaconda-patches/2013-June/004480.html Thanks!!
------- Comment From nasastry.com 2013-06-21 08:30 EDT------- (In reply to comment #24) > Please find reply at > https://lists.fedorahosted.org/pipermail/anaconda-patches/2013-June/004480. > html Hello RedHat, Any updates?? Thanks!!
Created attachment 815711 [details] blivet patch for installation support of EDEV device. ------- Comment (attachment only) From nasastry.com 2013-10-24 09:19 EDT-------
Created attachment 815712 [details] parted patch for fixing FBA realted initialization problem and partition re-read issue. ------- Comment (attachment only) From nasastry.com 2013-10-24 09:19 EDT-------
------- Comment From nasastry.com 2013-10-24 09:25 EDT------- The attached patches namely blivet-0.17-support-for-edev-device.patch parted-3.1-fba-initialization-partition-reread.patch Tested with Fedora19 with EDEV device and EAV device. Test scenarios covered are, The following scenarios done with LVM and Standard partition 1. Fresh EDEV device 2. Installed EDEV device 3. Fresh EAV device 4. Installed EAV device 5. EDEV, EAV disks together with LVM Patches will be posted to the respective community mailing lists. Thanks!!
Created attachment 817794 [details] blivet patch for installation support of EDEV device. ------- Comment on attachment From nasastry.com 2013-10-31 09:53 EDT------- After doing the parted related changes the following code chunk is not required so removed in this version of the patch. @@ -291,7 +305,10 @@ class DiskLabel(DeviceFormat): try: self.partedDisk.commit() except parted.DiskException as msg: - raise DiskLabelCommitError(msg) + if self.isLDL and len(self.partitions) == 1: + pass + else: + raise DiskLabelCommitError(msg) else: self.updateOrigPartedDisk() udev_settle()
Created attachment 817797 [details] parted patch for fixing FBA realted initialization problem and partition re-read issue. ------- Comment on attachment From nasastry.com 2013-10-31 09:56 EDT------- After discussion in the mailing list, fixed the problem in the right place.
This message is a notice that Fedora 19 is now at end of life. Fedora has stopped maintaining and issuing updates for Fedora 19. It is Fedora's policy to close all bug reports from releases that are no longer maintained. Approximately 4 (four) weeks from now this bug will be closed as EOL if it remains open with a Fedora 'version' of '19'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 19 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.