puppet-puppetdbquery icon indicating copy to clipboard operation
puppet-puppetdbquery copied to clipboard

Improvement of Nested Fact Handling in facts_hash

Open lcharreau opened this issue 1 year ago • 0 comments

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 the query_facts method to ensure that the facts_for_query array contains only unique elements.

Enhancements to nested keys processing:

  • lib/puppetdb/parser_helper.rb: Updated the facts_hash method 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.

lcharreau avatar Nov 17 '24 08:11 lcharreau