Example #1
0
    def on_become_master(self):
        self._ssh.start_listening()
        self._journaler.set_connection_strings(
            self.config.agency.journal)
        try:
            self._start_master_gateway()
        except Exception as e:
            error.handle_exception(
                self, e, "Failed setting up gateway, it will stay disabled.")

        self._redirect_text_log()
        self._create_pid_file()
        self._link_log_file(options.MASTER_LOG_LINK)

        signal.signal(signal.SIGUSR1, self._sigusr1_handler)
        signal.signal(signal.SIGUSR2, self._sigusr2_handler)

        backends = []
        backends.append(self._initiate_messaging(self.config.msg))
        backends.append(self._initiate_tunneling(self.config.tunnel))
        backends.append(unix.Master(self._broker))
        backends = filter(None, backends)

        d = defer.succeed(None)
        for backend in backends:
            d.addCallback(defer.drop_param,
                          self._messaging.add_backend, backend)

        if (self.config.agency.enable_spawning_slave
            and sys.platform != "win32"):
            d.addCallback(defer.drop_param, self._spawn_backup_agency)

        d.addCallback(defer.drop_param, self._start_host_agent)
        return d
Example #2
0
 def _install_sighup(self):
     if self._sighup_installed:
         return
     if self._filename == ':memory:':
         return
     signal.signal(signal.SIGHUP, self._sighup_handler)
     self._sighup_installed = True
Example #3
0
 def _install_sighup(self):
     if self._sighup_installed:
         return
     if self._filename == ':memory:':
         return
     self.log('Installing SIGHUP handler.')
     signal.signal(signal.SIGHUP, self._sighup_handler)
     self._sighup_installed = True
Example #4
0
    def on_become_master(self):
        self._ssh.start_listening()
        filename = os.path.join(self.config['agency']['logdir'],
                                self.config['agency']['journal'])
        self._journal_writer = journaler.SqliteWriter(
            self, filename=filename, encoding='zip',
            on_rotate=self._force_snapshot_agents)
        self._journaler.configure_with(self._journal_writer)
        self._journal_writer.initiate()
        self._start_master_gateway()

        self._redirect_text_log()
        self._create_pid_file()
        self._link_log_file(options.MASTER_LOG_LINK)

        signal.signal(signal.SIGUSR1, self._sigusr1_handler)
        signal.signal(signal.SIGUSR2, self._sigusr2_handler)

        if 'enable_host_restart' not in self._broker.shared_state:
            value = self.config['agency']['force_host_restart']
            self._broker.shared_state['enable_host_restart'] = value

        backends = []
        backends.append(self._initiate_messaging(self.config['msg']))
        backends.append(self._initiate_tunneling(self.config['tunnel']))
        backends.append(unix.Master(self._broker))
        backends = filter(None, backends)

        d = defer.succeed(None)
        for backend in backends:
            d.addCallback(defer.drop_param,
                          self._messaging.add_backend, backend)

        if (self.config['agency']['enable_spawning_slave']
            and sys.platform != "win32"):
            d.addCallback(defer.drop_param, self._spawn_backup_agency)

        d.addCallback(defer.drop_param, self._start_host_agent)
        return d
Example #5
0
        def __init__(self):
            self.sleeping = True
            import signal  # @Reimport

            self.oldhandler = signal.signal(signal.SIGTERM, self._SIGTERMHandler)
Example #6
0
 def __init__(self, signum, signal=signal):
     self.called = 0
     self.signum = signum
     signal.signal(signum, self._handler)