Уведомить модуль, чтобы восстановить факты из запуска кукол
Предположим, у меня есть модуль в марионетке, который создает пользовательские факты. Но для этого требуется пакет package_a
быть установленным. В зависимости от того, есть этот пакет или нет, он решит сгенерировать факты.
Этот пакет устанавливается как часть запуска марионетки в профиле. Поэтому изначально факты не будут генерироваться из модуля.
После установки пакета, который используется для генерации пользовательских фактов, есть ли способ уведомить куколку о сборе этих фактов, чтобы его можно было использовать в следующих профилях?
Модуль, который добавляет пользовательские факты:
Facter.add(:custom_facts) do
confine do
exists = Facter::Core::Execution.which('package_a') != nil
Puppet.debug "Testing custom_facts fact applicable? #{exists.inspect}"
true
end
setcode do
to_ret = {}
result = JSON.parse(Facter::Core::Execution.execute('package_a some command'))
Puppet.debug "Facts returned by command: #{result.inspect}"
result.each do |key,value|
to_ret[key]={
'value' => value['value'],
}
end
to_ret
end
end