def __init__(self, enable_notebook=False, notebook_passwd=None, notebook_directory=None, packer=None, n_engines_per_node=None, n_engines_master=None, hub_db_class='IPython.parallel.controller.dictdb.NoDB', log_level='INFO'): super(ReliableIPCluster, self).__init__() if isinstance(enable_notebook, basestring): self.enable_notebook = enable_notebook.lower().strip() == 'true' else: self.enable_notebook = enable_notebook self.notebook_passwd = notebook_passwd or utils.generate_passwd(16) self.notebook_directory = notebook_directory self.hub_db_class = hub_db_class if n_engines_per_node is None: self.n_engines_per_node = None else: self.n_engines_per_node = int(n_engines_per_node) if n_engines_master is None: self.n_engines_master = None else: self.n_engines_master = int(n_engines_master) self.log_level = log_level if packer not in (None, 'json', 'pickle', 'msgpack'): log.error("Unsupported packer: %s", packer) self.packer = None else: self.packer = packer
def __init__(self, enable_notebook=False, notebook_passwd=None, notebook_directory=None, packer=None, log_level='INFO'): super(IPCluster, self).__init__() if isinstance(enable_notebook, basestring): self.enable_notebook = enable_notebook.lower().strip() == 'true' else: self.enable_notebook = enable_notebook self.notebook_passwd = notebook_passwd or utils.generate_passwd(16) self.notebook_directory = notebook_directory self.log_level = log_level if packer not in (None, 'json', 'pickle', 'msgpack'): log.error("Unsupported packer: %s", packer) self.packer = None else: self.packer = packer
def _get_newusers_batch_file(self, master, usernames, shell, batch_file=None): batch_file = batch_file or self.BATCH_USER_FILE if master.ssh.isfile(batch_file): bfile = master.ssh.remote_file(batch_file, 'r') bfilecontents = bfile.read() bfile.close() return bfilecontents bfilecontents = '' tmpl = "%(username)s:%(password)s:%(uid)d:%(gid)d:" tmpl += "Cluster user account %(username)s:" tmpl += "/home/%(username)s:%(shell)s\n" shpath = master.ssh.which(shell)[0] ctx = dict(shell=shpath) base_uid, base_gid = self._get_max_unused_user_id() for user in usernames: home_folder = '/home/%s' % user if master.ssh.path_exists(home_folder): s = master.ssh.stat(home_folder) uid = s.st_uid gid = s.st_gid else: uid = base_uid gid = base_gid base_uid += 1 base_gid += 1 passwd = utils.generate_passwd(8) ctx.update(username=user, uid=uid, gid=gid, password=passwd) bfilecontents += tmpl % ctx pardir = posixpath.dirname(batch_file) if not master.ssh.isdir(pardir): master.ssh.makedirs(pardir) bfile = master.ssh.remote_file(batch_file, 'w') bfile.write(bfilecontents) bfile.close() return bfilecontents
def __init__(self, enable_notebook=False, notebook_passwd=None): self.enable_notebook = enable_notebook self.notebook_passwd = notebook_passwd or utils.generate_passwd(16)