The best practice for add-on facter modules is to put them in a separate directory from the facter installation itself, and to use RUBYLIB, LOAD_PATH, or FACTERLIB to load them (as mentioned in http://docs.puppetlabs.com/guides/custom_facts.html ). The current placement does not allow for openshift_facts to be omitted or overridden, and it is critical for OpenShift Online to do so. More context on this: the reason this has come up is that openshift_facts duplicates the data collection done by one of our other cron jobs, but it only stores counts and throws away the actual mappings of gear uuid / uid / state that we need for our monitoring system. Collecting this data multiple times is very expensive on a busy system. We would prefer it if such a metadata cache were part of the core node codebase, but since it is not, we need to keep our own cache implementation for now.
Closed WONTFIX due to discussion with Andy Grimm on priority.