| Puppet Version: 7.5 Puppet Server Version: 7.1.0 OS Name/Version: CentOS 7.8 Puppet does not install packages to update virtual provides of other packages. This appears to be approximately the opposite of the situation described in PUP-10798. Desired Behavior: Puppet should ensure that the latest available version of the requested package is installed. Actual Behavior: Puppet denies that there is an update available. In the specific case where I hit this issue, the target nodes have package python-pandas-0.17.1-1.el7.x86_64 installed, and it declares a virtual provide for python2-pandas, version 0.17.1-1.el7. In my local repository, I have a package python2-pandas-0.24.2-1.el7.myorg.x86_64, which I want Puppet to install. Under those circumstances, when I then ask yum directly to either install or update package python2-pandas, it offers the version 0.24.2 package (and because of obsoletes processing, this replaces the other). If I try to have Puppet do the same, however, it claims that the latest available version is already installed. The Puppet resource I am applying is
package { 'python2-pandas': ensure => 'latest' } |
The debug log has this to say:
Debug: Executing: '/bin/rpm -q python2-pandas --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\n' |
Debug: Executing: '/bin/rpm -q python2-pandas --nosignature --nodigest --qf %{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH}\n --whatprovides' |
Debug: Package[python2-pandas](provider=yum): Yum didn't find updates, current version (0.17.1-1.el7) is the latest
|
Contrast with the (partial) output of yum update python2-pandas: ====================================================================== Package Arch Version Repository Size ====================================================================== Installing: python2-pandas x86_64 0.24.2-1.el7.myorg myrepo 10 M replacing python-pandas.x86_64 0.17.1-1.el7 [...] ===================================================================== Install 2 Packages (+4 Dependent packages) |