def init_hub(self): c = self.config self.do_import_statements() try: self.factory = HubFactory(config=c, log=self.log) # self.start_logging() self.factory.init_hub() except TraitError: raise except Exception: self.log.error("Couldn't construct the Controller", exc_info=True) self.exit(1) if not self.reuse_files: # save to new json config files f = self.factory cdict = { 'exec_key': f.session.key, 'ssh': self.ssh_server, 'url': "%s://%s:%s" % (f.client_transport, f.client_ip, f.regport), 'location': self.location } self.save_connection_dict(self.client_json_file, cdict) edict = cdict edict['url'] = "%s://%s:%s" % ( (f.client_transport, f.client_ip, f.regport)) edict['ssh'] = self.engine_ssh_server self.save_connection_dict(self.engine_json_file, edict)
def init_hub(self): c = self.config self.do_import_statements() reusing = self.reuse_files if reusing: try: self.load_config_from_json() except (AssertionError, IOError): reusing = False # check again, because reusing may have failed: if reusing: pass elif self.secure: key = str(uuid.uuid4()) # keyfile = os.path.join(self.profile_dir.security_dir, self.exec_key) # with open(keyfile, 'w') as f: # f.write(key) # os.chmod(keyfile, stat.S_IRUSR|stat.S_IWUSR) c.Session.key = asbytes(key) else: key = c.Session.key = b'' try: self.factory = HubFactory(config=c, log=self.log) # self.start_logging() self.factory.init_hub() except: self.log.error("Couldn't construct the Controller", exc_info=True) self.exit(1) if not reusing: # save to new json config files f = self.factory cdict = { 'exec_key': key, 'ssh': self.ssh_server, 'url': "%s://%s:%s" % (f.client_transport, f.client_ip, f.regport), 'location': self.location } self.save_connection_dict('ipcontroller-client.json', cdict) edict = cdict edict['url'] = "%s://%s:%s" % ( (f.client_transport, f.client_ip, f.regport)) self.save_connection_dict('ipcontroller-engine.json', edict)
def init_hub(self): c = self.config self.do_import_statements() try: self.factory = HubFactory(config=c, log=self.log) # self.start_logging() self.factory.init_hub() except TraitError: raise except Exception: self.log.error("Couldn't construct the Controller", exc_info=True) self.exit(1) if self.write_connection_files: # save to new json config files f = self.factory base = { 'key': f.session.key.decode('ascii'), 'location': self.location, 'pack': f.session.packer, 'unpack': f.session.unpacker, 'signature_scheme': f.session.signature_scheme, } cdict = {'ssh': self.ssh_server} cdict.update(f.client_info) cdict.update(base) self.save_connection_dict(self.client_json_file, cdict) edict = {'ssh': self.engine_ssh_server} edict.update(f.engine_info) edict.update(base) self.save_connection_dict(self.engine_json_file, edict) fname = "engines%s.json" % self.cluster_id self.factory.hub.engine_state_file = os.path.join( self.profile_dir.log_dir, fname) if self.restore_engines: self.factory.hub._load_engine_state() # load key into config so other sessions in this process (TaskScheduler) # have the same value self.config.Session.key = self.factory.session.key