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
示例#2
0
 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
示例#3
0
 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
示例#4
0
 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
示例#5
0
 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
示例#6
0
 def __init__(self, enable_notebook=False, notebook_passwd=None):
     self.enable_notebook = enable_notebook
     self.notebook_passwd = notebook_passwd or utils.generate_passwd(16)
示例#7
0
 def __init__(self, enable_notebook=False, notebook_passwd=None):
     self.enable_notebook = enable_notebook
     self.notebook_passwd = notebook_passwd or utils.generate_passwd(16)