Module path not guessed correctly with puppet 2.7
It seems that theforeman cannot guess the modulepath correctly with puppet 2.7.
puppetd --genconfig gives different information if run as root or as a foreman user
modulepath = /usr/share/foreman/.puppet/modules:/usr/share/puppet/modules
modulepath = /etc/puppet/modules:/usr/share/puppet/modules
This cause the refresh of the existing class to fail when ran from the UI, if modulepath = /etc/puppet/modules:/usr/share/puppet/modules is run from the foreman user, it fails with Unable to find directory /usr/share/foreman/.puppet/modules in environment production
Adding a modulepath in the main section of puppet.conf is a good workaround.
Also the modulepath option has changed form the puppetmasterd section to the master section.
PS: the UI shows no error at all when this is happening, is simply go back to the same page, I guess adding an error wouldn't hurt