def test_get_mesos_status( mock_get_mesos_stats, mock_get_num_masters, mock_get_configured_quorum_size, mock_getfqdn, ): mock_getfqdn.return_value = 'fakename' mock_get_mesos_stats.return_value = { 'master/cpus_total': 10, 'master/cpus_used': 8, 'master/mem_total': 10240, 'master/mem_used': 2048, 'master/disk_total': 10240, 'master/disk_used': 3072, 'master/tasks_running': 3, 'master/tasks_staging': 4, 'master/tasks_starting': 0, 'master/slaves_active': 4, 'master/slaves_inactive': 0, } mesos_state = { 'flags': { 'zk': 'zk://1.1.1.1:2222/fake_cluster', 'quorum': 2, }, 'frameworks': [ { 'name': 'test_framework1', }, { 'name': 'test_framework1', }, ] } mock_get_num_masters.return_value = 5 mock_get_configured_quorum_size.return_value = 3 expected_cpus_output = "CPUs: 8.00 / 10 in use (%s)" % PaastaColors.green("80.00%") expected_mem_output = \ "Memory: 2.00 / 10.00GB in use (%s)" % PaastaColors.green("20.00%") expected_disk_output = "Disk: 3.00 / 10.00GB in use (%s)" % PaastaColors.green("30.00%") expected_tasks_output = \ "tasks: running: 3 staging: 4 starting: 0" expected_duplicate_frameworks_output = \ "frameworks:\n%s" % \ PaastaColors.red(" CRITICAL: Framework test_framework1 has 2 instances running--expected no more than 1.") expected_slaves_output = \ "slaves: active: 4 inactive: 0" expected_masters_quorum_output = \ "quorum: masters: 5 configured quorum: 3 " results = paasta_metastatus.get_mesos_status(mesos_state, verbosity=0) assert mock_get_mesos_stats.called_once() assert (expected_masters_quorum_output, True) in results assert (expected_cpus_output, True) in results assert (expected_mem_output, True) in results assert (expected_disk_output, True) in results assert (expected_tasks_output, True) in results assert (expected_duplicate_frameworks_output, False) in results assert (expected_slaves_output, True) in results
def test_get_mesos_status( mock_get_mesos_state_from_leader, mock_get_mesos_stats, mock_get_num_masters, mock_get_configured_quorum_size, mock_getfqdn, ): mock_getfqdn.return_value = 'fakename' mock_get_mesos_stats.return_value = { 'master/cpus_total': 10, 'master/cpus_used': 8, 'master/mem_total': 10240, 'master/mem_used': 2048, 'master/tasks_running': 3, 'master/tasks_staging': 4, 'master/tasks_starting': 0, 'master/slaves_active': 4, 'master/slaves_inactive': 0, } mock_get_mesos_state_from_leader.return_value = { 'flags': { 'zk': 'zk://1.1.1.1:2222/fake_cluster', 'quorum': 2, }, 'frameworks': [ { 'name': 'test_framework1', }, { 'name': 'test_framework1', }, ] } mock_get_num_masters.return_value = 5 mock_get_configured_quorum_size.return_value = 3 expected_cpus_output = "CPUs: 8.00 / 10 in use (%s)" % PaastaColors.green( "80.00%") expected_mem_output = \ "Memory: 2.00 / 10.00GB in use (%s)" % PaastaColors.green("20.00%") expected_tasks_output = \ "tasks: running: 3 staging: 4 starting: 0" expected_duplicate_frameworks_output = \ "frameworks:\n%s" % \ PaastaColors.red(" CRITICAL: Framework test_framework1 has 2 instances running--expected no more than 1.") expected_slaves_output = \ "slaves: active: 4 inactive: 0" expected_masters_quorum_output = \ "quorum: masters: 5 configured quorum: 3 " results = paasta_metastatus.get_mesos_status() assert mock_get_mesos_stats.called_once() assert mock_get_mesos_state_from_leader.called_once() assert (expected_masters_quorum_output, True) in results assert (expected_cpus_output, True) in results assert (expected_mem_output, True) in results assert (expected_tasks_output, True) in results assert (expected_duplicate_frameworks_output, False) in results assert (expected_slaves_output, True) in results
def test_get_mesos_status( mock_get_mesos_state_from_leader, mock_get_mesos_stats, mock_get_num_masters, mock_get_configured_quorum_size, mock_getfqdn, ): mock_getfqdn.return_value = "fakename" mock_get_mesos_stats.return_value = { "master/cpus_total": 10, "master/cpus_used": 8, "master/mem_total": 10240, "master/mem_used": 2048, "master/tasks_running": 3, "master/tasks_staging": 4, "master/tasks_starting": 0, "master/slaves_active": 4, "master/slaves_inactive": 0, } mock_get_mesos_state_from_leader.return_value = { "flags": {"zk": "zk://1.1.1.1:2222/fake_cluster", "quorum": 2}, "frameworks": [{"name": "test_framework1"}, {"name": "test_framework1"}], } mock_get_num_masters.return_value = 5 mock_get_configured_quorum_size.return_value = 3 expected_cpus_output = "CPUs: 8.00 / 10 in use (%s)" % PaastaColors.green("80.00%") expected_mem_output = "Memory: 2.00 / 10.00GB in use (%s)" % PaastaColors.green("20.00%") expected_tasks_output = "tasks: running: 3 staging: 4 starting: 0" expected_duplicate_frameworks_output = "frameworks:\n%s" % PaastaColors.red( " CRITICAL: Framework test_framework1 has 2 instances running--expected no more than 1." ) expected_slaves_output = "slaves: active: 4 inactive: 0" expected_masters_quorum_output = "quorum: masters: 5 configured quorum: 3 " results = paasta_metastatus.get_mesos_status() assert mock_get_mesos_stats.called_once() assert mock_get_mesos_state_from_leader.called_once() assert (expected_masters_quorum_output, True) in results assert (expected_cpus_output, True) in results assert (expected_mem_output, True) in results assert (expected_tasks_output, True) in results assert (expected_duplicate_frameworks_output, False) in results assert (expected_slaves_output, True) in results
def test_missing_master_exception(mock_fetch_from_leader): mock_fetch_from_leader.side_effect = mesos_tools.MasterNotAvailableException("Missing") with raises(mesos_tools.MasterNotAvailableException) as exception_info: paasta_metastatus.get_mesos_status() assert "Missing" in str(exception_info.value)
def test_missing_master_exception(mock_fetch_from_leader): mock_fetch_from_leader.side_effect = mesos_tools.MasterNotAvailableException( 'Missing') with raises(mesos_tools.MasterNotAvailableException) as exception_info: paasta_metastatus.get_mesos_status() assert 'Missing' in str(exception_info.value)