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.
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?
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)
This is perfect for a thing to add to kickstart_tests.
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.
https://github.com/rhinstaller/anaconda/pull/437
You can test the fix for this with F23 Final using kernel param: inst.updates=https://www.happyassassin.net/updates/1277638-2.img
PR is pushed, thanks.
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.
What, you want to see if it works, too? Jeez.
we can leave this bug closed, I think, just wanted to note I hadn't forgot about the follow-up.
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.