Hi folks, I have run into https://github.com/ansible/ansible/issues/28813 - git_config not working with el6 systems. I would like to get it fixed, and I am happy to do so myself.
What is the best way to handle such compatibility issues? I am working on lvm2 and we face similar issues there - older versions not supporting certain options and it is getting worse when newer versions do require the option.
I guess module just should check git version, and ideally store it somewhere for future use, so it does not need to run git version each time.
Is it common for modules to “gather facts” - e.g. in this case get git version “git.version” and perhaps feature flags - “git.flags.supports_includes” and save it?
Is there a convention or other way to define a “module” namespace for facts discovered during run-time, or are any gathered facts polluting global namespace?
And if multiple modules are using git, it would be rather shared, than each module doing it on its own.
Would I then need a mechanism for invalidating facts (e.g. when updating system), so they would have to be rediscovered?
Minor updates should be fine, and I am not sure doing major system upgrades inside a playbook is the best idea. Clean install and use ansible for configuration seems much cleaner to me.
Cheers,
– Martian