Affects Version/s: None
Fix Version/s: None
Template:MODULES Bug Template customfield_10700 235256
Method Found:Needs Assessment
QA Risk Assessment:Needs Assessment
puppet_pot_generator depends on 'puppet' with no version bounds. In the lastest versions of Puppet ( > 4.9.0) semantic_puppet is vendored inside. Further, the latest version of Puppet conflicts with the semantic_puppet gem, so it needs to go away.
This dependency was causing failures in all module unit tests that looked something like this:
Here's roughly what was happening:
- Tests start
- Puppet is required
- Puppet (5.3.4) now handles its own FastGettext implementation, so it creates a translation_repository chain and sets FastGettext.default_text_domain to 'default-text-domain'
- semantic_puppet is required by puppet_pot_generator
- semantic_puppet initializes Ye Olde GettextSetup, which adds 'master_domain' to the chain and sets FastGettext.text_domain to the same
- At some magical point, Puppet is like "ok, resetting the environment" and kills all text_domains that are not the default
- Somehow, FastGettext.text_domain is still 'master_domain' but it's no longer in the chain, and that's how you get the error above