Package starcluster :: Package plugins :: Module pkginstaller
[hide private]
[frames] | no frames]

Source Code for Module starcluster.plugins.pkginstaller

 1  from starcluster import clustersetup 
 2  from starcluster.logger import log 
 3   
 4   
5 -class PackageInstaller(clustersetup.DefaultClusterSetup):
6 """ 7 This plugin installs Ubuntu packages on all nodes in the cluster. The 8 packages are specified in the plugin's config: 9 10 [plugin pkginstaller] 11 setup_class = starcluster.plugins.pkginstaller.PackageInstaller 12 packages = mongodb, python-mongodb 13 """
14 - def __init__(self, packages=None):
15 super(PackageInstaller, self).__init__() 16 self.packages = packages 17 if packages: 18 self.packages = [pkg.strip() for pkg in packages.split(',')]
19
20 - def run(self, nodes, master, user, user_shell, volumes):
21 if not self.packages: 22 log.info("No packages specified!") 23 return 24 log.info('Installing the following packages on all nodes:') 25 log.info(', '.join(self.packages), extra=dict(__raw__=True)) 26 pkgs = ' '.join(self.packages) 27 for node in nodes: 28 self.pool.simple_job(node.apt_install, (pkgs), jobid=node.alias) 29 self.pool.wait(len(nodes))
30