@Override
  public ChaosMonkey build() {
    loadProperties();

    Action[] actions1 =
      new Action[] { new AddCPULoadAction(cpuLoadDuration, cpuLoadProcesses, networkIssueTimeout),
        new CorruptPacketsCommandAction(networkIssueRation, networkIssueDuration,
          networkIssueTimeout, networkIssueInterface),
        new DuplicatePacketsCommandAction(networkIssueRation, networkIssueDuration,
          networkIssueTimeout, networkIssueInterface),
        new LosePacketsCommandAction(networkIssueRation, networkIssueDuration, networkIssueTimeout,
          networkIssueInterface),
        new DelayPacketsCommandAction(networkIssueDelay, networkIssueDuration, networkIssueTimeout,
          networkIssueInterface),
        new ReorderPacketsCommandAction(networkIssueRation, networkIssueDuration, networkIssueDelay,
          networkIssueTimeout, networkIssueInterface),
        new FillDiskCommandAction(fillDiskFileSize, fillDiskIssueduration, fillDiskPath,
          fillDiskTimeout) };

    // Action to log more info for debugging
    Action[] actions2 = new Action[] { new DumpClusterStatusAction() };

    return new PolicyBasedChaosMonkey(properties, util,
      new PeriodicRandomActionPolicy(action1Period, actions1),
      new PeriodicRandomActionPolicy(action2Period, actions2));
  }
A chaos monkey to create distributed cluster related issues, requires a user with passwordless
ssh access to the cluster and sudo privileges.
hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/factories/DistributedIssuesMonkeyFactory.java