A complete rewrite of the chef-client yum_package provider has landed in Chef-14 master (14.0.142 or later).
It should more accurately match the CLI syntax of yum install
now. It should fully support versions, arches and version globs in the argument correctly. It supports provides syntax like yum_package "perl(Git)"
correctly. Many reported and unreported edge conditions around version numbers and version number fencing should be fixed via the fact that we now use the O/S python libraries to do those operations rather than the ruby implementation of RPM version comparison that was in prior chef-client versions. Memory should be reduced, possibly fairly dramatically by the elimination of the YumCache. There is now a long-ish lived python process that lasts for as long as chef-client process is doing a converge which acts as the cache / source-of-truth for the yum package provider (it is designed to never stack up and fail-fast and be production-safe but if anyone spots multiple copies of that process stacking up please raise an alarm). Speed should also be comparable or improved (although yum itself is simply slow). This approach is based on the approach that has been used in the dnf_package provider since its introduction in 12.21.x
to use omnitruck to install current:
curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -c current -P chef
Pointing a Gemfile at master of https://github.com/chef/chef.git would also work as well, etc.