puppetlabs / puppetlabs-concat

File concatenation system for Puppet
Apache License 2.0
171 stars 303 forks source link

v9.0.1 breaks compatibility with pre-Puppet 7.17 #803

Closed nmburgan closed 9 months ago

nmburgan commented 10 months ago

Describe the Bug

This breaks compatibility with pre-7.17 agents, as this was not implemented until then. For example, when the postgresql module uses it with a Puppet 6 agent:

Error: /Stage[main]/Postgresql::Server::Config/Postgresql::Server::Instance::Config[main]/Concat[/var/lib/pgsql/14/data/pg_hba.conf]/Concat_file[/var/lib/pgsql/14/data/pg_hba.conf]: Failed to generate additional resources using 'eval_generate': uninitialized constant Puppet::Pops::Evaluator::DeferredValue
Did you mean?  Puppet::Pops::Evaluator::DeferredResolver

May want to do something like this instead: fragment_content = r[:content].respond_to?(:resolve) ? r[:content].resolve : r[:content]

I know the metadata says this version requires Puppet 7 at least, but I think this might be the only bit that breaks Puppet 6.

Expected Behavior

Concat works correctly with pre-Puppet 7.17 agents.

ekohl commented 10 months ago

The metadata says the lower bound is Puppet 7.0.0. I don't think we'll bring back Puppet 6 support but if we claim 7.0.0, that should work. Or we should raise it.

Ramesh7 commented 9 months ago

Thanks @nmburgan for reporting this with detailed summary as well as proposing the solution too. Have raised internal ticket and will priorities the same.