Issue: Bug #13819: Fact imports fail with: Validation failed: Fact name has already been taken - Foreman
Refs: Bug #14761: _timestamp fact prevents facts upload through Foreman facts update - Foreman
Pull request: https://github.com/theforeman/foreman/pull/3456
Summary: Puppet > 4 has a hidden _timestamp fact which prevents facts
upload through Foreman facts processor. PR is a minor patch to prevent the
name collision between Foreman's _timestamp, and the hidden Puppet
_timestamp.
Diff is for: app/services/fact_importer.rb
fact_names = fact_name_class.group(:name).maximum(:id)
facts_to_create.each do |name|
-
host.fact_values.send(method, :value => facts[name],
-
if name != "_timestamp"
-
logger.info("Fact Importer facts_to_create called for new fact
'#{name}'")
-
host.fact_values.send(method, :value => facts[name], :fact_name_id => fact_names[name] ||
fact_name_class.create!(:name => name).id)
-
endend end
The prprocessor didn't like my using "Fixes" instead of "fixes", so the
"waiting on contributor" label appears to be due to that.
Hoping this can make it into 1.10.4 to help out those of us deploying
Foreman 1.10 along with Katello 2.4.
Thanks for your time on this!
/Mike