def test_check_service_replication_for_normal_smartstack():
    service = 'test_service'
    instance = 'test_instance'
    cluster = 'fake_cluster'
    fake_system_paasta_config = SystemPaastaConfig({}, '/fake/config')
    with contextlib.nested(
        mock.patch('paasta_tools.marathon_tools.get_proxy_port_for_instance',
                   autospec=True, return_value=666),
        mock.patch('paasta_tools.marathon_tools.get_expected_instance_count_for_namespace',
                   autospec=True, return_value=100),
        mock.patch('paasta_tools.check_marathon_services_replication.check_smartstack_replication_for_instance',
                   autospec=True),
    ) as (
        mock_get_proxy_port_for_instance,
        mock_get_expected_count,
        mock_check_smartstack_replication_for_service
    ):
        mock_client = mock.Mock()
        check_marathon_services_replication.check_service_replication(
            client=mock_client, service=service, instance=instance, cluster=cluster, soa_dir=None,
            system_paasta_config=fake_system_paasta_config)
        mock_check_smartstack_replication_for_service.assert_called_once_with(
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            expected_count=100,
            system_paasta_config=fake_system_paasta_config,
        )
def test_check_service_replication_for_non_smartstack():
    service = 'test_service'
    instance = 'worker'
    cluster = 'fake_cluster'
    with contextlib.nested(
        mock.patch('paasta_tools.marathon_tools.get_proxy_port_for_instance', autospec=True, return_value=None),
        mock.patch('paasta_tools.marathon_tools.get_expected_instance_count_for_namespace',
                   autospec=True, return_value=100),
        mock.patch('paasta_tools.check_marathon_services_replication.check_healthy_marathon_tasks_for_service_instance',
                   autospec=True),
    ) as (
        mock_get_proxy_port_for_instance,
        mock_get_expected_count,
        mock_check_healthy_marathon_tasks,
    ):
        mock_client = mock.Mock()
        check_marathon_services_replication.check_service_replication(
            client=mock_client, service=service, instance=instance, cluster=cluster, crit_threshold=None, soa_dir=None)

        mock_check_healthy_marathon_tasks.assert_called_once_with(
            client=mock_client,
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            crit_threshold=None,
            expected_count=100)
def test_check_service_replication_for_non_smartstack():
    service = "test_service"
    instance = "worker"
    cluster = "fake_cluster"
    fake_system_paasta_config = SystemPaastaConfig({}, "/fake/config")
    with contextlib.nested(
        mock.patch("paasta_tools.marathon_tools.get_proxy_port_for_instance", autospec=True, return_value=None),
        mock.patch(
            "paasta_tools.marathon_tools.get_expected_instance_count_for_namespace", autospec=True, return_value=100
        ),
        mock.patch(
            "paasta_tools.check_marathon_services_replication.check_healthy_marathon_tasks_for_service_instance",
            autospec=True,
        ),
    ) as (mock_get_proxy_port_for_instance, mock_get_expected_count, mock_check_healthy_marathon_tasks):
        mock_client = mock.Mock()
        check_marathon_services_replication.check_service_replication(
            client=mock_client,
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            system_paasta_config=fake_system_paasta_config,
        )

        mock_check_healthy_marathon_tasks.assert_called_once_with(
            client=mock_client, service=service, instance=instance, cluster=cluster, soa_dir=None, expected_count=100
        )
def test_check_service_replication_for_namespace_with_no_deployments():
    service = 'test_service'
    instance = 'worker'
    cluster = 'fake_cluster'
    with contextlib.nested(
        mock.patch('paasta_tools.marathon_tools.get_proxy_port_for_instance', autospec=True, return_value=None),
        mock.patch('paasta_tools.marathon_tools.get_expected_instance_count_for_namespace',
                   autospec=True),
    ) as (
        mock_get_proxy_port_for_instance,
        mock_get_expected_count,
    ):
        mock_client = mock.Mock()
        mock_get_expected_count.side_effect = check_marathon_services_replication.NoDeploymentsAvailable
        check_marathon_services_replication.check_service_replication(
            client=mock_client, service=service, instance=instance, cluster=cluster, crit_threshold=None, soa_dir=None)
        assert mock_get_proxy_port_for_instance.call_count == 0
def test_check_service_replication_for_namespace_with_no_deployments():
    service = "test_service"
    instance = "worker"
    cluster = "fake_cluster"
    fake_system_paasta_config = SystemPaastaConfig({}, "/fake/config")

    with contextlib.nested(
        mock.patch("paasta_tools.marathon_tools.get_proxy_port_for_instance", autospec=True, return_value=None),
        mock.patch("paasta_tools.marathon_tools.get_expected_instance_count_for_namespace", autospec=True),
    ) as (mock_get_proxy_port_for_instance, mock_get_expected_count):
        mock_client = mock.Mock()
        mock_get_expected_count.side_effect = check_marathon_services_replication.NoDeploymentsAvailable
        check_marathon_services_replication.check_service_replication(
            client=mock_client,
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            system_paasta_config=fake_system_paasta_config,
        )
        assert mock_get_proxy_port_for_instance.call_count == 0
Exemplo n.º 6
0
def test_check_service_replication_for_non_smartstack():
    service = 'test_service'
    instance = 'worker'
    cluster = 'fake_cluster'
    fake_system_paasta_config = SystemPaastaConfig({}, '/fake/config')
    with contextlib.nested(
            mock.patch(
                'paasta_tools.marathon_tools.get_proxy_port_for_instance',
                autospec=True,
                return_value=None),
            mock.patch(
                'paasta_tools.marathon_tools.get_expected_instance_count_for_namespace',
                autospec=True,
                return_value=100),
            mock.patch(
                'paasta_tools.check_marathon_services_replication.check_healthy_marathon_tasks_for_service_instance',
                autospec=True),
    ) as (
            mock_get_proxy_port_for_instance,
            mock_get_expected_count,
            mock_check_healthy_marathon_tasks,
    ):
        mock_client = mock.Mock()
        check_marathon_services_replication.check_service_replication(
            client=mock_client,
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            system_paasta_config=fake_system_paasta_config)

        mock_check_healthy_marathon_tasks.assert_called_once_with(
            client=mock_client,
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            expected_count=100,
        )
def test_check_service_replication_for_normal_smartstack(instance_config):
    instance_config.get_instances.return_value = 100
    all_tasks = []
    with mock.patch(
            "paasta_tools.check_marathon_services_replication.get_proxy_port_for_instance",
            autospec=True,
            return_value=666,
    ), mock.patch(
            "paasta_tools.monitoring_tools.check_replication_for_instance",
            autospec=True,
    ) as mock_check_replication_for_service:
        check_marathon_services_replication.check_service_replication(
            instance_config=instance_config,
            all_tasks_or_pods=all_tasks,
            replication_checker=None,
            dry_run=True,
        )
        mock_check_replication_for_service.assert_called_once_with(
            instance_config=instance_config,
            expected_count=100,
            replication_checker=None,
            dry_run=True,
        )
Exemplo n.º 8
0
def test_check_service_replication_for_namespace_with_no_deployments():
    service = 'test_service'
    instance = 'worker'
    cluster = 'fake_cluster'

    with mock.patch(
            'paasta_tools.marathon_tools.get_proxy_port_for_instance',
            autospec=True,
            return_value=None,
    ) as mock_get_proxy_port_for_instance, mock.patch(
            'paasta_tools.marathon_tools.get_expected_instance_count_for_namespace',
            autospec=True,
    ) as mock_get_expected_count:
        mock_get_expected_count.side_effect = check_marathon_services_replication.NoDeploymentsAvailable
        check_marathon_services_replication.check_service_replication(
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            all_tasks=[],
            smartstack_replication_checker=None,
        )
        assert mock_get_proxy_port_for_instance.call_count == 0
def test_check_service_replication_for_namespace_with_no_deployments():
    service = 'test_service'
    instance = 'worker'
    cluster = 'fake_cluster'
    fake_system_paasta_config = SystemPaastaConfig({}, '/fake/config')

    with mock.patch(
            'paasta_tools.marathon_tools.get_proxy_port_for_instance',
            autospec=True,
            return_value=None,
    ) as mock_get_proxy_port_for_instance, mock.patch(
            'paasta_tools.marathon_tools.get_expected_instance_count_for_namespace',
            autospec=True,
    ) as mock_get_expected_count:
        mock_client = mock.Mock()
        mock_get_expected_count.side_effect = check_marathon_services_replication.NoDeploymentsAvailable
        check_marathon_services_replication.check_service_replication(
            client=mock_client,
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            system_paasta_config=fake_system_paasta_config)
        assert mock_get_proxy_port_for_instance.call_count == 0
def test_check_service_replication_for_normal_smartstack():
    service = 'test_service'
    instance = 'test_instance'
    cluster = 'fake_cluster'
    fake_system_paasta_config = SystemPaastaConfig({}, '/fake/config')
    all_tasks = []
    with mock.patch(
            'paasta_tools.marathon_tools.get_proxy_port_for_instance',
            autospec=True,
            return_value=666,
    ), mock.patch(
            'paasta_tools.marathon_tools.get_expected_instance_count_for_namespace',
            autospec=True,
            return_value=100,
    ), mock.patch(
            'paasta_tools.check_marathon_services_replication.check_smartstack_replication_for_instance',
            autospec=True,
    ) as mock_check_smartstack_replication_for_service:
        mock_client = mock.Mock()
        check_marathon_services_replication.check_service_replication(
            client=mock_client,
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            system_paasta_config=fake_system_paasta_config,
            all_tasks=all_tasks,
        )
        mock_check_smartstack_replication_for_service.assert_called_once_with(
            service=service,
            instance=instance,
            cluster=cluster,
            soa_dir=None,
            expected_count=100,
            system_paasta_config=fake_system_paasta_config,
        )