-
Type:
Bug
-
Status: Closed
-
Priority:
Normal
-
Resolution: Duplicate
-
Affects Version/s: PUP 3.7.3
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Template:customfield_10700 58290
Puppet reports an error when it cannot find any facts.d folder in any module:
Error: /File[/var/lib/puppet/facts.d]: Could not evaluate: Could not retrieve information from environment some_environment source(s) puppet://puppet.master/pluginfacts
|
the workaround is to create a "facts.d" folder at $environmentpath/module_name/.
This is a bug, because this happens due to:
puppet/lib/puppet/file_serving/mount/pluginfacts.rb
def find(relative_path, request)
|
return nil unless mod = request.environment.modules.find { |mod|
|
mod.pluginfact(relative_path)
|
}
|
path = mod.pluginfact(relative_path)
|
path
|
end
|
which gets called when requestin pluginfacts and that basicly will return "whatever path" it can find if it can find a "fact.d" path somewhere, and nil otherwise.
Now whats the whole point of such a "find" if it just returns whatever? Why to make it in a way that breaks backwards compatibility with puppet 3.5? No idea...
- duplicates
-
PUP-2608 An error is logged during an agent run if the puppetmaster does not have at least one <module>/lib dir in its modules directory.
-
- Resolved
-
- is duplicated by
-
PUP-3324 pluginsync fails when no source is available
-
- Closed
-
- relates to
-
FACT-802 cannot use text-based external facts to represent empty fact-values.
-
- Closed
-