예제 #1
0
파일: check.py 프로젝트: seco/paasta
def git_repo_check(service):
    git_url = get_git_url(service)
    cmd = 'git ls-remote %s' % git_url
    returncode, _ = _run(cmd, timeout=5)
    if returncode == 0:
        print PaastaCheckMessages.GIT_REPO_FOUND
    else:
        print PaastaCheckMessages.git_repo_missing(git_url)
예제 #2
0
파일: check.py 프로젝트: sbcoba/paasta
def git_repo_check(service):
    git_url = get_git_url(service)
    cmd = 'git ls-remote %s' % git_url
    returncode, _ = _run(cmd, timeout=5)
    if returncode == 0:
        print PaastaCheckMessages.GIT_REPO_FOUND
    else:
        print PaastaCheckMessages.git_repo_missing(git_url)
예제 #3
0
파일: check.py 프로젝트: sbcoba/paasta
def service_dir_check(service, soa_dir):
    """Check whether directory service exists in /nail/etc/services
    :param service: string of service name we wish to inspect
    """
    try:
        validate_service_name(service, soa_dir)
        print PaastaCheckMessages.service_dir_found(service, soa_dir)
    except NoSuchService:
        print PaastaCheckMessages.service_dir_missing(service, soa_dir)
예제 #4
0
파일: check.py 프로젝트: seco/paasta
def service_dir_check(service, soa_dir):
    """Check whether directory service exists in /nail/etc/services
    :param service: string of service name we wish to inspect
    """
    try:
        validate_service_name(service, soa_dir)
        print PaastaCheckMessages.service_dir_found(service, soa_dir)
    except NoSuchService:
        print PaastaCheckMessages.service_dir_missing(service, soa_dir)
예제 #5
0
파일: check.py 프로젝트: sbcoba/paasta
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
예제 #6
0
파일: check.py 프로젝트: seco/paasta
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
예제 #7
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)
예제 #8
0
def test_check_smartstack_check_pass(
        mock_is_file_in_dir, mock_read_service_info, capfd,
):
    # smartstack.yaml exists and port is found

    mock_is_file_in_dir.return_value = True
    port = 80
    instance = 'main'
    smartstack_dict = {
        'smartstack': {
            instance: {
                'proxy_port': port,
            },
        },
    }
    mock_read_service_info.return_value = smartstack_dict
    expected_output = "%s\n%s\n" \
                      % (
                          PaastaCheckMessages.SMARTSTACK_YAML_FOUND,
                          PaastaCheckMessages.smartstack_port_found(
                              instance, port,
                          ),
                      )

    smartstack_check(service='fake_service', service_path='path', soa_dir='path')

    output, _ = capfd.readouterr()
    assert output == expected_output
예제 #9
0
def git_repo_check(service, soa_dir):
    git_url = get_git_url(service, soa_dir)
    cmd = "git ls-remote %s" % git_url
    returncode, _ = _run(cmd, timeout=5)
    if returncode == 0:
        print(PaastaCheckMessages.GIT_REPO_FOUND)
    else:
        print(PaastaCheckMessages.git_repo_missing(git_url))
예제 #10
0
def test_check_service_dir_check_pass(mock_stdout, mock_validate_service_name):
    mock_validate_service_name.return_value = None
    service = 'fake_service'
    expected_output = \
        "%s\n" % PaastaCheckMessages.service_dir_found(service)
    service_dir_check(service)
    output = mock_stdout.getvalue()

    assert output == expected_output
예제 #11
0
def test_check_service_dir_check_fail(mock_stdout, mock_validate_service_name):
    service = 'fake_service'
    mock_validate_service_name.side_effect = NoSuchService(service)
    expected_output = "%s\n" \
                      % PaastaCheckMessages.service_dir_missing(service)
    service_dir_check(service)
    output = mock_stdout.getvalue()

    assert output == expected_output
예제 #12
0
def test_check_service_dir_check_fail(mock_stdout, mock_validate_service_name):
    service = 'fake_service'
    mock_validate_service_name.side_effect = NoSuchService(service)
    expected_output = "%s\n" \
                      % PaastaCheckMessages.service_dir_missing(service)
    service_dir_check(service)
    output = mock_stdout.getvalue()

    assert output == expected_output
예제 #13
0
def test_check_service_dir_check_pass(mock_stdout, mock_validate_service_name):
    mock_validate_service_name.return_value = None
    service = 'fake_service'
    expected_output = \
        "%s\n" % PaastaCheckMessages.service_dir_found(service)
    service_dir_check(service)
    output = mock_stdout.getvalue()

    assert output == expected_output
예제 #14
0
def test_check_service_dir_check_pass(mock_validate_service_name, capfd):
    mock_validate_service_name.return_value = None
    service = "fake_service"
    soa_dir = "/fake_yelpsoa_configs"
    expected_output = "%s\n" % PaastaCheckMessages.service_dir_found(service, soa_dir)
    service_dir_check(service, soa_dir)

    output, _ = capfd.readouterr()
    assert output == expected_output
예제 #15
0
def test_check_service_dir_check_fail(mock_validate_service_name, capfd):
    service = "fake_service"
    soa_dir = "/fake_yelpsoa_configs"
    mock_validate_service_name.side_effect = NoSuchService(service)
    expected_output = "%s\n" % PaastaCheckMessages.service_dir_missing(service, soa_dir)
    service_dir_check(service, soa_dir)

    output, _ = capfd.readouterr()
    assert output == expected_output
예제 #16
0
파일: check.py 프로젝트: yanyanqin/paasta
def smartstack_check(service, service_path):
    """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):
        print PaastaCheckMessages.SMARTSTACK_YAML_FOUND
        instances = get_all_namespaces_for_service(service)
        if len(instances) > 0:
            for namespace, config in get_all_namespaces_for_service(service, full_name=False):
                if 'proxy_port' in config:
                    print PaastaCheckMessages.smartstack_port_found(
                        namespace, config.get('proxy_port'))
                else:
                    print PaastaCheckMessages.SMARTSTACK_PORT_MISSING
        else:
            print PaastaCheckMessages.SMARTSTACK_PORT_MISSING
예제 #17
0
def test_check_service_dir_check_fail(mock_stdout, mock_validate_service_name):
    service = 'fake_service'
    soa_dir = '/fake_yelpsoa_configs'
    mock_validate_service_name.side_effect = NoSuchService(service)
    expected_output = "%s\n" \
                      % PaastaCheckMessages.service_dir_missing(service, soa_dir)
    service_dir_check(service, soa_dir)
    output = mock_stdout.getvalue().decode('utf-8')

    assert output == expected_output
예제 #18
0
def test_check_service_dir_check_pass(mock_stdout, mock_validate_service_name):
    mock_validate_service_name.return_value = None
    service = 'fake_service'
    soa_dir = '/fake_yelpsoa_configs'
    expected_output = \
        "%s\n" % PaastaCheckMessages.service_dir_found(service, soa_dir)
    service_dir_check(service, soa_dir)
    output = mock_stdout.getvalue().decode('utf-8')

    assert output == expected_output
예제 #19
0
def test_check_sensu_check_pass(mock_stdout, mock_get_team,
                                mock_is_file_in_dir):
    # monitoring.yaml exists and team is found

    mock_is_file_in_dir.return_value = "/fake/path"
    team = 'team-service-infra'
    mock_get_team.return_value = team
    expected_output = "%s\n%s\n" % (PaastaCheckMessages.SENSU_MONITORING_FOUND,
                                    PaastaCheckMessages.sensu_team_found(team))

    sensu_check('fake_service', 'path')
    output = mock_stdout.getvalue()

    assert output == expected_output
    mock_get_team.assert_called_once_with(service='fake_service', overrides={})
예제 #20
0
def test_check_sensu_check_pass(mock_stdout, mock_get_team,
                                mock_is_file_in_dir):
    # monitoring.yaml exists and team is found

    mock_is_file_in_dir.return_value = "/fake/path"
    team = 'team-service-infra'
    mock_get_team.return_value = team
    expected_output = "%s\n%s\n" % (PaastaCheckMessages.SENSU_MONITORING_FOUND,
                                    PaastaCheckMessages.sensu_team_found(team))

    sensu_check('fake_service', 'path')
    output = mock_stdout.getvalue()

    assert output == expected_output
    mock_get_team.assert_called_once_with(service='fake_service', overrides={})
예제 #21
0
def test_check_sensu_check_pass(mock_get_team, mock_is_file_in_dir, capfd):
    # monitoring.yaml exists and team is found

    mock_is_file_in_dir.return_value = "/fake/path"
    team = "team-service-infra"
    mock_get_team.return_value = team
    expected_output = "{}\n{}\n".format(
        PaastaCheckMessages.SENSU_MONITORING_FOUND,
        PaastaCheckMessages.sensu_team_found(team),
    )

    sensu_check(service="fake_service", service_path="path", soa_dir="path")

    output, _ = capfd.readouterr()
    assert output == expected_output
    mock_get_team.assert_called_once_with(service="fake_service",
                                          overrides={},
                                          soa_dir="path")
예제 #22
0
def test_check_smartstack_check_pass(mock_stdout, mock_is_file_in_dir,
                                     mock_read_service_info):
    # smartstack.yaml exists and port is found

    mock_is_file_in_dir.return_value = True
    port = 80
    instance = 'main'
    smartstack_dict = {'smartstack': {instance: {'proxy_port': port}}}
    mock_read_service_info.return_value = smartstack_dict
    expected_output = "%s\n%s\n" \
                      % (PaastaCheckMessages.SMARTSTACK_YAML_FOUND,
                         PaastaCheckMessages.smartstack_port_found(
                             instance, port))

    smartstack_check('fake_service', 'path')
    output = mock_stdout.getvalue()

    assert output == expected_output
예제 #23
0
def test_check_smartstack_check_pass(
    mock_is_file_in_dir, mock_read_service_info, capfd
):
    # smartstack.yaml exists and port is found

    mock_is_file_in_dir.return_value = True
    port = 80
    instance = "main"
    smartstack_dict = {"smartstack": {instance: {"proxy_port": port}}}
    mock_read_service_info.return_value = smartstack_dict
    expected_output = "{}\n{}\n".format(
        PaastaCheckMessages.SMARTSTACK_YAML_FOUND,
        PaastaCheckMessages.smartstack_port_found(instance, port),
    )

    smartstack_check(service="fake_service", service_path="path", soa_dir="path")

    output, _ = capfd.readouterr()
    assert output == expected_output
예제 #24
0
def test_check_smartstack_check_pass(mock_stdout, mock_is_file_in_dir,
                                     mock_read_service_info):
    # smartstack.yaml exists and port is found

    mock_is_file_in_dir.return_value = True
    port = 80
    instance = 'main'
    smartstack_dict = {
        'smartstack': {
            instance: {
                'proxy_port': port
            }
        }
    }
    mock_read_service_info.return_value = smartstack_dict
    expected_output = "%s\n%s\n" \
                      % (PaastaCheckMessages.SMARTSTACK_YAML_FOUND,
                         PaastaCheckMessages.smartstack_port_found(
                             instance, port))

    smartstack_check('fake_service', 'path')
    output = mock_stdout.getvalue()

    assert output == expected_output