Exemple #1
0
def makefile_check():
    """Detects if you have a makefile and runs some sanity tests against
    it to ensure it is paasta-ready"""
    makefile_path = is_file_in_dir('Makefile', os.getcwd())
    if makefile_path:
        print PaastaCheckMessages.MAKEFILE_FOUND

        if makefile_has_a_tab(makefile_path):
            print PaastaCheckMessages.MAKEFILE_HAS_A_TAB
        else:
            print PaastaCheckMessages.MAKEFILE_HAS_NO_TABS

        if makefile_has_docker_tag(makefile_path):
            print PaastaCheckMessages.MAKEFILE_HAS_DOCKER_TAG
        else:
            print PaastaCheckMessages.MAKEFILE_HAS_NO_DOCKER_TAG

        if makefile_responds_to('cook-image'):
            print PaastaCheckMessages.MAKEFILE_RESPONDS_BUILD_IMAGE
        else:
            print PaastaCheckMessages.MAKEFILE_RESPONDS_BUILD_IMAGE_FAIL

        if makefile_responds_to('itest'):
            print PaastaCheckMessages.MAKEFILE_RESPONDS_ITEST
        else:
            print PaastaCheckMessages.MAKEFILE_RESPONDS_ITEST_FAIL

        if makefile_responds_to('test'):
            print PaastaCheckMessages.MAKEFILE_RESPONDS_TEST
        else:
            print PaastaCheckMessages.MAKEFILE_RESPONDS_TEST_FAIL
    else:
        print PaastaCheckMessages.MAKEFILE_MISSING
Exemple #2
0
def yaml_check(service_path):
    """Check whether a marathon/chronos yaml file exists in service directory, and
    print success/failure message(s).

    :param service_path: path to a directory containing the marathon/chronos yaml
                         files
    """
    found_yaml = False
    if is_file_in_dir('marathon*.yaml', service_path):
        print PaastaCheckMessages.MARATHON_YAML_FOUND
        found_yaml = True
    if is_file_in_dir('chronos*.yaml', service_path):
        print PaastaCheckMessages.CHRONOS_YAML_FOUND
        found_yaml = True
    if not found_yaml:
        print PaastaCheckMessages.YAML_MISSING
Exemple #3
0
def yaml_check(service_path):
    """Check whether a marathon/chronos yaml file exists in service directory, and
    print success/failure message(s).

    :param service_path: path to a directory containing the marathon/chronos yaml
                         files
    """
    found_yaml = False
    if is_file_in_dir('marathon*.yaml', service_path):
        print PaastaCheckMessages.MARATHON_YAML_FOUND
        found_yaml = True
    if is_file_in_dir('chronos*.yaml', service_path):
        print PaastaCheckMessages.CHRONOS_YAML_FOUND
        found_yaml = True
    if not found_yaml:
        print PaastaCheckMessages.YAML_MISSING
Exemple #4
0
def makefile_check():
    """Detects if you have a makefile and runs some sanity tests against
    it to ensure it is paasta-ready"""
    makefile_path = is_file_in_dir("Makefile", os.getcwd())
    if makefile_path:
        paasta_print(PaastaCheckMessages.MAKEFILE_FOUND)

        if makefile_has_a_tab(makefile_path):
            paasta_print(PaastaCheckMessages.MAKEFILE_HAS_A_TAB)
        else:
            paasta_print(PaastaCheckMessages.MAKEFILE_HAS_NO_TABS)

        if makefile_has_docker_tag(makefile_path):
            paasta_print(PaastaCheckMessages.MAKEFILE_HAS_DOCKER_TAG)
        else:
            paasta_print(PaastaCheckMessages.MAKEFILE_HAS_NO_DOCKER_TAG)

        if makefile_responds_to("cook-image"):
            paasta_print(PaastaCheckMessages.MAKEFILE_RESPONDS_BUILD_IMAGE)
        else:
            paasta_print(PaastaCheckMessages.MAKEFILE_RESPONDS_BUILD_IMAGE_FAIL)

        if makefile_responds_to("itest"):
            paasta_print(PaastaCheckMessages.MAKEFILE_RESPONDS_ITEST)
        else:
            paasta_print(PaastaCheckMessages.MAKEFILE_RESPONDS_ITEST_FAIL)

        if makefile_responds_to("test"):
            paasta_print(PaastaCheckMessages.MAKEFILE_RESPONDS_TEST)
        else:
            paasta_print(PaastaCheckMessages.MAKEFILE_RESPONDS_TEST_FAIL)
    else:
        paasta_print(PaastaCheckMessages.MAKEFILE_MISSING)
Exemple #5
0
def makefile_check():
    """Detects if you have a makefile and runs some sanity tests against
    it to ensure it is paasta-ready"""
    makefile_path = is_file_in_dir('Makefile', os.getcwd())
    if makefile_path:
        print PaastaCheckMessages.MAKEFILE_FOUND

        if makefile_has_a_tab(makefile_path):
            print PaastaCheckMessages.MAKEFILE_HAS_A_TAB
        else:
            print PaastaCheckMessages.MAKEFILE_HAS_NO_TABS

        if makefile_has_docker_tag(makefile_path):
            print PaastaCheckMessages.MAKEFILE_HAS_DOCKER_TAG
        else:
            print PaastaCheckMessages.MAKEFILE_HAS_NO_DOCKER_TAG

        if makefile_responds_to('cook-image'):
            print PaastaCheckMessages.MAKEFILE_RESPONDS_BUILD_IMAGE
        else:
            print PaastaCheckMessages.MAKEFILE_RESPONDS_BUILD_IMAGE_FAIL

        if makefile_responds_to('itest'):
            print PaastaCheckMessages.MAKEFILE_RESPONDS_ITEST
        else:
            print PaastaCheckMessages.MAKEFILE_RESPONDS_ITEST_FAIL

        if makefile_responds_to('test'):
            print PaastaCheckMessages.MAKEFILE_RESPONDS_TEST
        else:
            print PaastaCheckMessages.MAKEFILE_RESPONDS_TEST_FAIL
    else:
        print PaastaCheckMessages.MAKEFILE_MISSING
Exemple #6
0
def smartstack_check(service, service_path, soa_dir):
    """Check whether smartstack.yaml exists in service directory, and the proxy
    ports are declared.  Print appropriate message depending on outcome.

    :param service: name of service currently being examined
    :param service_path: path to loction of smartstack.yaml file"""
    if is_file_in_dir('smartstack.yaml', service_path):
        paasta_print(PaastaCheckMessages.SMARTSTACK_YAML_FOUND)
        instances = get_all_namespaces_for_service(service=service,
                                                   soa_dir=soa_dir)
        if len(instances) > 0:
            for namespace, config in get_all_namespaces_for_service(
                    service=service,
                    soa_dir=soa_dir,
                    full_name=False,
            ):
                if 'proxy_port' in config:
                    paasta_print(
                        PaastaCheckMessages.smartstack_port_found(
                            namespace,
                            config.get('proxy_port'),
                        ))
                else:
                    paasta_print(PaastaCheckMessages.SMARTSTACK_PORT_MISSING)
        else:
            paasta_print(PaastaCheckMessages.SMARTSTACK_PORT_MISSING)
Exemple #7
0
def makefile_check():
    """Detects if you have a makefile and runs some sanity tests against
    it to ensure it is paasta-ready"""
    makefile_path = is_file_in_dir("Makefile", os.getcwd())
    if makefile_path:
        print(PaastaCheckMessages.MAKEFILE_FOUND)

        if makefile_has_a_tab(makefile_path):
            print(PaastaCheckMessages.MAKEFILE_HAS_A_TAB)
        else:
            print(PaastaCheckMessages.MAKEFILE_HAS_NO_TABS)

        if makefile_has_docker_tag(makefile_path):
            print(PaastaCheckMessages.MAKEFILE_HAS_DOCKER_TAG)
        else:
            print(PaastaCheckMessages.MAKEFILE_HAS_NO_DOCKER_TAG)

        if makefile_responds_to("cook-image"):
            print(PaastaCheckMessages.MAKEFILE_RESPONDS_BUILD_IMAGE)
        else:
            print(PaastaCheckMessages.MAKEFILE_RESPONDS_BUILD_IMAGE_FAIL)

        if makefile_responds_to("itest"):
            print(PaastaCheckMessages.MAKEFILE_RESPONDS_ITEST)
        else:
            print(PaastaCheckMessages.MAKEFILE_RESPONDS_ITEST_FAIL)

        if makefile_responds_to("test"):
            print(PaastaCheckMessages.MAKEFILE_RESPONDS_TEST)
        else:
            print(PaastaCheckMessages.MAKEFILE_RESPONDS_TEST_FAIL)
    else:
        print(PaastaCheckMessages.MAKEFILE_MISSING)
Exemple #8
0
def docker_check():
    """Check whether Dockerfile exists in service directory, and is valid.
    Prints suitable message depending on outcome"""
    docker_file_path = is_file_in_dir('Dockerfile', os.getcwd())
    if docker_file_path:
        print PaastaCheckMessages.DOCKERFILE_FOUND
    else:
        print PaastaCheckMessages.DOCKERFILE_MISSING
Exemple #9
0
def docker_check():
    """Check whether Dockerfile exists in service directory, and is valid.
    Prints suitable message depending on outcome"""
    docker_file_path = is_file_in_dir('Dockerfile', os.getcwd())
    if docker_file_path:
        print PaastaCheckMessages.DOCKERFILE_FOUND
    else:
        print PaastaCheckMessages.DOCKERFILE_MISSING
Exemple #10
0
def deploy_check(service_path):
    """Check whether deploy.yaml exists in service directory. Prints success or
    error message.

    :param service_path: path to a directory containing deploy.yaml"""
    if is_file_in_dir('deploy.yaml', service_path):
        print PaastaCheckMessages.DEPLOY_YAML_FOUND
    else:
        print PaastaCheckMessages.DEPLOY_YAML_MISSING
Exemple #11
0
def deploy_check(service_path):
    """Check whether deploy.yaml exists in service directory. Prints success or
    error message.

    :param service_path: path to a directory containing deploy.yaml"""
    if is_file_in_dir('deploy.yaml', service_path):
        print PaastaCheckMessages.DEPLOY_YAML_FOUND
    else:
        print PaastaCheckMessages.DEPLOY_YAML_MISSING
Exemple #12
0
def marathon_check(service_path):
    """Check whether a marathon yaml file exists in service directory, and
    print success/failure message.

    :param service_path: path to a directory containing the marathon yaml
                         files
    """
    if is_file_in_dir('marathon*.yaml', service_path):
        print PaastaCheckMessages.MARATHON_YAML_FOUND
    else:
        print PaastaCheckMessages.MARATHON_YAML_MISSING
Exemple #13
0
def sensu_check(service, service_path, soa_dir):
    """Check whether monitoring.yaml exists in service directory,
    and that the team name is declared.

    :param service: name of service currently being examined
    :param service_path: path to loction of monitoring.yaml file"""
    if is_file_in_dir('monitoring.yaml', service_path):
        print PaastaCheckMessages.SENSU_MONITORING_FOUND
        team = get_team(service=service, overrides={}, soa_dir=soa_dir)
        if team is None:
            print PaastaCheckMessages.SENSU_TEAM_MISSING
        else:
            print PaastaCheckMessages.sensu_team_found(team)
    else:
        print PaastaCheckMessages.SENSU_MONITORING_MISSING
Exemple #14
0
def sensu_check(service, service_path):
    """Check whether monitoring.yaml exists in service directory,
    and that the team name is declared.

    :param service: name of service currently being examined
    :param service_path: path to loction of monitoring.yaml file"""
    if is_file_in_dir('monitoring.yaml', service_path):
        print PaastaCheckMessages.SENSU_MONITORING_FOUND
        team = get_team(service=service, overrides={})
        if team is None:
            print PaastaCheckMessages.SENSU_TEAM_MISSING
        else:
            print PaastaCheckMessages.sensu_team_found(team)
    else:
        print PaastaCheckMessages.SENSU_MONITORING_MISSING
Exemple #15
0
def smartstack_check(service, service_path, soa_dir):
    """Check whether smartstack.yaml exists in service directory, and the proxy
    ports are declared.  Print appropriate message depending on outcome.

    :param service: name of service currently being examined
    :param service_path: path to loction of smartstack.yaml file"""
    if is_file_in_dir("smartstack.yaml", service_path):
        paasta_print(PaastaCheckMessages.SMARTSTACK_YAML_FOUND)
        instances = get_all_namespaces_for_service(service=service, soa_dir=soa_dir)
        if len(instances) > 0:
            for namespace, config in get_all_namespaces_for_service(service=service, soa_dir=soa_dir, full_name=False):
                if "proxy_port" in config:
                    paasta_print(PaastaCheckMessages.smartstack_port_found(namespace, config.get("proxy_port")))
                else:
                    paasta_print(PaastaCheckMessages.SMARTSTACK_PORT_MISSING)
        else:
            paasta_print(PaastaCheckMessages.SMARTSTACK_PORT_MISSING)