示例#1
0
def test_get_paasta_execute_docker_healthcheck_when_not_found():
    mock_docker_client = mock.MagicMock(spec_set=docker.Client)
    fake_mesos_id = 'fake_mesos_id'
    fake_container_info = [
        {
            'Config': {
                'Env':
                ['fake_key1=fake_value1', 'MESOS_TASK_ID=fake_other_mesos_id']
            },
            'Id': '11111'
        },
        {
            'Config': {
                'Env': [
                    'fake_key2=fake_value2',
                    'MESOS_TASK_ID=fake_other_mesos_id2'
                ]
            },
            'Id': '2222'
        },
    ]
    mock_docker_client.containers = mock.MagicMock(
        spec_set=docker.Client,
        return_value=['fake_container_1', 'fake_container_2'],
    )
    mock_docker_client.inspect_container = mock.MagicMock(
        spec_set=docker.Client,
        side_effect=fake_container_info,
    )
    assert mesos_tools.get_container_id_for_mesos_id(mock_docker_client,
                                                     fake_mesos_id) is None
示例#2
0
def test_get_paasta_execute_docker_healthcheck_when_not_found():
    mock_docker_client = mock.MagicMock(spec_set=docker.Client)
    fake_mesos_id = "fake_mesos_id"
    fake_container_info = [
        {
            "Config": {
                "Env":
                ["fake_key1=fake_value1", "MESOS_TASK_ID=fake_other_mesos_id"]
            },
            "Id": "11111",
        },
        {
            "Config": {
                "Env": [
                    "fake_key2=fake_value2",
                    "MESOS_TASK_ID=fake_other_mesos_id2"
                ]
            },
            "Id": "2222",
        },
    ]
    mock_docker_client.containers = mock.MagicMock(
        spec_set=docker.Client,
        return_value=["fake_container_1", "fake_container_2"])
    mock_docker_client.inspect_container = mock.MagicMock(
        spec_set=docker.Client, side_effect=fake_container_info)
    assert (mesos_tools.get_container_id_for_mesos_id(mock_docker_client,
                                                      fake_mesos_id) is None)
示例#3
0
def main():
    args = parse_args()

    if not args.mesos_id:
        paasta_print(
            "The Mesos task id you supplied seems to be an empty string! Please provide a valid task id."
        )
        sys.exit(2)

    docker_client = get_docker_client()

    container_id = get_container_id_for_mesos_id(docker_client, args.mesos_id)

    if container_id:
        try:
            with time_limit(args.timeout):
                output, return_code = execute_in_container(
                    docker_client, container_id, args.cmd, args.timeout)
            paasta_print(output)
        except TimeoutException:
            paasta_print("Command timed out!")
            return_code = 1
        finally:
            sys.exit(return_code)
    else:
        paasta_print("Could not find container with MESOS_TASK_ID '%s'." %
                     args.mesos_id)
        sys.exit(1)
def main():
    args = parse_args()

    if not args.mesos_id:
        sys.stdout.write(
            "The Mesos task id you supplied seems to be an empty string! Please provide a valid task id.\n")
        sys.exit(2)

    docker_client = get_docker_client()

    container_id = get_container_id_for_mesos_id(docker_client, args.mesos_id)

    if container_id:
        try:
            with time_limit(args.timeout):
                output, return_code = execute_in_container(docker_client, container_id, args.cmd, args.timeout)
            sys.stdout.write(output)
        except TimeoutException:
            sys.stdout.write("Command timed out!\n")
            return_code = 1
        finally:
            sys.exit(return_code)
    else:
        sys.stdout.write("Could not find container with MESOS_TASK_ID '%s'.\n" % args.mesos_id)
        sys.exit(1)
示例#5
0
def test_get_paasta_execute_docker_healthcheck_when_not_found():
    mock_docker_client = mock.MagicMock(spec_set=docker.Client)
    fake_mesos_id = "fake_mesos_id"
    fake_container_info = [
        {"Config": {"Env": ["fake_key1=fake_value1", "MESOS_TASK_ID=fake_other_mesos_id"]}, "Id": "11111"},
        {"Config": {"Env": ["fake_key2=fake_value2", "MESOS_TASK_ID=fake_other_mesos_id2"]}, "Id": "2222"},
    ]
    mock_docker_client.containers = mock.MagicMock(
        spec_set=docker.Client, return_value=["fake_container_1", "fake_container_2"]
    )
    mock_docker_client.inspect_container = mock.MagicMock(spec_set=docker.Client, side_effect=fake_container_info)
    assert mesos_tools.get_container_id_for_mesos_id(mock_docker_client, fake_mesos_id) is None
示例#6
0
def test_get_paasta_execute_docker_healthcheck_when_not_found():
    mock_docker_client = mock.MagicMock(spec_set=docker.Client)
    fake_mesos_id = 'fake_mesos_id'
    fake_container_info = [
        {'Config': {'Env': ['fake_key1=fake_value1', 'MESOS_TASK_ID=fake_other_mesos_id']}, 'Id': '11111'},
        {'Config': {'Env': ['fake_key2=fake_value2', 'MESOS_TASK_ID=fake_other_mesos_id2']}, 'Id': '2222'},
    ]
    mock_docker_client.containers = mock.MagicMock(
        spec_set=docker.Client,
        return_value=['fake_container_1', 'fake_container_2'],
    )
    mock_docker_client.inspect_container = mock.MagicMock(
        spec_set=docker.Client,
        side_effect=fake_container_info,
    )
    assert mesos_tools.get_container_id_for_mesos_id(mock_docker_client, fake_mesos_id) is None