Example #1
0
def test_old_and_new_ways_load_the_same_adhoc_configs(
    mock_adhoc_tools_read_extra_service_information,
    mock_read_extra_service_information,
    mock_adhoc_tools_load_deployments_json,
    mock_load_deployments_json,
):
    mock_read_extra_service_information.return_value = adhoc_cluster_config()
    mock_adhoc_tools_read_extra_service_information.return_value = (
        adhoc_cluster_config())
    mock_load_deployments_json.return_value = deployment_json()
    mock_adhoc_tools_load_deployments_json.return_value = deployment_json()
    s = create_test_service()
    expected = [
        load_adhoc_job_config(
            service=TEST_SERVICE_NAME,
            instance="sample_batch",
            cluster=TEST_CLUSTER_NAME,
            load_deployments=True,
            soa_dir=TEST_SOA_DIR,
        ),
        load_adhoc_job_config(
            service=TEST_SERVICE_NAME,
            instance="interactive",
            cluster=TEST_CLUSTER_NAME,
            load_deployments=True,
            soa_dir=TEST_SOA_DIR,
        ),
    ]
    assert list(s.instance_configs(TEST_CLUSTER_NAME,
                                   AdhocJobConfig)) == expected
Example #2
0
def get_instance_configs_for_service(service, soa_dir, type_filter=None):
    for cluster in list_clusters(
        service=service,
        soa_dir=soa_dir,
    ):
        if type_filter is None:
            type_filter = ['marathon', 'chronos', 'adhoc']
        if 'marathon' in type_filter:
            for _, instance in get_service_instance_list(
                service=service,
                cluster=cluster,
                instance_type='marathon',
                soa_dir=soa_dir,
            ):
                yield load_marathon_service_config(
                    service=service,
                    instance=instance,
                    cluster=cluster,
                    soa_dir=soa_dir,
                    load_deployments=False,
                )
        if 'chronos' in type_filter:
            for _, instance in get_service_instance_list(
                service=service,
                cluster=cluster,
                instance_type='chronos',
                soa_dir=soa_dir,
            ):
                yield load_chronos_job_config(
                    service=service,
                    instance=instance,
                    cluster=cluster,
                    soa_dir=soa_dir,
                    load_deployments=False,
                )
        if 'adhoc' in type_filter:
            for _, instance in get_service_instance_list(
                service=service,
                cluster=cluster,
                instance_type='adhoc',
                soa_dir=soa_dir,
            ):
                yield load_adhoc_job_config(
                    service=service,
                    instance=instance,
                    cluster=cluster,
                    soa_dir=soa_dir,
                    load_deployments=False,
                )
Example #3
0
def get_instance_configs_for_service(service, soa_dir):
    for cluster in list_clusters(
            service=service,
            soa_dir=soa_dir,
    ):
        for _, instance in get_service_instance_list(
                service=service,
                cluster=cluster,
                instance_type='marathon',
                soa_dir=soa_dir,
        ):
            yield load_marathon_service_config(
                service=service,
                instance=instance,
                cluster=cluster,
                soa_dir=soa_dir,
                load_deployments=False,
            )
        for _, instance in get_service_instance_list(
                service=service,
                cluster=cluster,
                instance_type='chronos',
                soa_dir=soa_dir,
        ):
            yield load_chronos_job_config(
                service=service,
                instance=instance,
                cluster=cluster,
                soa_dir=soa_dir,
                load_deployments=False,
            )
        for _, instance in get_service_instance_list(
                service=service,
                cluster=cluster,
                instance_type='adhoc',
                soa_dir=soa_dir,
        ):
            yield load_adhoc_job_config(
                service=service,
                instance=instance,
                cluster=cluster,
                soa_dir=soa_dir,
                load_deployments=False,
            )
Example #4
0
def get_instance_configs_for_service(service, soa_dir):
    for cluster in list_clusters(
        service=service,
        soa_dir=soa_dir,
    ):
        for _, instance in get_service_instance_list(
            service=service,
            cluster=cluster,
            instance_type='marathon',
            soa_dir=soa_dir,
        ):
            yield load_marathon_service_config(
                service=service,
                instance=instance,
                cluster=cluster,
                soa_dir=soa_dir,
                load_deployments=False,
            )
        for _, instance in get_service_instance_list(
            service=service,
            cluster=cluster,
            instance_type='chronos',
            soa_dir=soa_dir,
        ):
            yield load_chronos_job_config(
                service=service,
                instance=instance,
                cluster=cluster,
                soa_dir=soa_dir,
                load_deployments=False,
            )
        for _, instance in get_service_instance_list(
            service=service,
            cluster=cluster,
            instance_type='adhoc',
            soa_dir=soa_dir,
        ):
            yield load_adhoc_job_config(
                service=service,
                instance=instance,
                cluster=cluster,
                soa_dir=soa_dir,
                load_deployments=False,
            )
Example #5
0
def get_instance_configs_for_service(
    service: str,
    soa_dir: str,
    type_filter: Optional[Sequence[str]] = None,
) -> Iterable[InstanceConfig]:
    for cluster in list_clusters(
            service=service,
            soa_dir=soa_dir,
    ):
        if type_filter is None:
            type_filter = ['marathon', 'chronos', 'adhoc', 'kubernetes']
        if 'marathon' in type_filter:
            for _, instance in get_service_instance_list(
                    service=service,
                    cluster=cluster,
                    instance_type='marathon',
                    soa_dir=soa_dir,
            ):
                yield load_marathon_service_config(
                    service=service,
                    instance=instance,
                    cluster=cluster,
                    soa_dir=soa_dir,
                    load_deployments=False,
                )
        if 'chronos' in type_filter:
            for _, instance in get_service_instance_list(
                    service=service,
                    cluster=cluster,
                    instance_type='chronos',
                    soa_dir=soa_dir,
            ):
                yield load_chronos_job_config(
                    service=service,
                    instance=instance,
                    cluster=cluster,
                    soa_dir=soa_dir,
                    load_deployments=False,
                )
        if 'adhoc' in type_filter:
            for _, instance in get_service_instance_list(
                    service=service,
                    cluster=cluster,
                    instance_type='adhoc',
                    soa_dir=soa_dir,
            ):
                yield load_adhoc_job_config(
                    service=service,
                    instance=instance,
                    cluster=cluster,
                    soa_dir=soa_dir,
                    load_deployments=False,
                )
        if 'kubernetes' in type_filter:
            for _, instance in get_service_instance_list(
                    service=service,
                    cluster=cluster,
                    instance_type='kubernetes',
                    soa_dir=soa_dir,
            ):
                yield load_kubernetes_service_config(
                    service=service,
                    instance=instance,
                    cluster=cluster,
                    soa_dir=soa_dir,
                    load_deployments=False,
                )