Install o-p-m dependencies on all nodes
In some corner-cases rubygem-json is not installed together with Puppet and installation fails. This patch makes Packstack install o-p-m dependencies on every host. Next o-p-m build will have all required dependencies. Change-Id: I465ae1bf558b06a4f1bb1d1e808afdcc32dcdc74
This commit is contained in:
		| @@ -73,9 +73,24 @@ def runCleanup(config): | ||||
|  | ||||
|  | ||||
| def installdeps(config): | ||||
|     deps = ["puppet", "openssh-clients", "tar", "nc"] | ||||
|     modules_pkg = 'openstack-puppet-modules' | ||||
|  | ||||
|     local = utils.ScriptRunner() | ||||
|     local.append('rpm -q --requires %s | egrep -v "^(rpmlib|\/|perl)"' | ||||
|                  % modules_pkg) | ||||
|     rc, modules_deps = local.execute() | ||||
|  | ||||
|     # Modules package might not be installed if we are running from source. | ||||
|     # In this case we assume user knows what (s)he's doing and we don't | ||||
|     # install modules dependencies | ||||
|     if ('%s is not installed' % modules_pkg) not in modules_deps: | ||||
|         modules_deps = [i.strip() for i in modules_deps.split() if i.strip()] | ||||
|         deps.extend(modules_deps) | ||||
|  | ||||
|     for hostname in filtered_hosts(config): | ||||
|         server = utils.ScriptRunner(hostname) | ||||
|         for package in ("puppet", "openssh-clients", "tar", "nc"): | ||||
|         for package in deps: | ||||
|             server.append("rpm -q --whatprovides %s || yum install -y %s" % (package, package)) | ||||
|         server.execute() | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Magr
					Martin Magr