use rpm -q --whatprovides as a more general check

When dealing with versions use: -q
When dealing with names use: -q --whatprovides

Releated to http://projects.puppetlabs.com/issues/5831

Change-Id: I443da6ac74f821241405ba1e3d3e005edc8d29ff
This commit is contained in:
Pádraig Brady
2013-10-25 17:05:23 +01:00
committed by Pádraig Brady
parent b2c593e568
commit 43c65678d9
4 changed files with 6 additions and 6 deletions

View File

@@ -334,8 +334,8 @@ class PackstackDrone(SshTarballTransferMixin, Drone):
super(PackstackDrone, self).init_node()
server = utils.ScriptRunner(self.node)
for pkg in ("puppet", "openssh-clients", "tar"):
server.append("rpm -q %(pkg)s || yum install -y %(pkg)s"
% locals())
server.append("rpm -q --whatprovides %(pkg)s || "
"yum install -y %(pkg)s" % locals())
server.execute()
def add_resource(self, path, resource_type=None):

View File

@@ -53,7 +53,7 @@ def execute(cmd, workdir=None, can_fail=True, mask_list=None,
class ScriptRunner(object):
_pkg_search = 'rpm -q'
_pkg_search = 'rpm -q --whatprovides'
def __init__(self, ip=None):
self.script = []

View File

@@ -239,7 +239,7 @@ def install_cinder_deps(config):
if config['CONFIG_CINDER_BACKEND'] == 'lvm':
pkgs.append('lvm2')
for p in pkgs:
server.append("rpm -q %(package)s || yum install -y %(package)s" % dict(package=p))
server.append("rpm -q --whatprovides %(package)s || yum install -y %(package)s" % dict(package=p))
server.execute()
def check_cinder_vg(config):

View File

@@ -360,7 +360,7 @@ def run_rhsm_reg(host, username, password, beta):
server.append("subscription-manager repos --enable rhel-6-server-optional-rpms")
server.append("yum clean all")
server.append("rpm -q yum-utils || yum install -y yum-utils")
server.append("rpm -q --whatprovides yum-utils || yum install -y yum-utils")
if beta:
server.append("yum-config-manager --enable rhel-6-server-beta-rpms")
server.append("yum clean metadata")
@@ -382,7 +382,7 @@ def manage_epel(host, config):
server.append("echo -e '[packstack-epel]\nname=packstack-epel\n"
"enabled=1\nmirrorlist=%(mirrors)s' >> $REPOFILE"
% locals())
server.append('( rpm -q epel-release ||'
server.append('( rpm -q --whatprovides epel-release ||'
' yum install -y --nogpg -c $REPOFILE epel-release ) '
'|| true')
server.append('rm -rf $REPOFILE')