def test_appliance_replicate_sync_role_change_with_backlog(request, provider): """Tests that a role change is replicated with backlog Metadata: test_flag: replication """ appl1, appl2 = get_replication_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: configure_db_replication(appl2.address) # Replication is up and running, now disable DB sync role provider.create() conf.set_server_roles(database_synchronization=False) sel.force_navigate("cfg_diagnostics_region_replication") wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=True, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") conf.set_server_roles(database_synchronization=True) sel.force_navigate("cfg_diagnostics_region_replication") wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=False, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") assert conf.get_replication_status() wait_for_a_provider() appl2.ipapp.browser_steal = True with appl2.ipapp: wait_for_a_provider() assert provider.exists
def test_appliance_replicate_database_disconnection_with_backlog(request, provider): """Tests a database disconnection with backlog Metadata: test_flag: replication """ appl1, appl2 = get_replication_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: configure_db_replication(appl2.address) # Replication is up and running, now stop the DB on the replication parent provider.create() stop_db_process(appl2.address) sleep(60) start_db_process(appl2.address) sel.force_navigate("cfg_diagnostics_region_replication") wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=False, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") assert conf.get_replication_status() wait_for_a_provider() appl2.ipapp.browser_steal = True with appl2.ipapp: wait_for_a_provider() assert provider.exists
def configure_db_replication(db_address): """Enables the sync role and configures the appliance to replicate to the db_address specified. Then, it waits for the UI to show the replication as active and the backlog as empty. """ conf.set_replication_worker_host(db_address) flash.assert_message_contain( "Configuration settings saved for CFME Server") try: sel.force_navigate("cfg_settings_currentserver_server") except WebDriverException: sel.handle_alert() sel.force_navigate("cfg_settings_currentserver_server") conf.set_server_roles(database_synchronization=True) sel.force_navigate("cfg_diagnostics_region_replication") wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=False, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") assert conf.get_replication_status() wait_for(lambda: conf.get_replication_backlog(navigate=False) == 0, fail_condition=False, num_sec=120, delay=10, fail_func=sel.refresh, message="get_replication_backlog")
def test_appliance_replicate_database_disconnection(request, vmware_provider): """Tests a database disconnection Metadata: test_flag: replication """ appl1, appl2 = get_replication_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: configure_db_replication(appl2.address) # Replication is up and running, now stop the DB on the replication parent stop_db_process(appl2.address) sleep(60) start_db_process(appl2.address) sel.force_navigate("cfg_diagnostics_region_replication") wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=False, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") assert conf.get_replication_status() vmware_provider.create() wait_for_a_provider() appl2.ipapp.browser_steal = True with appl2.ipapp: wait_for_a_provider() assert vmware_provider.exists
def test_appliance_replicate_database_disconnection_with_backlog(request, virtualcenter_provider, appliance): """Tests a database disconnection with backlog Metadata: test_flag: replication """ appl1, appl2 = get_replication_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: configure_db_replication(appl2.address) # Replication is up and running, now stop the DB on the replication parent virtualcenter_provider.create() stop_db_process(appl2.address) sleep(60) start_db_process(appl2.address) navigate_to(appliance.server.zone.region, 'Replication') wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=False, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") assert conf.get_replication_status() wait_for_a_provider() appl2.ipapp.browser_steal = True with appl2.ipapp: wait_for_a_provider() assert virtualcenter_provider.exists
def test_appliance_replicate_sync_role_change(request, virtualcenter_provider, appliance): """Tests that a role change is replicated Metadata: test_flag: replication """ appl1, appl2 = get_replication_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: configure_db_replication(appl2.address) # Replication is up and running, now disable DB sync role conf.set_server_roles(database_synchronization=False) navigate_to(appliance.server.zone.region, 'Replication') wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=True, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") conf.set_server_roles(database_synchronization=True) navigate_to(appliance.server.zone.region, 'Replication') wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=False, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") assert conf.get_replication_status() virtualcenter_provider.create() wait_for_a_provider() appl2.ipapp.browser_steal = True with appl2.ipapp: wait_for_a_provider() assert virtualcenter_provider.exists
def test_appliance_replicate_database_disconnection(request, virtualcenter_provider, appliance): """Tests a database disconnection Metadata: test_flag: replication """ appl1, appl2 = get_replication_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: configure_db_replication(appl2.address) # Replication is up and running, now stop the DB on the replication parent stop_db_process(appl2.address) sleep(60) start_db_process(appl2.address) navigate_to(appliance.server.zone.region, 'Replication') wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=False, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") assert conf.get_replication_status() virtualcenter_provider.create() wait_for_a_provider() appl2.ipapp.browser_steal = True with appl2.ipapp: wait_for_a_provider() assert virtualcenter_provider.exists
def configure_db_replication(db_address): """Enables the sync role and configures the appliance to replicate to the db_address specified. Then, it waits for the UI to show the replication as active and the backlog as empty. """ conf.set_replication_worker_host(db_address) flash.assert_message_contain("Configuration settings saved for CFME Server") try: sel.force_navigate("cfg_settings_currentserver_server") except WebDriverException: sel.handle_alert() sel.force_navigate("cfg_settings_currentserver_server") conf.set_server_roles(database_synchronization=True) sel.force_navigate("cfg_diagnostics_region_replication") wait_for( lambda: conf.get_replication_status(navigate=False), fail_condition=False, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status", ) assert conf.get_replication_status() wait_for( lambda: conf.get_replication_backlog(navigate=False) == 0, fail_condition=False, num_sec=120, delay=10, fail_func=sel.refresh, message="get_replication_backlog", )
def configure_db_replication(db_address): """Enables the sync role and configures the appliance to replicate to the db_address specified. Then, it waits for the UI to show the replication as active and the backlog as empty. """ conf.set_replication_worker_host(db_address) flash.assert_message_contain("Configuration settings saved for CFME Server") navigate_to(current_appliance.server, 'Server') conf.set_server_roles(database_synchronization=True) navigate_to(current_appliance.server.zone.region, 'Replication') wait_for(lambda: conf.get_replication_status(navigate=False), fail_condition=False, num_sec=360, delay=10, fail_func=sel.refresh, message="get_replication_status") assert conf.get_replication_status() wait_for(lambda: conf.get_replication_backlog(navigate=False) == 0, fail_condition=False, num_sec=120, delay=10, fail_func=sel.refresh, message="get_replication_backlog")
def test_appliance_replicate_sync_role_change_with_backlog( request, virtualcenter_provider, appliance): """Tests that a role change is replicated with backlog Metadata: test_flag: replication """ appl1, appl2 = get_replication_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: server_settings = appliance.server.settings configure_db_replication(appl2.address) # Replication is up and running, now disable DB sync role virtualcenter_provider.create() server_settings.disable_server_roles('database_synchronization') navigate_to(appliance.server.zone.region, 'Replication') wait_for(conf.get_replication_status, func_kwargs={'navigate': False}, fail_condition=True, num_sec=360, delay=10, fail_func=appl1.server.browser.refresh, message="get_replication_status") server_settings.enable_server_roles('database_synchronization') navigate_to(appliance.server.zone.region, 'Replication') wait_for(conf.get_replication_status, func_kwargs={'navigate': False}, fail_condition=False, num_sec=360, delay=10, fail_func=appl1.server.browser.refresh, message="get_replication_status") assert conf.get_replication_status() wait_for_a_provider() appl2.ipapp.browser_steal = True with appl2.ipapp: wait_for_a_provider() assert virtualcenter_provider.exists