I was recently tripped up by a bug in Puppet, PUP-1244, dealing with how it compares package versions. All of Puppet’s Package types assumed semantic versioning, and that’s far from the case for RPMs and therefore Yum. This manifested itself in how Puppet validates package installations - if a version was explicitly specified and Yum/RPM could install it, puppet would shell out to them and install