예제 #1
0
def _replace_data_nodes_and_wait_for_completed_recovery(nodes: int) -> None:
    for d in range(nodes):
        sdk_cmd.svc_cli(package_name, service_name, "pod replace data-{}".format(d))
        sdk_plan.wait_for_completed_recovery(service_name)
        config.wait_for_expected_nodes_to_exist(
            service_name=service_name, task_count=ALL_NODES_NUMBER
        )
예제 #2
0
def test_zero_to_one_ingest():
    sdk_tasks.check_running(config.SERVICE_NAME, config.NO_INGEST_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist(
        task_count=config.NO_INGEST_TASK_COUNT)
    marathon_config = sdk_marathon.get_config(config.SERVICE_NAME)
    marathon_config['env']['INGEST_NODE_COUNT'] = "1"
    sdk_marathon.update_app(config.SERVICE_NAME, marathon_config)
    sdk_tasks.check_running(config.SERVICE_NAME, config.DEFAULT_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist()
예제 #3
0
def test_master_reelection():
    foldered_name = sdk_utils.get_foldered_name(config.SERVICE_NAME)
    initial_master = config.get_elasticsearch_master(service_name=foldered_name)
    shakedown.kill_process_on_host(sdk_hosts.system_host(foldered_name, initial_master), "master__.*Elasticsearch")
    sdk_plan.wait_for_in_progress_recovery(foldered_name)
    sdk_plan.wait_for_completed_recovery(foldered_name)
    config.wait_for_expected_nodes_to_exist(service_name=foldered_name)
    new_master = config.get_elasticsearch_master(service_name=foldered_name)
    assert new_master.startswith("master") and new_master != initial_master
예제 #4
0
def test_master_reelection():
    initial_master = config.get_elasticsearch_master(
        service_name=FOLDERED_SERVICE_NAME)
    shakedown.kill_process_on_host(sdk_hosts.system_host(
        FOLDERED_SERVICE_NAME, initial_master), "master__.*Elasticsearch")
    config.wait_for_expected_nodes_to_exist(service_name=FOLDERED_SERVICE_NAME)
    new_master = config.get_elasticsearch_master(
        service_name=FOLDERED_SERVICE_NAME)
    assert new_master.startswith("master") and new_master != initial_master
예제 #5
0
def test_ingest_node_replace():
    sdk_tasks.check_running(config.SERVICE_NAME, config.DEFAULT_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist()
    ingest_ids = sdk_tasks.get_task_ids(config.SERVICE_NAME, 'ingest-0')
    cmd.svc_cli(config.PACKAGE_NAME, config.SERVICE_NAME,
                'pod replace ingest-0')
    sdk_tasks.check_tasks_updated(config.SERVICE_NAME, 'ingest-0', ingest_ids)
    sdk_tasks.check_running(config.SERVICE_NAME, config.DEFAULT_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist()
예제 #6
0
def test_master_reelection():
    initial_master = config.get_elasticsearch_master(
        service_name=FOLDERED_SERVICE_NAME)
    shakedown.kill_process_on_host(
        sdk_hosts.system_host(FOLDERED_SERVICE_NAME, initial_master),
        "master__.*Elasticsearch")
    config.wait_for_expected_nodes_to_exist(service_name=FOLDERED_SERVICE_NAME)
    new_master = config.get_elasticsearch_master(
        service_name=FOLDERED_SERVICE_NAME)
    assert new_master.startswith("master") and new_master != initial_master
예제 #7
0
def test_master_reelection():
    initial_master = config.get_elasticsearch_master(service_name=foldered_name)
    shakedown.kill_process_on_host(sdk_hosts.system_host(foldered_name, initial_master), "master__.*Elasticsearch")
    sdk_plan.wait_for_in_progress_recovery(foldered_name)
    sdk_plan.wait_for_completed_recovery(foldered_name)
    config.wait_for_expected_nodes_to_exist(service_name=foldered_name)
    new_master = config.get_elasticsearch_master(service_name=foldered_name)
    assert new_master.startswith("master") and new_master != initial_master

    sdk_plan.wait_for_completed_deployment(foldered_name)
    sdk_plan.wait_for_completed_recovery(foldered_name)
예제 #8
0
def test_master_reelection() -> None:
    initial_master = config.get_elasticsearch_master(service_name=service_name)
    sdk_cmd.kill_task_with_pattern(
        "master__.*Elasticsearch",
        "nobody",
        agent_host=sdk_tasks.get_service_tasks(service_name, initial_master)[0].host,
    )
    sdk_plan.wait_for_in_progress_recovery(service_name)
    sdk_plan.wait_for_completed_recovery(service_name)
    config.wait_for_expected_nodes_to_exist(service_name=service_name)
    new_master = config.get_elasticsearch_master(service_name=service_name)
    assert new_master.startswith("master") and new_master != initial_master

    sdk_plan.wait_for_completed_deployment(service_name)
    sdk_plan.wait_for_completed_recovery(service_name)
예제 #9
0
def test_master_reelection():
    initial_master = config.get_elasticsearch_master(service_name=foldered_name)
    sdk_cmd.kill_task_with_pattern(
        "master__.*Elasticsearch",
        "nobody",
        agent_host=sdk_tasks.get_service_tasks(foldered_name, initial_master)[0].host,
    )
    sdk_plan.wait_for_in_progress_recovery(foldered_name)
    sdk_plan.wait_for_completed_recovery(foldered_name)
    config.wait_for_expected_nodes_to_exist(service_name=foldered_name)
    new_master = config.get_elasticsearch_master(service_name=foldered_name)
    assert new_master.startswith("master") and new_master != initial_master

    sdk_plan.wait_for_completed_deployment(foldered_name)
    sdk_plan.wait_for_completed_recovery(foldered_name)
예제 #10
0
def test_kibana_installation_with_xpack():
    # Note that this test may take 20-30 minutes to run.

    # Kibana needs to be able to connect to an elasticsearch w/x-pack cluster in order to return success on /login
    # Otherwise it will generate infinite 302 redirects.
    options = {
        "elasticsearch": {
            "xpack_enabled": True
        }
    }
    shakedown.install_package(ELASTIC_PACKAGE_NAME, options_json=options)
    tasks.check_running(ELASTIC_PACKAGE_NAME, DEFAULT_TASK_COUNT)
    wait_for_expected_nodes_to_exist()

    options = {
        "kibana": {
            "xpack_enabled": True
        }
    }
    path = "/service/kibana/login"
    # installing Kibana w/x-pack can take 15 minutes
    test_kibana(options, path)
    install.uninstall(ELASTIC_PACKAGE_NAME)
예제 #11
0
def pre_test_setup():
    sdk_tasks.check_running(FOLDERED_SERVICE_NAME, config.DEFAULT_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist(service_name=FOLDERED_SERVICE_NAME)
예제 #12
0
def pre_test_setup():
    sdk_tasks.check_running(foldered_name, current_expected_task_count)
    config.wait_for_expected_nodes_to_exist(service_name=foldered_name, task_count=current_expected_task_count)
예제 #13
0
def pre_test_setup():
    foldered_name = sdk_utils.get_foldered_name(config.SERVICE_NAME)
    sdk_tasks.check_running(foldered_name, current_expected_task_count)
    config.wait_for_expected_nodes_to_exist(
        service_name=foldered_name, task_count=current_expected_task_count)
예제 #14
0
def pre_test_setup():
    sdk_tasks.check_running(config.SERVICE_NAME, config.DEFAULT_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist(task_count=config.DEFAULT_TASK_COUNT)
예제 #15
0
def pre_test_setup():
    sdk_tasks.check_running(FOLDERED_SERVICE_NAME, config.DEFAULT_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist(service_name=FOLDERED_SERVICE_NAME)
예제 #16
0
def pre_test_setup():
    foldered_name = sdk_utils.get_foldered_name(config.SERVICE_NAME)
    sdk_tasks.check_running(foldered_name, config.DEFAULT_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist(service_name=foldered_name)
예제 #17
0
def pre_test_setup():
    sdk_tasks.check_running(config.SERVICE_NAME, config.NO_INGEST_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist(task_count=config.NO_INGEST_TASK_COUNT)
예제 #18
0
def test_service_health():
    sdk_tasks.check_running(config.SERVICE_NAME, config.NO_INGEST_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist(
        task_count=config.NO_INGEST_TASK_COUNT)
    assert shakedown.service_healthy(config.SERVICE_NAME)
예제 #19
0
def pre_test_setup() -> None:
    sdk_tasks.check_running(service_name, current_expected_task_count)
    config.wait_for_expected_nodes_to_exist(
        service_name=service_name,
        task_count=current_expected_task_count - current_non_node_task_count,
    )
예제 #20
0
def test_zero_to_one_ingest():
    marathon_config = sdk_marathon.get_config(config.SERVICE_NAME)
    marathon_config['env']['INGEST_NODE_COUNT'] = "1"
    sdk_marathon.update_app(config.SERVICE_NAME, marathon_config)
    sdk_tasks.check_running(config.SERVICE_NAME, config.DEFAULT_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist()
예제 #21
0
def pre_test_setup():
    sdk_tasks.check_running(config.PACKAGE_NAME, config.NO_INGEST_TASK_COUNT)
    config.wait_for_expected_nodes_to_exist(task_count=config.NO_INGEST_TASK_COUNT)