コード例 #1
0
def main():
    args = parse_args()
    docker_client = get_docker_client()

    running_mesos_task_ids = [task["id"] for task in mesos_tools.filter_running_tasks(
        mesos_tools.get_running_tasks_from_active_frameworks(''))]
    running_mesos_docker_containers = get_running_mesos_docker_containers()

    orphaned_containers = []
    for container in running_mesos_docker_containers:
        mesos_task_id = mesos_tools.get_mesos_id_from_container(
            container=container, client=docker_client)
        if mesos_task_id not in running_mesos_task_ids:
            orphaned_containers.append((container["Names"][0].strip("/"), mesos_task_id))

    if orphaned_containers:
        print "CRIT: Docker containers are orphaned: %s%s" % (", ".join(
            "%s (%s)" % (container_name, mesos_task_id)
            for container_name, mesos_task_id in orphaned_containers
        ), " and will be killed" if args.force else "")
        if args.force:
            for container_name, mesos_task_id in orphaned_containers:
                docker_client.kill(container_name)
        sys.exit(1)
    else:
        print "OK: All mesos task IDs accounted for"
        sys.exit(0)
コード例 #2
0
async def main():
    args = parse_args()
    docker_client = get_docker_client()

    running_mesos_task_ids = [task["id"] for task in mesos_tools.filter_running_tasks(
        await mesos_tools.get_running_tasks_from_frameworks(''),
    )]
    running_mesos_docker_containers = get_running_mesos_docker_containers()

    orphaned_containers = []
    for container in running_mesos_docker_containers:
        mesos_task_id = mesos_tools.get_mesos_id_from_container(
            container=container, client=docker_client,
        )
        if mesos_task_id not in running_mesos_task_ids:
            orphaned_containers.append((container["Names"][0].strip("/"), mesos_task_id))

    if orphaned_containers:
        paasta_print("CRIT: Docker containers are orphaned: {}{}".format(
            ", ".join(
                f"{container_name} ({mesos_task_id})"
                for container_name, mesos_task_id in orphaned_containers
            ), " and will be killed" if args.force else "",
        ))
        if args.force:
            for container_name, mesos_task_id in orphaned_containers:
                docker_client.kill(container_name)
        sys.exit(1)
    else:
        paasta_print("OK: All mesos task IDs accounted for")
        sys.exit(0)
コード例 #3
0
def main():
    args = parse_args()
    docker_client = get_docker_client()
    running_mesos_task_ids = get_running_task_ids_from_mesos_slave()
    running_mesos_docker_containers = get_running_mesos_docker_containers(docker_client)
    print running_mesos_task_ids

    for container in running_mesos_docker_containers:
        mesos_task_id = mesos_tools.get_mesos_id_from_container(container=container, client=docker_client)
        print mesos_task_id
        if mesos_task_id not in running_mesos_task_ids:
            if args.force:
                print "Killing %s. (%s)" % (container["Names"][0], mesos_task_id)
                docker_client.kill(container)
            else:
                print "Would kill %s. (%s)" % (container["Names"][0], mesos_task_id)
        else:
            print "Not killing %s. (%s)" % (container["Names"][0], mesos_task_id)
コード例 #4
0
def main():
    args = parse_args()
    docker_client = get_docker_client()
    running_mesos_task_ids = get_running_task_ids_from_mesos_slave()
    running_mesos_docker_containers = get_running_mesos_docker_containers(
        docker_client)
    print running_mesos_task_ids

    for container in running_mesos_docker_containers:
        mesos_task_id = mesos_tools.get_mesos_id_from_container(
            container=container, client=docker_client)
        print mesos_task_id
        if mesos_task_id not in running_mesos_task_ids:
            if args.force:
                print "Killing %s. (%s)" % (container["Names"][0],
                                            mesos_task_id)
                docker_client.kill(container)
            else:
                print "Would kill %s. (%s)" % (container["Names"][0],
                                               mesos_task_id)
        else:
            print "Not killing %s. (%s)" % (container["Names"][0],
                                            mesos_task_id)