Excerpts from Anwesha Chatterjee's message of 2017-09-28 12:18 +10:00:
Another issue that I havent mentioned in the proposal and should
probably add is:
Currently, the repo data for a distro tree is stored at distro import time.
With the user-defined scenario, Beaker will not know how to determine the
repo data associated with an install tree url (the way Anaconda does),
unless the user passes it in by hand. I will look into some possible
solutions for this issue and update the document accordingly.
We were discussing more about the problem of how to find repos, and it
seems like there is no nice solution...
Anaconda parses .treeinfo to find "add-on" repos (HighAvailability and
such) and it will make those available at installation time
automatically. But they won't be available after installation.
That's not what you get with a normal Beaker recipe today though.
Even if we could make Anaconda configure the repos on disk for us
somehow (using repo --install) or if we make Beaker parse .treeinfo to
find the same repos and write them to /etc/yum.repos.d ... it's not
really enough. Because .treeinfo still does not include all the other
repos that people are expecting Beaker to configure for them, like
Debuginfo and Optional. These live outside the installation tree in
a different part of the compose. So it *still* wouldn't behave the same
as a normal recipe anyway.
I think for the "user-supplied distros" we will have to rely on the user
to supply any repos as well. We do already have the <repos/> element for
that so we can re-use that code.
It means if you use <distro/> the behaviour will be:
By default, Beaker supplies no repos (apart from harness and tasks). You
will just get whatever Anaconda finds by itself, which is the
installation repo plus any add-ons it finds in .treeinfo. And they won't
be available after installation.
If the user wants the full complement of repos to be available during
and after installation, like a normal Beaker recipe would have, they
must manually determine the repo URLs and pass them in <repos/>.
--
Dan Callaghan <dcallagh(a)redhat.com>
Senior Software Engineer, Products & Technologies Operations
Red Hat