Bug 1713109
Summary: | KDE live installs fail with "TypeError: setup() missing 1 required positional argument: 'payload'" | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Adam Williamson <awilliam> |
Component: | subscription-manager | Assignee: | Chris Snyder <csnyder> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | urgent | Docs Contact: | |
Priority: | urgent | ||
Version: | 30 | CC: | alikins, anaconda-maint-list, awood, bkearney, csnyder, desire1824, dowdle, Fedora.rmx, jbwillia, jonathan, kellin, lsedlar, mkolman, nathan95, robatino, vanmeeuwen+fedora, vponcova, wwoods |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | openqa | ||
Fixed In Version: | subscription-manager-1.25.5-4.fc30 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-06-06 01:06:02 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: |
Description
Adam Williamson
2019-05-22 21:53:00 UTC
Looking at the 20190514.n.0 compose changes, anaconda did not change in that compose, but pungi did...CCing lsedlar. This is a function call inside anaconda when addons are initialized. I don't think Pungi is involved in this one. It's just that it's the only obvious package that actually changed in the compose where this broke. I don't see an *obvious* causation link either, but it could be that the anaconda code relies on something baked into the image by pungi somehow, or something. I'll try and figure it out today. Aha. So I think this is caused by the com_redhat_subscription_manager addon having an unexpected signature for its setup() method: def setup(self, storage, ksdata, instclass, payload): the expected signature is this: def setup(self, storage, ksdata, payload): anaconda code calls `setup(storage, ksdata, payload)` on all discovered addons...so with the unexpected signature of the com_redhat_subscription_manager addon's method, it is missing one arg. The reason we don't see this on Workstation is that this addon is part of the 'subscription-manager-initial-setup-addon' package, and that package "Supplements: initial-setup-gui", so it gets pulled in when initial-setup-gui is included. initial-setup-gui is not in the Workstation live or the traditional installer images, so those don't have this problem, but it *is* in the KDE live image (and other desktop live images, so this bug likely affects those too). I'm not sure why com_redhat_subscription_manager has this unexpected signature - whether it's just a straight-up error or if there's something more complex going on. Will dig into it. The bug appeared in the 20190514.n.0 compose because a new subscription-manager package landed just ahead of that compose: https://koji.fedoraproject.org/koji/buildinfo?buildID=1267285 and that added the 'Supplements: initial-setup-gui' line to the spec, which causes this package to get pulled into live images where previously it was not. Ah - so this is quite simple. The subscription-manager addon simply hasn't been updated for this anaconda change: https://github.com/rhinstaller/anaconda/commit/78fd1e8242bbd814d6c8bcabd6e62aefc3c98186 that's what changed the expected signature for addons' setup() and execute() methods not to include an install class. The addon needs to be changed in Fedora (and I guess RHEL 8, possibly?) to reflect that change. Having said that, I'm not sure whether it makes sense for this addon to be included by default in Fedora images - whether it does anything useful for Fedora users - even if we fix it. I'm going to send a PR upstream and patch the bug in Rawhide, then we can consider whether the Supplements: is appropriate later. subscription-manager-1.25.5-2.fc30 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-f0af218c5a https://koji.fedoraproject.org/koji/buildinfo?buildID=1270509 should fix this for Rawhide. I determined that this bug would likely affect F30 respins as well, so I'm sending a fix for F30 (see above); once we confirm that Rawhide is fixed, I'll drop the blocker proposal and switch to bug to F30, then it will get closed out when the update goes stable. subscription-manager-1.25.5-2.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-f0af218c5a Fixed in Fedora-Rawhide-20190524.n.1. Moving to F30-only. *** Bug 1711570 has been marked as a duplicate of this bug. *** *** Bug 1714726 has been marked as a duplicate of this bug. *** Similar problem has been detected: Built remix using livecd-tools (livecd-creator) using updated fedora-live-lxqt.ks, .iso built ok, boots to live image ok, performed the liveinst, configured, and immediately after clicking begin installation it crashes. addons: com_redhat_subscription_manager, com_redhat_kdump blivet-gui-utils.log: cmdline: /usr/bin/python3 /sbin/anaconda --liveinst --method=livecd:/dev/mapper/live-base cmdline_file: BOOT_IMAGE=vmlinuz0 initrd=initrd0.img root=live:CDLABEL=F30LXQTrmx rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 hashmarkername: anaconda kernel: 5.0.17-300.fc30.x86_64 other involved packages: python3-libs-3.7.3-3.fc30.x86_64 package: anaconda-core-30.25.6-3.fc30.x86_64 packaging.log: product: Fedora reason: TypeError: setup() missing 1 required positional argument: 'payload' release: Fedora release 30 (Thirty) version: 30 Alec: include the subscription-manager update shown above in your respin and it should work fine. DId a fresh build with what I think are the needed packages on Fedora 30... build a remix and I'm still getting the same error. Here's what I have installed in the live media I'm getting the error from: $ rpm -qa | grep -e subscription -e anaconda | sort anaconda-30.25.6-3.fc30.x86_64 anaconda-core-30.25.6-3.fc30.x86_64 anaconda-gui-30.25.6-3.fc30.x86_64 anaconda-install-env-deps-30.25.6-3.fc30.x86_64 anaconda-live-30.25.6-3.fc30.x86_64 anaconda-tui-30.25.6-3.fc30.x86_64 anaconda-user-help-26.1-9.fc30.noarch anaconda-widgets-30.25.6-3.fc30.x86_64 dnf-plugin-subscription-manager-1.25.5-2.fc30.x86_64 kdump-anaconda-addon-005-4.20190103gitb16ea2c.fc30.noarch libreport-anaconda-2.10.0-3.fc30.x86_64 python3-subscription-manager-rhsm-1.25.5-2.fc30.x86_64 subscription-manager-1.25.5-2.fc30.x86_64 subscription-manager-initial-setup-addon-1.25.5-1.fc30.x86_64 subscription-manager-rhsm-certificates-1.25.5-2.fc30.x86_64 Do I have the wrong version of something or am I missing something? Or maybe I'm getting a different error now? TypeError: __init__() missing 1 required positional argument: 'instclass' Weird, why do I have subscription-manager-initial-setup-addon-1.25.5-1.fc30.x86_64 rather than subscription-manager-initial-setup-addon-1.25.5-2.fc30.x86_64 that I have in my local repo? And even after updating to subscription-manager-initial-setup-addon-1.25.5-2.fc30.x86_64 I'm still getting: TypeError: __init__() missing 1 required positional argument: 'instclass' Ok, I added rhsm-gtk to my package list (because it seemed to be a dep of subscription-manager-initial-setup-addon... but anyway, with it added, subscription-manager-initial-setup-addon isn't even being pulled in anymore... BUT anaconda is working now and no more error. I guess it could be it worked in the first place and I just imagined it was broken (bad package cache or something). Anyhoo. Here's a list of relevant packages from my live media that is working: # rpm -qa | grep -e subscription -e anaconda -e rhsm | sort anaconda-30.25.6-3.fc30.x86_64 anaconda-core-30.25.6-3.fc30.x86_64 anaconda-gui-30.25.6-3.fc30.x86_64 anaconda-install-env-deps-30.25.6-3.fc30.x86_64 anaconda-live-30.25.6-3.fc30.x86_64 anaconda-tui-30.25.6-3.fc30.x86_64 anaconda-user-help-26.1-9.fc30.noarch anaconda-widgets-30.25.6-3.fc30.x86_64 dnf-plugin-subscription-manager-1.25.5-2.fc30.x86_64 kdump-anaconda-addon-005-4.20190103gitb16ea2c.fc30.noarch libreport-anaconda-2.10.0-3.fc30.x86_64 python3-subscription-manager-rhsm-1.25.5-2.fc30.x86_64 rhsm-gtk-1.25.5-2.fc30.x86_64 subscription-manager-1.25.5-2.fc30.x86_64 subscription-manager-rhsm-certificates-1.25.5-2.fc30.x86_64 well, the package needs to be pulled in to test the fix. I can't see how it wouldn't work, though - the same change fixed the same bug in Rawhide for sure, or else we wouldn't have working Rawhide images. Oh, there is actually another place where we have to deal with this instclass mess, and that's what you're hitting. I'm not sure why you're hitting it but a Rawhide install doesn't, though. *when* exactly are you seeing this error? FEDORA-2019-f0af218c5a has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-f0af218c5a Anyhow, I updated the update to fix the other case too - can you try it now? subscription-manager-1.25.5-3.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-f0af218c5a FEDORA-2019-f0af218c5a has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-f0af218c5a subscription-manager-1.25.5-4.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-f0af218c5a subscription-manager-1.25.5-4.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report. |