def test_providers_discovery_amazon(): # This test was being uncollected anyway, and needs to be parametrized and not directory call # out to specific credential keys # amazon_creds = get_credentials_from_config('cloudqe_amazon') # discover(amazon_creds, d_type="Amazon") flash.assert_message_match('Amazon Cloud Providers: Discovery successfully initiated') wait_for_a_provider()
def test_db_restore(request, soft_assert, virtualcenter_provider_crud, ec2_provider_crud): appl1, appl2 = get_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: # Manage infra,cloud providers and set some roles before taking a DB backup config.set_server_roles(automate=True) roles = config.get_server_roles() virtualcenter_provider_crud.setup() wait_for_a_provider() ec2_provider_crud.setup() cloud_provider.wait_for_a_provider() providers_appl1 = appl1.ipapp.managed_known_providers appl1.ipapp.db.backup() # Fetch v2_key and DB backup from the first appliance with appl1.ipapp.ssh_client as ssh: rand_filename = "/tmp/v2_key_{}".format(fauxfactory.gen_alphanumeric()) ssh.get_file("/var/www/miq/vmdb/certs/v2_key", rand_filename) dump_filename = "/tmp/db_dump_{}".format(fauxfactory.gen_alphanumeric()) ssh.get_file("/tmp/evm_db.backup", dump_filename) with appl2.ipapp.ssh_client as ssh: ssh.put_file(rand_filename, "/var/www/miq/vmdb/certs/v2_key") ssh.put_file(dump_filename, "/tmp/evm_db.backup") appl2.ipapp.browser_steal = True with appl2.ipapp: # Restore DB on the second appliance appl2.ipapp.evmserverd.stop() appl2.ipapp.db.drop() appl2.ipapp.db.restore() appl2.ipapp.start_evm_service() appl2.ipapp.wait_for_web_ui() wait_for_a_provider() cloud_provider.wait_for_a_provider() # Assert providers on the second appliance providers_appl2 = appl2.ipapp.managed_known_providers assert set(providers_appl2).issubset(providers_appl1),\ 'Restored DB is missing some providers' # Verify that existing provider can detect new VMs on the second appliance vm = provision_vm(request, virtualcenter_provider_crud) soft_assert(vm.find_quadicon().data['state'] == 'currentstate-on') soft_assert(vm.provider.mgmt.is_vm_running(vm.name), "vm running") # Assert server roles on the second appliance for role, is_enabled in config.get_server_roles(db=False).iteritems(): if is_enabled: assert roles[role], "Role '{}' is selected but should not be".format(role) else: assert not roles[role], "Role '{}' is not selected but should be".format(role)
def test_providers_discovery(request, provider): """Tests provider discovery Metadata: test_flag: crud """ if provider.one_of(AzureProvider): cred = Credential( principal=provider.default_endpoint.credentials.principal, secret=provider.default_endpoint.credentials.secret, tenant_id=provider.data['tenant_id'], subscription_id=provider.data['subscription_id']) elif provider.one_of(EC2Provider): cred = Credential( principal=provider.default_endpoint.credentials.principal, secret=provider.default_endpoint.credentials.secret, verify_secret=provider.default_endpoint.credentials.secret) discover(cred, provider) view = provider.create_view(CloudProvidersView) view.flash.assert_success_message( 'Cloud Providers: Discovery successfully initiated') request.addfinalizer(CloudProvider.clear_providers) wait_for_a_provider()
def test_db_restore(request, soft_assert): appl1, appl2 = get_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: # Manage infra,cloud providers and set some roles before taking a DB backup config.set_server_roles(automate=True) roles = config.get_server_roles() provider_crud = setup_a_provider('infra', 'virtualcenter', validate=True) provider_mgmt = provider_crud.get_mgmt_system() wait_for_a_provider() setup_a_provider('cloud', 'ec2', validate=True) cloud_provider.wait_for_a_provider() providers_appl1 = appl1.ipapp.managed_providers appl1.ipapp.backup_database() # Fetch v2_key and DB backup from the first appliance with appl1.ipapp.ssh_client as ssh: rand_filename = "/tmp/v2_key_{}".format(fauxfactory.gen_alphanumeric()) ssh.get_file("/var/www/miq/vmdb/certs/v2_key", rand_filename) dump_filename = "/tmp/db_dump_{}".format(fauxfactory.gen_alphanumeric()) ssh.get_file("/tmp/evm_db.backup", dump_filename) with appl2.ipapp.ssh_client as ssh: ssh.put_file(rand_filename, "/var/www/miq/vmdb/certs/v2_key") ssh.put_file(dump_filename, "/tmp/evm_db.backup") appl2.ipapp.browser_steal = True with appl2.ipapp: # Restore DB on the second appliance appl2.ipapp.restore_database() appl2.ipapp.wait_for_web_ui() wait_for_a_provider() cloud_provider.wait_for_a_provider() # Assert providers on the second appliance providers_appl2 = appl2.ipapp.managed_providers assert set(providers_appl2).issubset(providers_appl1),\ 'Restored DB is missing some providers' # Verify that existing provider can detect new VMs on the second appliance vm = provision_vm(request, provider_crud, provider_mgmt) soft_assert(vm.find_quadicon().state == 'currentstate-on') soft_assert(vm.provider_crud.get_mgmt_system().is_vm_running(vm.name), "vm running") # Assert server roles on the second appliance for role, is_enabled in config.get_server_roles(db=False).iteritems(): if is_enabled: assert roles[role], "Role '%s' is selected but should not be" % role else: assert not roles[role], "Role '%s' is not selected but should be" % role
def test_providers_discovery_amazon(): raise pytest.skip( 'discovery and teardown is not parallel; this routinely times out') amazon_creds = provider.get_credentials_from_config('cloudqe_amazon') provider.discover(amazon_creds) flash.assert_message_match( 'Amazon Cloud Providers: Discovery successfully initiated') provider.wait_for_a_provider()
def test_providers_discovery_amazon(appliance): # This test was being uncollected anyway, and needs to be parametrized and not directory call # out to specific credential keys # amazon_creds = get_credentials_from_config('cloudqe_amazon') # discover(amazon_creds, EC2Provider) view = appliance.browser.create_view(CloudProvidersView) view.flash.assert_success_message('Amazon Cloud Providers: Discovery successfully initiated') wait_for_a_provider()
def test_providers_discovery(request, provider): """Tests provider discovery Metadata: test_flag: crud """ if provider.one_of(AzureProvider): cred = Credential( principal=provider.default_endpoint.credentials.principal, secret=provider.default_endpoint.credentials.secret, tenant_id=provider.data['tenant_id'], subscription_id=provider.data['subscription_id']) elif provider.one_of(EC2Provider): cred = Credential( principal=provider.default_endpoint.credentials.principal, secret=provider.default_endpoint.credentials.secret, verify_secret=provider.default_endpoint.credentials.secret) discover(cred, provider) view = provider.create_view(CloudProvidersView) view.flash.assert_success_message('Cloud Providers: Discovery successfully initiated') request.addfinalizer(CloudProvider.clear_providers) wait_for_a_provider()
def test_providers_discovery_amazon(): amazon_creds = get_credentials_from_config('cloudqe_amazon') discover(amazon_creds, d_type="Amazon") flash.assert_message_match( 'Amazon Cloud Providers: Discovery successfully initiated') wait_for_a_provider()
def test_providers_discovery_amazon(): raise pytest.skip('discovery and teardown is not parallel; this routinely times out') amazon_creds = provider.get_credentials_from_config('cloudqe_amazon') provider.discover(amazon_creds) flash.assert_message_match('Amazon Cloud Providers: Discovery successfully initiated') provider.wait_for_a_provider()
def test_providers_discovery_amazon(): amazon_creds = get_credentials_from_config('cloudqe_amazon') discover(amazon_creds, d_type="Amazon") flash.assert_message_match('Amazon Cloud Providers: Discovery successfully initiated') wait_for_a_provider()
def test_providers_discovery(): amazon_creds = provider.get_credentials_from_config('cloudqe_amazon') provider.discover(amazon_creds) flash.assert_message_match('Amazon Cloud Providers: Discovery successfully initiated') provider.wait_for_a_provider()
def test_db_restore(request, soft_assert, virtualcenter_provider_crud, ec2_provider_crud, appliance): appl1, appl2 = get_appliances() def finalize(): appl1.destroy() appl2.destroy() request.addfinalizer(finalize) appl1.ipapp.browser_steal = True with appl1.ipapp: # Manage infra,cloud providers and set some roles before taking a DB backup server_info = appliance.server.settings server_info.enable_server_roles('automate') roles = server_info.server_roles_db virtualcenter_provider_crud.setup() wait_for_a_provider() ec2_provider_crud.setup() cloud_provider.wait_for_a_provider() providers_appl1 = appl1.ipapp.managed_known_providers appl1.ipapp.db.backup() # Fetch v2_key and DB backup from the first appliance with appl1.ipapp.ssh_client as ssh: rand_filename = "/tmp/v2_key_{}".format(fauxfactory.gen_alphanumeric()) ssh.get_file("/var/www/miq/vmdb/certs/v2_key", rand_filename) dump_filename = "/tmp/db_dump_{}".format(fauxfactory.gen_alphanumeric()) ssh.get_file("/tmp/evm_db.backup", dump_filename) with appl2.ipapp.ssh_client as ssh: ssh.put_file(rand_filename, "/var/www/miq/vmdb/certs/v2_key") ssh.put_file(dump_filename, "/tmp/evm_db.backup") appl2.ipapp.browser_steal = True with appl2.ipapp: # Restore DB on the second appliance appl2.ipapp.evmserverd.stop() appl2.ipapp.db.drop() appl2.ipapp.db.restore() appl2.ipapp.start_evm_service() appl2.ipapp.wait_for_web_ui() wait_for_a_provider() cloud_provider.wait_for_a_provider() # Assert providers on the second appliance providers_appl2 = appl2.ipapp.managed_known_providers assert set(providers_appl2).issubset(providers_appl1), ( 'Restored DB is missing some providers' ) # Verify that existing provider can detect new VMs on the second appliance vm = provision_vm(request, virtualcenter_provider_crud) soft_assert(vm.find_quadicon().data['state'] == 'currentstate-on') soft_assert(vm.provider.mgmt.is_vm_running(vm.name), "vm running") # Assert server roles on the second appliance for role, is_enabled in server_info.server_roles_ui.iteritems(): if is_enabled: assert roles[role], "Role '{}' is selected but should not be".format(role) else: assert not roles[role], "Role '{}' is not selected but should be".format(role)