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:

committed by
Pádraig Brady

parent
b2c593e568
commit
43c65678d9
@@ -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):
|
||||
|
@@ -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 = []
|
||||
|
@@ -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):
|
||||
|
@@ -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')
|
||||
|
Reference in New Issue
Block a user