Esempio n. 1
0
    def do():
        logging.info("Going to drop packets from %s for %d seconds..." %
                     (repr(daemons), seconds))

        # Figure out what ports the daemons are listening on
        all_ports = []
        for daemon in daemons:
            pid = procutils.find_jvm(daemon)
            if not pid:
                logging.warn("Daemon %s not running!" % daemon)
                continue
            ports = procutils.get_listening_ports(pid)
            logging.info("%s is listening on ports: %s" %
                         (daemon, repr(ports)))
            all_ports.extend(ports)

        if not all_ports:
            logging.warn("No ports found for daemons: %s. Skipping fault." %
                         repr(daemons))
            return

        # Set up a chain to drop the packets
        chain = iptables.create_gremlin_chain(all_ports)
        logging.info("Created iptables chain: %s" % chain)
        iptables.add_user_chain_to_input_chain(chain)

        logging.info("Gremlin chain %s installed, sleeping %d seconds" %
                     (chain, seconds))
        time.sleep(seconds)

        logging.info("Removing gremlin chain %s" % chain)
        iptables.remove_user_chain_from_input_chain(chain)
        iptables.delete_user_chain(chain)
        logging.info("Removed gremlin chain %s" % chain)
Esempio n. 2
0
  def do():
    logging.info("Going to drop packets from %s for %d seconds..." %
                 (repr(daemons), seconds))

    # Figure out what ports the daemons are listening on
    all_ports = []
    for daemon in daemons:
      pid = procutils.find_jvm(daemon)
      if not pid:
        logging.warn("Daemon %s not running!" % daemon)
        continue
      ports = procutils.get_listening_ports(pid)
      logging.info("%s is listening on ports: %s" % (daemon, repr(ports)))
      all_ports.extend(ports)

    if not all_ports:
      logging.warn("No ports found for daemons: %s. Skipping fault." % repr(daemons))
      return

    # Set up a chain to drop the packets
    chain = iptables.create_gremlin_chain(all_ports)
    logging.info("Created iptables chain: %s" % chain)
    iptables.add_user_chain_to_input_chain(chain)

    logging.info("Gremlin chain %s installed, sleeping %d seconds" % (chain, seconds))
    time.sleep(seconds)

    logging.info("Removing gremlin chain %s" % chain)
    iptables.remove_user_chain_from_input_chain(chain)
    iptables.delete_user_chain(chain)
    logging.info("Removed gremlin chain %s" % chain)
Esempio n. 3
0
  def do():
    # Stop all daemons, record their pids
    for jvm_name in jvm_names:
      pid = procutils.find_jvm(jvm_name)
      if not pid:
        logging.warn("No pid found for %s" % jvm_name)
        continue
      logging.warn("Suspending %s pid %d for %d seconds" % (jvm_name, pid, seconds))
      os.kill(pid, signal.SIGSTOP)

    # Pause for prescribed amount of time
    time.sleep(seconds)

    # Resume them
    for jvm_name in jvm_names:
      pid = procutils.find_jvm(jvm_name)
      if pid:
        logging.warn("Resuming %s pid %d" % (jvm_name, pid))
        os.kill(pid, signal.SIGCONT)
Esempio n. 4
0
    def do():
        # Stop all daemons, record their pids
        for jvm_name in jvm_names:
            pid = procutils.find_jvm(jvm_name)
            if not pid:
                logging.warn("No pid found for %s" % jvm_name)
                continue
            logging.warn("Suspending %s pid %d for %d seconds" %
                         (jvm_name, pid, seconds))
            os.kill(pid, signal.SIGSTOP)

        # Pause for prescribed amount of time
        time.sleep(seconds)

        # Resume them
        for jvm_name in jvm_names:
            pid = procutils.find_jvm(jvm_name)
            if pid:
                logging.warn("Resuming %s pid %d" % (jvm_name, pid))
                os.kill(pid, signal.SIGCONT)
Esempio n. 5
0
  def do():
    # First kill
    for daemon in daemons:
      pid = procutils.find_jvm(daemon)
      if pid:
        logging.info("Killing %s pid %d with signal %d" % (daemon, pid, signal))
        os.kill(pid, signal)
      else:
        logging.info("There was no %s running!" % daemon)

    logging.info("Sleeping for %d seconds" % restart_after)
    time.sleep(restart_after)

    for daemon in daemons:
      logging.info("Restarting %s" % daemon);
      procutils.start_daemon(daemon)
Esempio n. 6
0
    def do():
        # First kill
        for daemon in daemons:
            pid = procutils.find_jvm(daemon)
            if pid:
                logging.info("Killing %s pid %d with signal %d" %
                             (daemon, pid, signal))
                os.kill(pid, signal)
            else:
                logging.info("There was no %s running!" % daemon)

        logging.info("Sleeping for %d seconds" % restart_after)
        time.sleep(restart_after)

        for daemon in daemons:
            logging.info("Restarting %s" % daemon)
            procutils.start_daemon(daemon)