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 )
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()
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
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
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()
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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, )
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()
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)