Bug 1277638

Summary: anaconda fails to handle kickstart line like "repo --name=updates"
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 23CC: anaconda-maint-list, g.kaviyarasu, jonathan, TFDuesing, vanmeeuwen+fedora
Target Milestone: ---Keywords: CommonBugs, Reopened
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: https://fedoraproject.org/wiki/Common_F23_bugs#kickstart-named-repo
Fixed In Version: anaconda-24.6-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-06 21:07:09 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
the traceback you get in text mode none

Description Adam Williamson 2015-11-03 17:23:13 UTC
The documentation for kickstarts - https://github.com/rhinstaller/pykickstart/blob/master/docs/kickstart-docs.rst#repo - says this:

"Note: If you want to enable one of the repos in /etc/anaconda.repos.d that is disabled by default (like "updates"), you should use --name= but none of the other options. anaconda will look for a repo by this name automatically. Providing a baseurl or mirrorlist URL will result in anaconda attempting to add another repo by the same name, which will cause a conflicting repo error."

However, in Fedora 23, this does not work. See these two kickstarts:

https://www.happyassassin.net/ks/base-net.ks
https://www.happyassassin.net/ks/named-repo.ks

they are identical, except the second has an added line "repo --name=updates". Using the first results in a working install, the second results in the installer stopping at the hub with the INSTALLATION SOURCE spoke in an error condition: "Error setting up base repository". If you run the install in text mode, you instead get a crash.

This worked fine in F22 and I think previous releases, so it could be quite bad (I suspect quite a lot of people might be expecting it to to work). We should probably add this to the anaconda automated testing stuff.

Comment 1 Adam Williamson 2015-11-03 17:24:38 UTC
Created attachment 1089156 [details]
the traceback you get in text mode

This is the traceback you get when hitting the bug in text mode - I guess this might actually be a separate bug where the text mode fails to handle errors properly, crashing instead of putting the user at the hub screen with the spoke in an error condition?

Comment 2 Adam Williamson 2015-11-03 17:27:04 UTC
Here's /tmp/packaging.log , showing the problem pretty clearly:

17:25:49,332 INFO packaging: configuring base repo
12:21:50,366 INFO packaging: added repo: 'anaconda' - https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-23&arch=x86_64
12:21:50,368 ERR packaging: PayloadError: Repository updates has no mirror or baseurl set

(I didn't edit it, that's the whole thing)

Comment 3 Chris Lumens 2015-11-03 18:19:07 UTC
This is perfect for a thing to add to kickstart_tests.

Comment 4 Adam Williamson 2015-11-03 21:06:01 UTC
So yeah, this is an over-enthusiastic check, added in this commit:

https://github.com/rhinstaller/anaconda/commit/0813f1b0efc08b2a5193cb27fc22b35d07e36d90

"# one of these must be set to create new repo" is not true, as we can see in _add_repo, this case is explicitly handled:

        if repo.id in self._base.repos:
            if not url and not mirrorlist:
                self._base.repos[repo.id].enable()

the check in updateBaseRepo needs to be smarter.

Comment 5 Adam Williamson 2015-11-03 21:53:30 UTC
https://github.com/rhinstaller/anaconda/pull/437

Comment 6 Adam Williamson 2015-11-03 22:07:25 UTC
You can test the fix for this with F23 Final using kernel param:

inst.updates=https://www.happyassassin.net/updates/1277638-2.img

Comment 7 David Shea 2015-11-06 20:05:43 UTC
PR is pushed, thanks.

Comment 8 Adam Williamson 2015-11-06 20:24:48 UTC
I'm still planning to do a test case for this and perhaps try and fix the fact that text installs crash in this case (I think that's a bug too), FWIW - got some other stuff on my plate first though.

Comment 9 David Shea 2015-11-06 20:29:36 UTC
What, you want to see if it works, too? Jeez.

Comment 10 Adam Williamson 2015-11-06 21:07:09 UTC
we can leave this bug closed, I think, just wanted to note I hadn't forgot about the follow-up.

Comment 11 Adam Williamson 2015-11-10 00:22:05 UTC
OK, so I spent a bit of time looking into the TUI crash, and I'm pretty sure I understand exactly what's going on, but wasn't sure what was the best approach to fixing it, so I filed a new bug with an explanation:

https://bugzilla.redhat.com/show_bug.cgi?id=1279658

working on the kickstart test next.