예제 #1
0
def paasta_docker_exec(args):
    try:
        task = get_task_from_instance(
            cluster=args.cluster,
            service=args.service,
            instance=args.instance,
            slave_hostname=args.host,
            task_id=args.mesos_id,
        )
    except PaastaTaskNotFound:
        sys.exit(1)
    container = get_container_name(task)
    slave = task.slave["hostname"]

    user_args = ("--user", args.user) if args.user else ()
    command = (
        "sudo",
        "docker",
        "exec",
        "-ti",
        *user_args,
        container,
        *shlex.split(args.exec_command),
    )
    command = " ".join(shlex.quote(arg) for arg in command)
    subprocess.call(["ssh", "-o", "LogLevel=QUIET", "-tA", slave, command])
예제 #2
0
def paasta_docker_stop(args):
    try:
        task = get_task_from_instance(cluster=args.cluster,
                                      service=args.service,
                                      instance=args.instance,
                                      slave_hostname=args.host,
                                      task_id=args.mesos_id)
    except PaastaTaskNotFound:
        sys.exit(1)
    container = get_container_name(task)
    slave = task.slave['hostname']
    command = "sudo docker stop {0}".format(container)
    subprocess.call(["ssh", "-o", "LogLevel=QUIET", "-tA", slave, command])
예제 #3
0
def paasta_docker_exec(args):
    try:
        task = get_task_from_instance(cluster=args.cluster,
                                      service=args.service,
                                      instance=args.instance,
                                      slave_hostname=args.host,
                                      task_id=args.mesos_id)
    except PaastaTaskNotFound:
        sys.exit(1)
    container = get_container_name(task)
    slave = task.slave['hostname']
    command = "sudo docker exec -ti {0} ''{1}''".format(container, args.exec_command)
    subprocess.call(["ssh", "-o", "LogLevel=QUIET", "-tA", slave, command])
예제 #4
0
def paasta_docker_exec(args):
    try:
        task = get_task_from_instance(
            cluster=args.cluster,
            service=args.service,
            instance=args.instance,
            slave_hostname=args.host,
            task_id=args.mesos_id,
        )
    except PaastaTaskNotFound:
        sys.exit(1)
    container = get_container_name(task)
    slave = task.slave['hostname']
    command = f"sudo docker exec -ti {container} ''{args.exec_command}''"
    subprocess.call(["ssh", "-o", "LogLevel=QUIET", "-tA", slave, command])
예제 #5
0
def test_get_container_name():
    mock_task = mock.Mock(executor={'container': 'container1'})
    ret = utils.get_container_name(mock_task)
    assert ret == 'mesos-container1'
예제 #6
0
def test_get_container_name():
    mock_task = mock.Mock(executor={"container": "container1"})
    ret = utils.get_container_name(mock_task)
    assert ret == "mesos-container1"
예제 #7
0
def test_get_container_name():
    mock_task = mock.Mock(slave_id='slave1', executor={'container': 'container1'})
    ret = utils.get_container_name(mock_task)
    assert ret == 'mesos-slave1.container1'
예제 #8
0
def test_get_container_name():
    mock_task = mock.Mock(slave_id='slave1', executor={'container': 'container1'})
    ret = utils.get_container_name(mock_task)
    assert ret == 'mesos-slave1.container1'