Ejemplo n.º 1
0
def _elastic_service_impl(
        service_account: Dict[str, Any],
        configuration: Dict[str, Any] = {}) -> Iterator[Dict[str, Any]]:
    package_name = config.PACKAGE_NAME
    service_name = config.SERVICE_NAME
    expected_running_tasks = config.DEFAULT_TASK_COUNT

    try:
        sdk_install.uninstall(package_name, service_name)

        sdk_install.install(
            package_name,
            service_name=service_name,
            expected_running_tasks=expected_running_tasks,
            additional_options=configuration,
            timeout_seconds=30 * 60,
            wait_for_deployment=False,
        )

        # Set up passwords. Basic HTTP credentials will have to be used in HTTP requests to
        # Elasticsearch from now on.
        passwords = config.setup_passwords(service_name, https=True)
        http_password = passwords["elastic"]

        # Set up healthcheck basic HTTP credentials.
        sdk_service.update_configuration(
            package_name,
            service_name,
            {"elasticsearch": {
                "health_user_password": http_password
            }},
            expected_running_tasks,
        )

        config.check_elasticsearch_index_health(
            ".security-7",
            "green",
            service_name=service_name,
            http_password=http_password,
            https=True,
        )

        yield {
            **configuration,
            **{
                "package_name": package_name,
                "passwords": passwords
            }
        }
    finally:
        sdk_install.uninstall(package_name, service_name)
Ejemplo n.º 2
0
def test_losing_and_regaining_index_health(default_populated_index):
    config.check_elasticsearch_index_health(config.DEFAULT_INDEX_NAME, "green", service_name=foldered_name)
    shakedown.kill_process_on_host(sdk_hosts.system_host(foldered_name, "data-0-node"), "data__.*Elasticsearch")
    config.check_elasticsearch_index_health(config.DEFAULT_INDEX_NAME, "yellow", service_name=foldered_name)
    config.check_elasticsearch_index_health(config.DEFAULT_INDEX_NAME, "green", service_name=foldered_name)

    sdk_plan.wait_for_completed_deployment(foldered_name)
    sdk_plan.wait_for_completed_recovery(foldered_name)
Ejemplo n.º 3
0
def test_losing_and_regaining_index_health(default_populated_index):
    config.check_elasticsearch_index_health(
        config.DEFAULT_INDEX_NAME, "green", service_name=FOLDERED_SERVICE_NAME)
    shakedown.kill_process_on_host(sdk_hosts.system_host(
        FOLDERED_SERVICE_NAME, "data-0-node"), "data__.*Elasticsearch")
    config.check_elasticsearch_index_health(
        config.DEFAULT_INDEX_NAME, "yellow", service_name=FOLDERED_SERVICE_NAME)
    config.check_elasticsearch_index_health(
        config.DEFAULT_INDEX_NAME, "green", service_name=FOLDERED_SERVICE_NAME)
Ejemplo n.º 4
0
def test_losing_and_regaining_index_health(default_populated_index: None) -> None:
    config.check_elasticsearch_index_health(index_name, "green", service_name=service_name)
    sdk_cmd.kill_task_with_pattern(
        "data__.*Elasticsearch",
        "nobody",
        agent_host=sdk_tasks.get_service_tasks(service_name, "data-0-node")[0].host,
    )
    config.check_elasticsearch_index_health(index_name, "yellow", service_name=service_name)
    config.check_elasticsearch_index_health(index_name, "green", service_name=service_name)

    sdk_plan.wait_for_completed_deployment(service_name)
    sdk_plan.wait_for_completed_recovery(service_name)
Ejemplo n.º 5
0
def test_losing_and_regaining_index_health(default_populated_index):
    config.check_elasticsearch_index_health(config.DEFAULT_INDEX_NAME,
                                            "green",
                                            service_name=FOLDERED_SERVICE_NAME)
    shakedown.kill_process_on_host(
        sdk_hosts.system_host(FOLDERED_SERVICE_NAME, "data-0-node"),
        "data__.*Elasticsearch")
    config.check_elasticsearch_index_health(config.DEFAULT_INDEX_NAME,
                                            "yellow",
                                            service_name=FOLDERED_SERVICE_NAME)
    config.check_elasticsearch_index_health(config.DEFAULT_INDEX_NAME,
                                            "green",
                                            service_name=FOLDERED_SERVICE_NAME)
Ejemplo n.º 6
0
def test_losing_and_regaining_index_health(default_populated_index):
    config.check_elasticsearch_index_health(
        config.DEFAULT_INDEX_NAME, "green", service_name=foldered_name
    )
    sdk_cmd.kill_task_with_pattern(
        "data__.*Elasticsearch",
        "nobody",
        agent_host=sdk_tasks.get_service_tasks(foldered_name, "data-0-node")[0].host,
    )
    config.check_elasticsearch_index_health(
        config.DEFAULT_INDEX_NAME, "yellow", service_name=foldered_name
    )
    config.check_elasticsearch_index_health(
        config.DEFAULT_INDEX_NAME, "green", service_name=foldered_name
    )

    sdk_plan.wait_for_completed_deployment(foldered_name)
    sdk_plan.wait_for_completed_recovery(foldered_name)