Esempio n. 1
0
def check_mesos_no_duplicate_frameworks():
    master = get_mesos_master()
    try:
        state = master.state
    except MasterNotAvailableException as e:
        paasta_print("CRITICAL: %s" % e.message)
        sys.exit(2)

    marathon_clients = marathon_tools.get_list_of_marathon_clients()
    try:
        framework_ids = get_marathon_framework_ids(marathon_clients)
    except (MarathonError, ValueError) as e:
        paasta_print(
            "CRITICAL: Unable to contact Marathon cluster: {}".format(e))
        sys.exit(2)

    result = assert_framework_count(
        state=state,
        marathon_framework_ids=framework_ids,
    )
    if result.healthy:
        paasta_print("OK: " + result.message)
        sys.exit(0)
    else:
        paasta_print("CRITICAL: %s" % result.message)
        sys.exit(2)
Esempio n. 2
0
def main():
    args = parse_args()
    if args.verbose:
        logging.basicConfig(level=logging.DEBUG)
    else:
        logging.basicConfig(level=logging.WARNING)

    clients = marathon_tools.get_list_of_marathon_clients()

    for client in clients:
        for deployment in client.list_deployments():
            delete_deployment_if_too_old(
                client=client,
                deployment=deployment,
                max_date=args.age,
                dry_run=args.dry_run,
            )
def check_marathon_apps():
    clients = marathon_tools.get_list_of_marathon_clients()
    if not clients:
        paasta_print("UNKNOWN: Failed to load marathon clients.")
        sys.exit(3)

    try:
        result = assert_marathon_apps(clients)
    except (MarathonError, InternalServerError, ValueError) as e:
        paasta_print("CRITICAL: Unable to connect to Marathon cluster: %s" % e)
        sys.exit(2)

    if result.healthy:
        paasta_print("OK: " + result.message)
        sys.exit(0)
    else:
        paasta_print(result.message)
        sys.exit(2)
Esempio n. 4
0
def main():
    exit_code = 1
    args = parse_args()
    full_appid = args.appname.lstrip('/')

    system_paasta_config = load_system_paasta_config()
    cluster = system_paasta_config.get_cluster()
    clients = marathon_tools.get_list_of_marathon_clients(system_paasta_config=system_paasta_config)

    for client in clients:
        if marathon_tools.is_app_id_running(app_id=full_appid, client=client):
            kill_marathon_app(
                full_appid=full_appid,
                cluster=cluster,
                client=client,
                soa_dir=args.soa_dir,
            )
            exit_code = 0

    if exit_code:
        paasta_print("Couldn't find an app named {}".format(full_appid))
    return exit_code
def get_deployments():
    clients = get_list_of_marathon_clients()
    return [
        deployment for deployment in itertools.chain.from_iterable(
            c.list_deployments() for c in clients)
    ]