Currently packstack only give control over whether it _installs_ EPEL or not. It seems like it would give more flexibility if controlled whether EPEL was _used_ or not. I.E. if it's already installed, then put in --disablerepo=epel* when needed. This came up in the context of the RDO repos, where the normal case is that EPEL is used. Hence we might always install epel-release through rpm dependencies. Therefore packstack would benefit from a mechanism to avoid EPEL in that case if required.
Conversely if EPEL is required it should be enabled if installed already.
I think the fix for this broke packstack in the case that EPEL isn't installed.
I use a local mirror for epel and previously this worked fine with packstack so long as I configured use-epel=n. Now, doing so disables my epel mirror and packstack will fail due to missing dependencies. What do you think of configuring a new epel repo only if necessary (e.g. yum repolist | grep epel)?
Currently if use-epel=n then packstack makes sure EPEL is also disabled (yum-config-manager --disable epel). So the workaround for that would be to name your local mirror differently (eg. s/\[epel\]/\[whatever\]).
Fair enough that there is a workaround, but is it really preferable for packstack to require the target system to have epel defined with a non-standard name instead of just working(tm)?
The point of this change is that in case user will choose not to use EPEL, then Packstack should make sure it is not used (eg. disable it if it is installed).