You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Benjamin Hindman (JIRA)" <ji...@apache.org> on 2013/03/07 18:41:12 UTC

[jira] [Updated] (MESOS-364) cgroup tests fail on Ubuntu

     [ https://issues.apache.org/jira/browse/MESOS-364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benjamin Hindman updated MESOS-364:
-----------------------------------

    Assignee: Benjamin Hindman
    
> cgroup tests fail on Ubuntu
> ---------------------------
>
>                 Key: MESOS-364
>                 URL: https://issues.apache.org/jira/browse/MESOS-364
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Thomas Marshall
>            Assignee: Benjamin Hindman
>
> Running Ubuntu 12.04.1 on EC2, make check gives the following:
> ...
> [----------] 1 test from LoggingTest
> [ RUN      ] LoggingTest.Toggle
> [       OK ] LoggingTest.Toggle (10 ms)
> [----------] 1 test from LoggingTest (10 ms total)
> [----------] 1 test from CgroupsIsolationTest
> [ RUN      ] CgroupsIsolationTest.ROOT_CGROUPS_BalloonFramework
> ../../src/tests/script.cpp:74: Failure
> Failed
> balloon_framework_test.sh exited with status 2
> [  FAILED  ] CgroupsIsolationTest.ROOT_CGROUPS_BalloonFramework (4038 ms)
> [----------] 1 test from CgroupsIsolationTest (4038 ms total)
> [----------] 5 tests from CgroupsCpusetTest
> [ RUN      ] CgroupsCpusetTest.OneCPUOneCpuset
> [       OK ] CgroupsCpusetTest.OneCPUOneCpuset (1 ms)
> [ RUN      ] CgroupsCpusetTest.OneCPUManyCpusets
> [       OK ] CgroupsCpusetTest.OneCPUManyCpusets (0 ms)
> [ RUN      ] CgroupsCpusetTest.ManyCPUOneCpuset
> [       OK ] CgroupsCpusetTest.ManyCPUOneCpuset (0 ms)
> [ RUN      ] CgroupsCpusetTest.ManyCPUManyCpusets
> [       OK ] CgroupsCpusetTest.ManyCPUManyCpusets (0 ms)
> [ RUN      ] CgroupsCpusetTest.IntegerAllocations
> [       OK ] CgroupsCpusetTest.IntegerAllocations (0 ms)
> [----------] 5 tests from CgroupsCpusetTest (1 ms total)
> [----------] 9 tests from CgroupsAnyHierarchyTest
> [ RUN      ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Enabled
> [       OK ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Enabled (5 ms)
> [ RUN      ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Subsystems
> [       OK ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Subsystems (5 ms)
> [ RUN      ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Mounted
> [       OK ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Mounted (5 ms)
> [ RUN      ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Get
> [       OK ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Get (69 ms)
> [ RUN      ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_NestedCgroups
> [       OK ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_NestedCgroups (9 ms)
> [ RUN      ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Tasks
> ../../src/tests/cgroups_tests.cpp:381: Failure
> Expected: (0u) != (pids.get().count(1)), actual: 0 vs 0
> ../../src/tests/cgroups_tests.cpp:382: Failure
> Expected: (0u) != (pids.get().count(::getpid())), actual: 0 vs 0
> [  FAILED  ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Tasks (5 ms)
> [ RUN      ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Read
> ../../src/tests/cgroups_tests.cpp:394: Failure
> Value of: strings::contains(result.get(), pid)
>   Actual: false
> Expected: true
> [  FAILED  ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Read (5 ms)
> [ RUN      ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Write
> [       OK ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Write (21 ms)
> [ RUN      ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Stat
> ../../src/tests/cgroups_tests.cpp:439: Failure
> result: 'cpuacct.stat' is not a valid control (is subsystem attached?)
> [  FAILED  ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Stat (6 ms)
> [----------] 9 tests from CgroupsAnyHierarchyTest (131 ms total)
> [----------] 5 tests from CgroupsAnyHierarchyWithCpuMemoryTest
> [ RUN      ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_Busy
> ../../src/tests/cgroups_tests.cpp:157: Failure
> cgroups::mount(HIERARCHY, subsystems): 'cpu' is already attached to another hierarchy
> -------------------------------------------------------------
> We cannot run any cgroups tests that require
> a hierarchy with subsystems 'cpu,memory'
> because we failed to find an existing hierarchy
> or create a new one. You can either remove all existing
> hierarchies, or disable this test case
> (i.e., --gtest_filter=-CgroupsAnyHierarchyWithCpuMemoryTest.*).
> -------------------------------------------------------------
> ../../src/tests/cgroups_tests.cpp:192: Failure
> cgroups: '' is not a valid hierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_Busy (3 ms)
> [ RUN      ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_SubsystemsHierarchy
> ../../src/tests/cgroups_tests.cpp:157: Failure
> cgroups::mount(HIERARCHY, subsystems): 'cpu' is already attached to another hierarchy
> -------------------------------------------------------------
> We cannot run any cgroups tests that require
> a hierarchy with subsystems 'cpu,memory'
> because we failed to find an existing hierarchy
> or create a new one. You can either remove all existing
> hierarchies, or disable this test case
> (i.e., --gtest_filter=-CgroupsAnyHierarchyWithCpuMemoryTest.*).
> -------------------------------------------------------------
> ../../src/tests/cgroups_tests.cpp:192: Failure
> cgroups: '' is not a valid hierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_SubsystemsHierarchy (4 ms)
> [ RUN      ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_MountedSubsystems
> ../../src/tests/cgroups_tests.cpp:157: Failure
> cgroups::mount(HIERARCHY, subsystems): 'cpu' is already attached to another hierarchy
> -------------------------------------------------------------
> We cannot run any cgroups tests that require
> a hierarchy with subsystems 'cpu,memory'
> because we failed to find an existing hierarchy
> or create a new one. You can either remove all existing
> hierarchies, or disable this test case
> (i.e., --gtest_filter=-CgroupsAnyHierarchyWithCpuMemoryTest.*).
> -------------------------------------------------------------
> ../../src/tests/cgroups_tests.cpp:192: Failure
> cgroups: '' is not a valid hierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_MountedSubsystems (63 ms)
> [ RUN      ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_CreateRemove
> ../../src/tests/cgroups_tests.cpp:157: Failure
> cgroups::mount(HIERARCHY, subsystems): 'cpu' is already attached to another hierarchy
> -------------------------------------------------------------
> We cannot run any cgroups tests that require
> a hierarchy with subsystems 'cpu,memory'
> because we failed to find an existing hierarchy
> or create a new one. You can either remove all existing
> hierarchies, or disable this test case
> (i.e., --gtest_filter=-CgroupsAnyHierarchyWithCpuMemoryTest.*).
> -------------------------------------------------------------
> ../../src/tests/cgroups_tests.cpp:192: Failure
> cgroups: '' is not a valid hierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_CreateRemove (3 ms)
> [ RUN      ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_Listen
> ../../src/tests/cgroups_tests.cpp:157: Failure
> cgroups::mount(HIERARCHY, subsystems): 'cpu' is already attached to another hierarchy
> -------------------------------------------------------------
> We cannot run any cgroups tests that require
> a hierarchy with subsystems 'cpu,memory'
> because we failed to find an existing hierarchy
> or create a new one. You can either remove all existing
> hierarchies, or disable this test case
> (i.e., --gtest_filter=-CgroupsAnyHierarchyWithCpuMemoryTest.*).
> -------------------------------------------------------------
> ../../src/tests/cgroups_tests.cpp:192: Failure
> cgroups: '' is not a valid hierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_Listen (3 ms)
> [----------] 5 tests from CgroupsAnyHierarchyWithCpuMemoryTest (77 ms total)
> [----------] 1 test from CgroupsNoHierarchyTest
> -------------------------------------------------------------
> We cannot run any cgroups tests that require mounting
> hierarchies because you have the following hierarchies mounted:
> /sys/fs/cgroup/cpu, /sys/fs/cgroup/cpuacct, /sys/fs/cgroup/devices, /sys/fs/cgroup/freezer, /sys/fs/cgroup/memory
> You can either unmount those hierarchies, or disable
> this test case (i.e., --gtest_filter=-CgroupsNoHierarchyTest.*).
> -------------------------------------------------------------
> [ RUN      ] CgroupsNoHierarchyTest.ROOT_CGROUPS_MountUnmountHierarchy
> ../../src/tests/cgroups_tests.cpp:296: Failure
> cgroups::mount(HIERARCHY, "cpu,memory"): 'cpu' is already attached to another hierarchy
> [  FAILED  ] CgroupsNoHierarchyTest.ROOT_CGROUPS_MountUnmountHierarchy (0 ms)
> [----------] 1 test from CgroupsNoHierarchyTest (0 ms total)
> [----------] 3 tests from CgroupsAnyHierarchyWithCpuMemoryFreezerTest
> [ RUN      ] CgroupsAnyHierarchyWithCpuMemoryFreezerTest.ROOT_CGROUPS_Freeze
> ../../src/tests/cgroups_tests.cpp:157: Failure
> cgroups::mount(HIERARCHY, subsystems): 'cpu' is already attached to another hierarchy
> -------------------------------------------------------------
> We cannot run any cgroups tests that require
> a hierarchy with subsystems 'cpu,memory,freezer'
> because we failed to find an existing hierarchy
> or create a new one. You can either remove all existing
> hierarchies, or disable this test case
> (i.e., --gtest_filter=-CgroupsAnyHierarchyWithCpuMemoryFreezerTest.*).
> -------------------------------------------------------------
> ../../src/tests/cgroups_tests.cpp:192: Failure
> cgroups: '' is not a valid hierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryFreezerTest.ROOT_CGROUPS_Freeze (4 ms)
> [ RUN      ] CgroupsAnyHierarchyWithCpuMemoryFreezerTest.ROOT_CGROUPS_Kill
> ../../src/tests/cgroups_tests.cpp:157: Failure
> cgroups::mount(HIERARCHY, subsystems): 'cpu' is already attached to another hierarchy
> -------------------------------------------------------------
> We cannot run any cgroups tests that require
> a hierarchy with subsystems 'cpu,memory,freezer'
> because we failed to find an existing hierarchy
> or create a new one. You can either remove all existing
> hierarchies, or disable this test case
> (i.e., --gtest_filter=-CgroupsAnyHierarchyWithCpuMemoryFreezerTest.*).
> -------------------------------------------------------------
> ../../src/tests/cgroups_tests.cpp:192: Failure
> cgroups: '' is not a valid hierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryFreezerTest.ROOT_CGROUPS_Kill (3 ms)
> [ RUN      ] CgroupsAnyHierarchyWithCpuMemoryFreezerTest.ROOT_CGROUPS_Destroy
> ../../src/tests/cgroups_tests.cpp:157: Failure
> cgroups::mount(HIERARCHY, subsystems): 'cpu' is already attached to another hierarchy
> -------------------------------------------------------------
> We cannot run any cgroups tests that require
> a hierarchy with subsystems 'cpu,memory,freezer'
> because we failed to find an existing hierarchy
> or create a new one. You can either remove all existing
> hierarchies, or disable this test case
> (i.e., --gtest_filter=-CgroupsAnyHierarchyWithCpuMemoryFreezerTest.*).
> -------------------------------------------------------------
> ../../src/tests/cgroups_tests.cpp:192: Failure
> cgroups: '' is not a valid hierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryFreezerTest.ROOT_CGROUPS_Destroy (3 ms)
> [----------] 3 tests from CgroupsAnyHierarchyWithCpuMemoryFreezerTest (10 ms total)
> [----------] 3 tests from FsTest
> [ RUN      ] FsTest.MountTableRead
> [       OK ] FsTest.MountTableRead (0 ms)
> [ RUN      ] FsTest.MountTableHasOption
> [       OK ] FsTest.MountTableHasOption (0 ms)
> [ RUN      ] FsTest.FileSystemTableRead
> [       OK ] FsTest.FileSystemTableRead (0 ms)
> [----------] 3 tests from FsTest (1 ms total)
> [----------] 4 tests from ProcTest
> [ RUN      ] ProcTest.Pids
> [       OK ] ProcTest.Pids (1 ms)
> [ RUN      ] ProcTest.Cpus
> [       OK ] ProcTest.Cpus (0 ms)
> [ RUN      ] ProcTest.SystemStatistics
> [       OK ] ProcTest.SystemStatistics (0 ms)
> [ RUN      ] ProcTest.ProcessStatistics
> [       OK ] ProcTest.ProcessStatistics (1 ms)
> [----------] 4 tests from ProcTest (2 ms total)
> [----------] 15 tests from ZooKeeperTest
> [ RUN      ] ZooKeeperTest.Auth
> [       OK ] ZooKeeperTest.Auth (2768 ms)
> [ RUN      ] ZooKeeperTest.Create
> [       OK ] ZooKeeperTest.Create (2796 ms)
> [ RUN      ] ZooKeeperTest.MasterDetector
> [       OK ] ZooKeeperTest.MasterDetector (648 ms)
> [ RUN      ] ZooKeeperTest.MasterDetectors
> [       OK ] ZooKeeperTest.MasterDetectors (805 ms)
> [ RUN      ] ZooKeeperTest.MasterDetectorShutdownNetwork
> 2013-02-27 23:22:34,673:27037(0x7f151adfb700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:59133] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> [       OK ] ZooKeeperTest.MasterDetectorShutdownNetwork (4237 ms)
> [ RUN      ] ZooKeeperTest.MasterDetectorExpireMasterZKSession
> 2013-02-27 23:22:39,548:27037(0x7f151adfb700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:34023] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> E0227 23:22:39.548373 27053 detector.cpp:477] Master detector ((740)@10.4.118.16:51338)  failed to get masters: connection loss
> 2013-02-27 23:22:42,882:27037(0x7f151adfb700):ZOO_ERROR@handle_socket_error_msg@1621: Socket [127.0.0.1:34023] zk retcode=-112, errno=116(Stale NFS file handle): sessionId=0x13d1df6fe630000 has expired.
> [       OK ] ZooKeeperTest.MasterDetectorExpireMasterZKSession (4803 ms)
> [ RUN      ] ZooKeeperTest.MasterDetectorExpireSlaveZKSession
> 2013-02-27 23:22:43,811:27037(0x7f151bfff700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:43702] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> 2013-02-27 23:22:47,149:27037(0x7f151bfff700):ZOO_ERROR@handle_socket_error_msg@1621: Socket [127.0.0.1:43702] zk retcode=-112, errno=116(Stale NFS file handle): sessionId=0x13d1df70f9b0001 has expired.
> [       OK ] ZooKeeperTest.MasterDetectorExpireSlaveZKSession (4821 ms)
> [ RUN      ] ZooKeeperTest.MasterDetectorExpireSlaveZKSessionNewMaster
> 2013-02-27 23:22:48,857:27037(0x7f151a4f9700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:37117] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> 2013-02-27 23:22:48,901:27037(0x7f151b5fc700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:37117] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> 2013-02-27 23:22:48,903:27037(0x7f151b5fc700):ZOO_ERROR@handle_socket_error_msg@1621: Socket [127.0.0.1:37117] zk retcode=-112, errno=116(Stale NFS file handle): sessionId=0x13d1df722ab0000 has expired.
> E0227 23:22:48.904062 27051 detector.cpp:477] Master detector ((754)@10.4.118.16:51338)  failed to get masters: session expired
> ../../src/tests/zookeeper_tests.cpp:441: Failure
> Mock function called more times than expected - returning directly.
>     Function call: newMasterDetected(@0x7f1540b71cd0 (757)@10.4.118.16:51338)
>          Expected: to be called once
>            Actual: called twice - over-saturated and active
> 2013-02-27 23:22:52,192:27037(0x7f151a4f9700):ZOO_ERROR@handle_socket_error_msg@1621: Socket [127.0.0.1:37117] zk retcode=-112, errno=116(Stale NFS file handle): sessionId=0x13d1df722ab0002 has expired.
> [  FAILED  ] ZooKeeperTest.MasterDetectorExpireSlaveZKSessionNewMaster (4489 ms)
> [ RUN      ] ZooKeeperTest.Group
> [       OK ] ZooKeeperTest.Group (682 ms)
> [ RUN      ] ZooKeeperTest.GroupJoinWithDisconnect
> 2013-02-27 23:22:53,689:27037(0x7f151adfb700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:53182] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> [       OK ] ZooKeeperTest.GroupJoinWithDisconnect (2716 ms)
> [ RUN      ] ZooKeeperTest.GroupDataWithDisconnect
> 2013-02-27 23:22:56,462:27037(0x7f151b5fc700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:41512] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> [       OK ] ZooKeeperTest.GroupDataWithDisconnect (2835 ms)
> [ RUN      ] ZooKeeperTest.GroupCancelWithDisconnect
> 2013-02-27 23:22:59,254:27037(0x7f151adfb700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:38420] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> [       OK ] ZooKeeperTest.GroupCancelWithDisconnect (2794 ms)
> [ RUN      ] ZooKeeperTest.GroupWatchWithSessionExpiration
> 2013-02-27 23:23:02,131:27037(0x7f151b5fc700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:43148] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> 2013-02-27 23:23:04,135:27037(0x7f151b5fc700):ZOO_ERROR@handle_socket_error_msg@1621: Socket [127.0.0.1:43148] zk retcode=-112, errno=116(Stale NFS file handle): sessionId=0x13d1df757390000 has expired.
> [       OK ] ZooKeeperTest.GroupWatchWithSessionExpiration (2892 ms)
> [ RUN      ] ZooKeeperTest.MultipleGroups
> 2013-02-27 23:23:05,058:27037(0x7f151b5fc700):ZOO_ERROR@handle_socket_error_msg@1603: Socket [127.0.0.1:55060] zk retcode=-4, errno=112(Host is down): failed while receiving a server response
> [       OK ] ZooKeeperTest.MultipleGroups (908 ms)
> [ RUN      ] ZooKeeperTest.GroupPathWithRestrictivePerms
> [       OK ] ZooKeeperTest.GroupPathWithRestrictivePerms (6813 ms)
> [----------] 15 tests from ZooKeeperTest (45010 ms total)
> [----------] 2 tests from AllocatorZooKeeperTest/0, where TypeParam = mesos::internal::master::HierarchicalAllocatorProcess<mesos::internal::master::DRFSorter, mesos::internal::master::DRFSorter>
> [ RUN      ] AllocatorZooKeeperTest/0.FrameworkReregistersFirst
> [       OK ] AllocatorZooKeeperTest/0.FrameworkReregistersFirst (3573 ms)
> [ RUN      ] AllocatorZooKeeperTest/0.SlaveReregisterFirst
> [       OK ] AllocatorZooKeeperTest/0.SlaveReregisterFirst (3540 ms)
> [----------] 2 tests from AllocatorZooKeeperTest/0 (7203 ms total)
> [----------] Global test environment tear-down
> [==========] 240 tests from 46 test cases ran. (124639 ms total)
> [  PASSED  ] 225 tests.
> [  FAILED  ] 15 tests, listed below:
> [  FAILED  ] ExamplesTest.PythonFramework
> [  FAILED  ] CgroupsIsolationTest.ROOT_CGROUPS_BalloonFramework
> [  FAILED  ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Tasks
> [  FAILED  ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Read
> [  FAILED  ] CgroupsAnyHierarchyTest.ROOT_CGROUPS_Stat
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_Busy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_SubsystemsHierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_MountedSubsystems
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_CreateRemove
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryTest.ROOT_CGROUPS_Listen
> [  FAILED  ] CgroupsNoHierarchyTest.ROOT_CGROUPS_MountUnmountHierarchy
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryFreezerTest.ROOT_CGROUPS_Freeze
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryFreezerTest.ROOT_CGROUPS_Kill
> [  FAILED  ] CgroupsAnyHierarchyWithCpuMemoryFreezerTest.ROOT_CGROUPS_Destroy
> [  FAILED  ] ZooKeeperTest.MasterDetectorExpireSlaveZKSessionNewMaster

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira