OK here goes. this is an attempt to re-word the original question.
In the manual it is stated that Foreman will auto create the Operating Systems based on puppet reports of the host https://www.theforeman.org/manuals/1.20/index.html#4.4.1OperatingSystems
For me, this only works for all my CentOS 6 hosts (several different minor versions).
None of the CentOS 7 hosts that report to foreman have a operating system mentioned in foreman. Also there is no operating system created.
When I manually create the correct version it is not populated.
So I started looking at the differences in my clients, I know these values originate from facter and get sent to forman with puppet reports.
Fact is, the facts are identical except for the values.
Than I started looking at foreman and how it translates facts. When I open a centos 7 host and check the facts it has on the host, it will show ‘distribution’ and than the version, name and id of the distribution of the host.
Here and only here I see a difference.
The centos 6 hosts will show:
distribution version: “6”
distribution name: “CentOS”
distribution id: “Final”
The centos 7 hosts will show:
distribution version: “7”
distribution name: "CentOS Linux"
distribution id: “core”
Notable difference is the distribution name.
I’ve tried to create a Operating System in Foreman with this exact name but it will throw an error about not permitting a space in the operating system name.
I don’t know if I’m on the right track here. For me the fact is the Operating System is only automatically created for my CentOS 6 hosts and not my CentOS 7 hosts. This however is functionality I would like to use and I’m lost at how to fix this.