@Test
  public void testDomainRespawn() throws Exception {
    // Make sure everything started
    List<RunningProcess> processes = waitForAllProcesses();
    readHostControllerServers();

    // Kill the master HC and make sure that it gets restarted
    RunningProcess originalHc = processUtil.getProcess(processes, HOST_CONTROLLER);
    Assert.assertNotNull(originalHc);
    processUtil.killProcess(originalHc);
    processes = waitForAllProcesses();
    RunningProcess respawnedHc = processUtil.getProcess(processes, HOST_CONTROLLER);
    Assert.assertNotNull(respawnedHc);
    Assert.assertFalse(originalHc.getProcessId().equals(respawnedHc.getProcessId()));

    readHostControllerServers();

    // Kill a server and make sure that it gets restarted
    RunningProcess originalServerOne = processUtil.getProcess(processes, SERVER_ONE);
    Assert.assertNotNull(originalServerOne);
    processUtil.killProcess(originalServerOne);
    processes = waitForAllProcesses();
    RunningProcess respawnedServerOne = processUtil.getProcess(processes, SERVER_ONE);
    Assert.assertNotNull(respawnedServerOne);
    Assert.assertFalse(originalServerOne.getProcessId().equals(respawnedServerOne.getProcessId()));
    readHostControllerServers();
  }