puppet-puppetdbquery
puppet-puppetdbquery copied to clipboard
Improvement of Nested Fact Handling in facts_hash
In the facts_hash method, when encountering multiple facts with nested elements sharing the same base name (e.g., multiple facts related to networking), the current logic concatenated the keys to make them unique (e.g., "networking_hostname_networking_fqdn" instead of "networking_hostname" and "networking_fqdn"). This behaviour was incorrect as it treated them as a single fact instead of separate ones.
Improvements to fact queries:
lib/puppet/functions/query_facts.rb: Modified thequery_factsmethod to ensure that thefacts_for_queryarray contains only unique elements.
Enhancements to nested keys processing:
lib/puppetdb/parser_helper.rb: Updated thefacts_hashmethod to group nested keys individually, create unique names, and return nested results as an array of hashes to be added individually. This change ensures that nested results are handled properly and avoids redundant assignments.