We don't need to be caching EC2 metadata in our facter runs because we
don't use this. By leaving this on, it can cause problems when run on
VMs in a cloud that might support EC2. By having this enabled, we can
see deployments failing to configure nodes because it timesout:
2020-05-13 22:38:30.574339 ERROR puppetlabs.facter - EC2 user data
request failed: Timeout was reached
Additionally if facter fails to generate the cache, the subsequent
puppet runs will fail. This change also added retries to the facter
cache call to ensure that we should be able to generate the cache if an
external fact call fails for some reason.
NOTE: The master patch for this is against tripleo-ansible
Closes-Bug: #1861917
Change-Id: Iaaed0dcf747ca4a08f8e200b43d0f2259ad0ed39
(cherry-picked from c3b57d6a6c)