CentOS 7 Linux distribution (os fact) not added to Operating System overview

**Problem:we have a mixed environment with CentOS 6 and CentOS 7 vm’s
While all CentOS 6 hosts will be added to the (auto generated) CentOS 6 Operating System overview, this doesn’t work for CentOS 7 hosts. They don’t show up.
Facts are uploaded on puppet runs.
The only difference I’ve been able to find is when you browse ‘host facts’:
CentOS 6 will report: Distribution - name: CentOS
CentOS 7 will report: Distribution - name: CentOS Linux

**Expected outcome:All Operating systems auto generated and auto filled.

**Foreman and Proxy versions:1.20.1

Welcome back. I am afraid I don’t understand.

I’ll try to re-word the issue and if possible add some screenshots.

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.


Not sure why because this is part of the ENC manual in Foreman.
Had to add some config to our puppetmasters master section.

external_nodes = /etc/puppetlabs/puppet/node.rb
node_terminus = exec

Operating system name should always be “CentOS” and description should be anything you like for examle “CentOS 7.6” or “CentOS Linux 7.6”. This is how it used to work for years, was there some change in how facter reports CentOS 6 and 7 @ekohl?

@lzap the node.rb script is responsible for pushing facts. If that isn’t part of the config, then no facts are uploaded. It may derive something from the report which is a separate (optional) config option.