Description of problem: Currently all tasks are build as RPMs in Beaker. The dependencies are installed by anaconda with filling the %packages directive in the kickstart file. Restraint goes a different way. Since it is possible to load tasks from git repositories, there is no inherited meta data which declares dependencies. Instead these dependencies are declared by the task metadata[1] and installed before the task is executed. With our switch to restraint by default in Bug 1589610, Beaker will now install dependencies with anaconda during provisioning time and again when restraint executes the task. This can introduce unnecessary problems (e.g. if anaconda picks different versions than restraint would pick after the system is provisioned). With this bug, we want to: a) remove the ability that the kickstart is pre-filling dependencies in %packages by default b) introduce a new ks_meta variable for the user to opt-in for Beaker pre-filling dependencies in the kickstart file under %packages [1] -https://restraint.readthedocs.io/en/latest/tasks.html#metadata
The following bugs include some insight into problems we've discovered earlier and which can be fixed by implementing this RFE: https://bugzilla.redhat.com/show_bug.cgi?id=472740 https://bugzilla.redhat.com/show_bug.cgi?id=577796 https://bugzilla.redhat.com/show_bug.cgi?id=651828
Specifically I think the expected behaviour should be: "install_task_requires": a new ksmeta var which controls whether task requirements are included in kickstart %packages RHEL8+ and Fedora 29+: "install_task_requires" is *not* defined by default => let Restraint install task requirements instead of Anaconda (Restraint will be the default harness) older distros: "install_task_requires" *is* defined by default (Beah is still the default harness so it needs the old behaviour) People can thus always override install_task_requires to define it or un-define it if the default does not suit them. But it means if you don't know or care about any of these ksmeta variables, the defaults will work out of the box for you.
Beaker 26.0 has been released.