Bug 1861456

Summary: Can not install ostree payload
Product: Red Hat Enterprise Linux 8 Reporter: Christian Kellner <ckellner>
Component: anacondaAssignee: Martin Kolman <mkolman>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.3CC: anaconda-maint-list, bbreard, jstodola, lmiksik, lueberni, perobins, pzatko, sbueno
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: anaconda-33.16.3.16-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 03:23:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
anaconda log none

Description Christian Kellner 2020-07-28 16:55:12 UTC
Created attachment 1702692 [details]
anaconda log

Anaconda version: 33.16.3.14-1.el8

Using "RHEL-8.3.0-20200728.n.0-BaseOS-x86_64-boot.iso" with a minimal kickstart file, supplied via kernel command line "inst.ks=http://<>/test.ks":


lang en_US.UTF-8
keyboard us
timezone UTC
zerombr
clearpart --all --initlabel
autopart
reboot
ostreesetup --nogpg --url=https://kojipkgs.fedoraproject.org/compose/ostree/repo --osname=fedora --remote=fedora --ref=fedora/x86_64/coreos/testing

leads to a crash in anaconda:

Traceback (most recent call last):
  File "/sbin/anaconda", line 754, in <module>
    anaconda.intf.run()
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/__init__.py", line 840, in run
    self._currentAction.refresh()
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/hubs/__init__.py", line 379, in refresh
    self._createBox()
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/hubs/__init__.py", line 188, in _createBox
    self._updateCompleteness(spoke, update_continue=False)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/hubs/__init__.py", line 234, in _updateCompleteness
    spoke.selector.set_incomplete(not spoke.completed and spoke.mandatory)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/spokes/subscription.py", line 152, in mandatory
    return check_cdn_is_installation_source(self.payload)
  File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/lib/subscription.py", line 86, in check_cdn_is_installation_source
    source_proxy = payload.get_source_proxy()
AttributeError: 'RPMOSTreePayload' object has no attribute 'get_source_proxy'

Had a quick look at the source and I think this is due to change introduce in https://github.com/rhinstaller/anaconda/commit/1f341cb27e77f6383a45ee19b8110ea43929ee87

Comment 3 Martin Kolman 2020-07-29 20:42:32 UTC
So basically what happens here is that the OSTree payload object Anaconda uses during an OSTree installation does not have an attribute (a proxy for a DBus object) most of the other payloads have. This case was not addressed, so the code tried to access an attribute that does not exist and crashed.

Should be fixed by the following PR, which fixes the code to survive the missing attribute:
https://github.com/rhinstaller/anaconda/pull/2758

Comment 10 errata-xmlrpc 2020-11-04 03:23:57 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (anaconda bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4729