Bug 1027376 - installer crashes when presented with overcommitted thin pool
installer crashes when presented with overcommitted thin pool
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: python-blivet (Show other bugs)
All Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: David Lehman
Release Test Team
Depends On: 1024144
  Show dependency treegraph
Reported: 2013-11-06 11:59 EST by David Lehman
Modified: 2014-06-18 00:45 EDT (History)
7 users (show)

See Also:
Fixed In Version: python-blivet-0.18.15-1
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1024144
Last Closed: 2014-06-13 07:10:41 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description David Lehman 2013-11-06 11:59:50 EST
+++ This bug was initially created as a clone of Bug #1024144 +++

Description of problem:
Tried to add a 25gb root thinp LV to existing thinpool, all existing and the new installation listing on the left vanished (totally blank space) and about a minute later a crash.

Version-Release number of selected component:

The following was filed automatically by anaconda:
anaconda 20.25.4-1 exception report
Traceback (most recent call first):
  File "/tmp/updates/blivet/size.py", line 88, in _parseSpec
    raise SizeNotPositiveError("spec= param must be >=0")
  File "/tmp/updates/blivet/size.py", line 138, in __new__
    self = Decimal.__new__(cls, value=_parseSpec(spec))
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/lib/accordion.py", line 61, in selectorFromDevice
    size = Size(spec="%f MB" % device.size)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/lib/accordion.py", line 176, in addSelector
    selector = selectorFromDevice(device, mountpoint=mountpoint)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/custom.py", line 989, in _do_refresh
  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/gui/spokes/custom.py", line 2064, in on_add_clicked
    self._do_refresh(mountpointToShow=mountpoint or fstype)
SizeNotPositiveError: spec= param must be >=0

Additional info:
cmdline:        /usr/bin/python  /sbin/anaconda
cmdline_file:   initrd=initrd.img inst.stage2=hd:LABEL=Fedora\x2020-Beta-TC6\x20x86_64 quiet elevator=noop updates=http://dlehman.fedorapeople.org/updates/updates-1024076.0.img BOOT_IMAGE=vmlinuz 
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         3.11.6-301.fc20.x86_64
product:        Fedora
release:        Cannot get release name.
type:           anaconda
version:        20-Beta-TC6

--- Additional comment from Chris Murphy on 2013-10-31 00:16:59 EDT ---

Oh great, as it turns out I did alter the LVM layout outside of the installer, and overcommitted it by 250GB afterall. I may have been suitably punished by spending hours trying to reproduce this bug thinking I hadn't until I read the logs. *sigh*

To reproduce the crash, via thinp overcommitting outside the installer I have these steps.

1. Install to a new clean disk using LVM Thin Provisioning partition scheme via the guided partitioning path.

2. Reboot to the installed system and create a new vLV, format it ext4.
lvcreate --thinpool fedora/pool00 --virtualsize 250g -n punishment

3. Reboot to the installer, applying updates.img, set partition scheme again to LVM thinp, go to custom partitioning.

4. Add new mount point /, at 25gb.

Installer says "Added new LVM Thin Provisioning to existing container fedora." And crashes about 15 seconds later. No warnings, error messages, or corrections to the 25GB entry I put in.

--- Additional comment from David Lehman on 2013-11-06 09:46:40 EST ---

This bug is about anaconda/blivet not handling the case of a preexisting overcommitted thin pool. I have patches that have resolved the issue in my testing.
Comment 3 Jan Stodola 2014-01-27 07:40:26 EST
Reproduced with python-blivet-0.18.13-2.el7.
Retested with python-blivet-0.18.19-2.el7, anaconda shows an error message, it is possible to finish the installation after fixing reported issues.

Moving to VERIFIED.
Comment 4 David Lehman 2014-01-27 13:29:09 EST
(In reply to Jan Stodola from comment #3)
> Retested with python-blivet-0.18.19-2.el7, anaconda shows an error message,
> it is possible to finish the installation after fixing reported issues.

You should not see an error message unless you try to add a new thin lv to the overcommitted pool.
Comment 5 Jan Stodola 2014-01-28 04:22:57 EST
The error message is displayed when adding a new thin lv to the overcommitted pool.
When reusing already existing thin lv from the overcommitted pool, anaconda doesn't show any error, partitioning is accepted and the installation is successful.
Sorry for confusion...
Comment 6 Ludek Smid 2014-06-13 07:10:41 EDT
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.

Note You need to log in before you can comment on or make changes to this bug.