[PUP-2378] Use of rpm -q --whatprovides breaks working manifest Created: 2014/04/28  Updated: 2014/07/28  Resolved: 2014/05/20

Status: Closed
Project: Puppet
Component/s: None
Affects Version/s: PUP 3.5.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Nathan Grennan Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

CentOS 6.5

Issue Links:
duplicates PUP-2182 Package resource not working as expec... Closed


I had working code to install Percona MySQL server after removing mysql and mysql-devel. The example below worked with puppet 3.4.3, but with 3.5.1 it doesn't. Reverting to 3.4.3 did fix this problem. The problem is that 3.5.1 is now doing a --whatprovides on the second run, and it sees Percona-Server-client-55-5.5.34-rel32.0.591.rhel6.x86_64. It then tries to remove it, but then it is a requirement of Percona-Server-server-55-5.5.34-rel32.0.591.rhel6.x86_64.

I found multiple bug reports of why whatprovides was added, but at least I need a way to disable it's use for this case, or revert and add whatprovides as a resource of package.


$removemysqlpackages = [


{ $removemysqlpackages: ensure => 'absent', }

$perconapackages = [


{ $perconapackages: ensure => 'installed', require => [ Group['mysql'], Package[$removemysqlpackages], ], }

Comment by Josh Cooper [ 2014/05/20 ]

Nathan Grennan In 3.6.1, we've made this new behavior entirely opt-in. So puppet should default to its old behavior, but will support the new behavior, by specifying "allow_virtual => true" in your package resource(s) both with ensure present and absent. I'm going to mark this ticket as a duplicate. If you continue to run into issues with 3.6.1, please let us know.

Comment by Nathan Grennan [ 2014/05/21 ]

Thank you, that is exactly what I was looking for.

Generated at Mon Dec 09 12:28:57 PST 2019 using JIRA 7.7.1#77002-sha1:e75ca93d5574d9409c0630b81c894d9065296414.