facter/lib/gemspec.in contains the following
s.required_ruby_version = '~> 2.1.7'
This is appearing in the puppet agent rpm along with ruby 2.4
We can't bundle our puppet manifest dependencies and roll out any new puppet modules using the newer gemspec format that seems to be triggering actually looking at this.
I believe the correct text should be
s.required_ruby_version = '>= 2.1.7'
manual editing of the deployed file gets around the issue in manual testing, but we can't do that in our real environment easily.
My ruby foo is not up to knowing if this is the "right" fix, or how to test for unforeseen consequences, but specifying ruby 2.1 in an install that ships with ruby 2.4 is intuitively wrong and bad in it's own right