Description of problem: I use pyanaconda.storage module outside Anaconda installer. I have an encrypted partition, mounted somewhere. storage.devicetree.populate() fails with traceback: File "anaconda_init.py", line 25, in <module> storage.devicetree.populate() File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 1856, in populate self._populate() File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 1970, in _populate self.addUdevDevice(dev) File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 1086, in addUdevDevice self.handleUdevDeviceFormat(info, device) File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 1667, in handleUdevDeviceFormat self.handleUdevLUKSFormat(info, device) File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 1164, in handleUdevLUKSFormat self.__passphrases) File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/devicetree.py", line 78, in getLUKSPassphrase raise RuntimeError("device is already mapped") Version-Release number of selected component (if applicable): anaconda-18.6.5-1.fc18.x86_64 How reproducible: always Steps to Reproduce: 1. cryptsetup luksOpen /dev/sda1 myLuks 2. try to populate storage.devicetree Anaconda probably expects that it's running on 'unconfigured' system, where nobody opened LUKS device. If I 'luksClose /dev/mapper/myLuks', it starts working. If Anaconda is to be used as storage library, this must be fixed.
This is fixed in commit 086d80ce0de1660.
This seems to be fixed in python-blivet-0.24-1.fc21.noarch (and probably also few releases before).