in relation to the RHEL 7.7 release we stumbled across the fact importer/parser for operating systems which resulted in missing relations on ~1000 of our hosts:
Imagine you have hosts using the RedHat 7Server release for packages (which in fact represent one specific minor release; e.g. 7.6). Now Red Hat publishes the next minor release (e.g. 7.7) and all the systems using 7Server will update to the latest packages (7.6 -> 7.7). On the next Puppet run, Foreman will see a new operating system release (now 7.7) and create the respective object using the Puppet fact parser (see here: https://github.com/theforeman/foreman/blob/develop/app/services/puppet_fact_parser.rb#L39).
Now we have a problem: the newly created operating system has no templates/ installation media/ partition tables and so on attached and all updated hosts loose their relation to these items. At least that’s what seems to be happening for us.
We would like to implement a workaround/fix for that. For example use the next lower minor release as a starting point for the newly created operating system.
What do you think about such an implementation? Do you have other ideas or recommendations?