Bug 1425827 - anaconda crashes early with RuntimeError: Unable to find an install class to use!!!
Summary: anaconda crashes early with RuntimeError: Unable to find an install class to ...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 26
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedBlocker
Depends On: 1426435
Blocks: F26AlphaBlocker
TreeView+ depends on / blocked
 
Reported: 2017-02-22 14:30 UTC by Kevin Fenzi
Modified: 2017-02-28 16:52 UTC (History)
13 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-02-28 16:52:17 UTC


Attachments (Terms of Use)

Description Kevin Fenzi 2017-02-22 14:30:04 UTC
All the rawhide livemedia composes are currently failing. 

For example, the Xfce live for 2017-02-22: 

https://koji.fedoraproject.org/koji/taskinfo?taskID=17990346

livemedia-out.log contains: 

2017-02-22 11:23:39,277 DEBUG livemedia-creator: Namespace(anaconda_args=None, app_file='appliance.xml', app_name=None, app_template=None, arch=None, armplatform=None, compress_args=[], compression='xz', disk_image=None, domacboot=True, dracut_args=None, fs_image=None, fs_label='Anaconda', image_name=None, image_only=False, image_type=None, iso=None, iso_name='Fedora-Xfce-Live-i386-Rawhide-20170222.n.0.iso', iso_only=True, keep_image=False, kernel_args=None, ks=['/tmp/koji-image-f26-build-17990346.ks'], live_rootfs_keep_size=False, live_rootfs_size=0, location=None, logfile='/tmp/lmc-logs/livemedia-out.log', lorax_templates=None, make_ami=False, make_appliance=False, make_disk=False, make_fsimage=False, make_iso=True, make_oci=False, make_ostree_live=False, make_pxe_live=False, make_tar=False, make_vagrant=False, no_kvm=False, no_virt=True, oci_config=None, oci_runtime=None, ovmf_path='/usr/share/edk2/ovmf/', project='Fedora-Xfce-Live', proxy=None, qcow2=False, qemu_args=[], ram=1024, releasever='Rawhide', result_dir='/tmp/lmc', squashfs_args=None, timeout=None, title='Fedora-Xfce-Live', tmp='/var/tmp', vagrant_metadata=None, vagrantfile=None, vcpus=None, virt_uefi=False, vnc=None, volid='Fedora-Xfce-Live-Rawhide-2017022')
2017-02-22 11:23:39,341 INFO livemedia-creator: disk_img = /tmp/lmc/lmc-disk-a47xmr_9.img
2017-02-22 11:23:39,342 INFO livemedia-creator: Using disk size of 5122MiB
2017-02-22 11:23:39,940 DEBUG pylorax.imgutils: make tmp mountdir /var/tmp/lorax.imgutils.1ah1wfp1
2017-02-22 11:23:39,991 DEBUG pylorax.imgutils: remove tmp mountdir /var/tmp/lorax.imgutils.1ah1wfp1
2017-02-22 11:23:44,424 INFO livemedia-creator: Running anaconda.
2017-02-22 11:23:46,241 INFO livemedia-creator: Starting installer, one moment...
2017-02-22 11:23:46,242 INFO livemedia-creator: terminal size detection failed, using default width
2017-02-22 11:23:46,242 INFO livemedia-creator: anaconda 26.20-1 for Fedora-Xfce-Live Rawhide (pre-release) started.
2017-02-22 11:23:46,242 INFO livemedia-creator: 11:23:46 Not asking for VNC because of an automated install
2017-02-22 11:23:46,242 INFO livemedia-creator: 11:23:46 Not asking for VNC because we don't have Xvnc
2017-02-22 11:23:46,322 INFO livemedia-creator: Traceback (most recent call last):
2017-02-22 11:23:46,322 INFO livemedia-creator: File "/usr/sbin/anaconda", line 594, in <module>
2017-02-22 11:23:46,322 INFO livemedia-creator: display.setup_display(anaconda, opts, addon_paths=addon_paths)
2017-02-22 11:23:46,322 INFO livemedia-creator: File "/usr/lib/python3.6/site-packages/pyanaconda/display.py", line 324, in setup_display
2017-02-22 11:23:46,323 INFO livemedia-creator: anaconda.initInterface(addon_paths=addon_paths)
2017-02-22 11:23:46,323 INFO livemedia-creator: File "/usr/lib/python3.6/site-packages/pyanaconda/anaconda.py", line 286, in initInterface
2017-02-22 11:23:46,323 INFO livemedia-creator: self._intf = TextUserInterface(self.storage, self.payload,
2017-02-22 11:23:46,324 INFO livemedia-creator: File "/usr/lib/python3.6/site-packages/pyanaconda/anaconda.py", line 168, in storage
2017-02-22 11:23:46,324 INFO livemedia-creator: if self.instClass.defaultFS:
2017-02-22 11:23:46,324 INFO livemedia-creator: File "/usr/lib/python3.6/site-packages/pyanaconda/anaconda.py", line 91, in instClass
2017-02-22 11:23:46,324 INFO livemedia-creator: from pyanaconda.installclass import DefaultInstall
2017-02-22 11:23:46,324 INFO livemedia-creator: File "/usr/lib/python3.6/site-packages/pyanaconda/installclass.py", line 246, in <module>
2017-02-22 11:23:46,324 INFO livemedia-creator: baseclass = getBaseInstallClass()
2017-02-22 11:23:46,324 INFO livemedia-creator: File "/usr/lib/python3.6/site-packages/pyanaconda/installclass.py", line 242, in getBaseInstallClass
2017-02-22 11:23:46,325 INFO livemedia-creator: raise RuntimeError("Unable to find an install class to use!!!")
2017-02-22 11:23:46,325 INFO livemedia-creator: RuntimeError: Unable to find an install class to use!!!
2017-02-22 11:23:46,387 ERROR livemedia-creator: Running anaconda failed: process '['anaconda', '--kickstart', '/tmp/koji-image-f26-build-17990346.ks', '--cmdline', '--dirinstall', '--remotelog', '127.0.0.1:52549']' exited with status 1
2017-02-22 11:24:44,519 ERROR livemedia-creator: Install failed: novirt_install failed
2017-02-22 11:24:44,520 INFO livemedia-creator: Removing bad disk image
2017-02-22 11:24:44,541 ERROR livemedia-creator: ERROR: Image creation failed: novirt_install failed

Comment 1 Paul Whalen 2017-02-22 15:07:56 UTC
Moving this to anaconda, seeing the same error when attempting an installation on arm using compose from Fedora-Rawhide-20170222.n.0.

Starting installer, one moment...
anaconda 26.20-1 for Fedora Rawhide (pre-release) started.
 * installation log files are stored in /tmp during the installation
 * shell is available on TTY2
 * if the graphical installation interface fails to start, try again with the
   inst.text bootoption to start text installation
 * when reporting a bug add logs from /tmp as separate text/plain attachments
  File "/sbin/anaconda", line 594, in <module>
    display.setup_display(anaconda, opts, addon_paths=addon_paths)
  File "/usr/lib/python3.6/site-packages/pyanaconda/display.py", line 324, in setup_display
    anaconda.initInterface(addon_paths=addon_paths)
  File "/usr/lib/python3.6/site-packages/pyanaconda/anaconda.py", line 286, in initInterface
    self._intf = TextUserInterface(self.storage, self.payload,
  File "/usr/lib/python3.6/site-packages/pyanaconda/anaconda.py", line 168, in storage
    if self.instClass.defaultFS:
  File "/usr/lib/python3.6/site-packages/pyanaconda/anaconda.py", line 91, in instClass
    from pyanaconda.installclass import DefaultInstall
  File "/usr/lib/python3.6/site-packages/pyanaconda/installclass.py", line 246,
in <module>
    baseclass = getBaseInstallClass()
  File "/usr/lib/python3.6/site-packages/pyanaconda/installclass.py", line 242,
in getBaseInstallClass
    raise RuntimeError("Unable to find an install class to use!!!")
RuntimeError: Unable to find an install class to use!!!

Pane is dead
  File "/usr/lib/python3.6/site-packages/pyanaconda/installclass.py", line 242, in getBaseInstallClass
    raise RuntimeError("Unable to find an install class to use!!!")
RuntimeError: Unable to find an install class to use!!!
Pane is dead

Comment 2 Paul Whalen 2017-02-22 16:17:13 UTC
Initial-setup also fails on arm disk images. 

Traceback (most recent call last):
  File "/usr/libexec/initial-setup/initial-setup-text", line 3, in <module>
    from initial_setup import InitialSetup, InitialSetupError
  File "/usr/lib/python3.6/site-packages/initial_setup/__init__.py", line 11, in <module>
    from initial_setup.post_installclass import PostInstallClass
  File "/usr/lib/python3.6/site-packages/initial_setup/post_installclass.py", line 20, in <module>
    from pyanaconda.installclass import BaseInstallClass
  File "/usr/lib/python3.6/site-packages/pyanaconda/installclass.py", line 246, in <module>
    baseclass = getBaseInstallClass()
  File "/usr/lib/python3.6/site-packages/pyanaconda/installclass.py", line 242, in getBaseInstallClass
    raise RuntimeError("Unable to find an install class to use!!!")
RuntimeError: Unable to find an install class to use!!!

Comment 3 Adam Williamson 2017-02-23 01:19:44 UTC
Odd thing is, if you boot an installer image and do this:

python3 -c 'from pyanaconda.installclass import getBaseInstallClass; getBaseInstallClass()'

it works fine (doesn't raise an exception). Not sure what's going on there. Some kind of timing problem?

This is an automatic blocker, as it prevents the compose of multiple release blocking images. Setting AcceptedBlocker.

Comment 4 lesnake 2017-02-24 13:06:54 UTC
I reproduced the problem on a F25 host runninng a rawhide mock

The problem is that in this file : /usr/lib64/python3.6/site-packages/pyanaconda/installclass.py
the line :
https://github.com/rhinstaller/anaconda/blob/master/pyanaconda/installclass.py#L165
generates :
/usr/local/lib64/python3.6/site-packages/pyanaconda/installclasses
which does not exist

However this path exist:
/usr/lib64/python3.6/site-packages/pyanaconda/installclasses

Adding this path to the path list allows classes to be found

ignatenkobrain pointed (on IRC) to this other bug : https://bugzilla.redhat.com/show_bug.cgi?id=1426435

Replacing line 165 by 
"%s/installclasses" % os.path.dirname(os.path.realpath(__file__))]:

Fixes the issue.

Comment 5 Martin Kolman 2017-02-27 17:09:10 UTC
So for now this has been "fixed" by the Python-side change being reverted (see bug 1426435 comment 7), but that is only temporary. 

Eventually a proper solution will have to be discussed with Fedora Python maintainers & implemented.

Comment 6 lesnake 2017-02-28 09:47:01 UTC
I checked that now, in the same context as comment 4, in a fresh new rawhide mock that

get_python_lib(plat_specific=1)

returns 

/usr/lib64/python3.6/site-packages/

as expected.

Comment 7 Fedora End Of Life 2017-02-28 12:24:33 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 8 Adam Williamson 2017-02-28 16:52:17 UTC
yeah, and recent Rawhide nightlies work OK, so we can close this. Please don't re-apply the change until we have a fix for the problem...


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