The default kickstart template installs EPEL by default
Since Foreman 2.1 (thanks to #28070) if the enable-epel parameter is not set, the default kickstart template will still install the epel. This is due to
<% if rhel_compatible && !host_param_false?('enable-epel') -%> <%= snippet 'epel' -%> <% end -%>
The problem is, host_param_false?('enable-epel') returns false in case the parameter is not found (the default value, optional second parameter). Then it's negated to true. This change was introduced in the mentioned #28070
In this ticket, we should
1) switch the default value of host_param_false? to true, like suggested in the original PR https://github.com/theforeman/foreman/pull/7110#discussion_r335387999 (the same for host_param_true?)
2) modify the template to use host_param_true?('enable-epel') and stop doing double negation
3) optionally I'd consider seeding this parameter with the default value false, so people would know, they can actually set/override it
#2 Updated by Evgeni Golov 9 months ago
FWIW, enable-epel was added in community templates back in 2016:
commit 22f430d42a23f2c2316d990da6a56638c6fc1c84 Author: Alex Fisher <firstname.lastname@example.org> Date: Sat Apr 23 16:57:40 2016 +0100 Add enable-epel param (#266) Defaults to true, but provides a way to disable the use of EPEL repos.
and is supposed to default to "true", so using
!host_param_false?('enable-epel') is correct from a backwards compatibility standpoint of the template (I'd disagree that we should enable epel by default, but that's a totally different discussion).
However, the default value of
host_param_false? should really be