def service_vm(appliance, provider, catalog_item): """ This is global fixture to get service and vm/instance provision by service.""" collection = provider.appliance.provider_based_collection(provider) vm_name = "{}0001".format(catalog_item.prov_data["catalog"]["vm_name"]) vm = collection.instantiate("{}".format(vm_name), provider) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) provision_request = service_catalogs.order() logger.info("Waiting for service provision request for service %s", catalog_item.name) provision_request.wait_for_request() if not provision_request.is_finished(): pytest.skip("Failed to provision service '{}'".format( catalog_item.name)) service = MyService(appliance, catalog_item.name, vm_name=vm_name) yield service, vm vm.cleanup_on_provider() if service.exists: service.delete() if provision_request.exists: provision_request.remove_request(method="rest")
def _finalize(): _service = MyService(appliance, cat_item_name) if service_request.exists(): service_request.wait_for_request() service_request.remove_request() if _service.exists: _service.delete()
def order_service(appliance, provider, provisioning, dialog, catalog, request): """ Orders service once the catalog item is created""" if hasattr(request, 'param'): param = request.param catalog_item = create_catalog_item( appliance, provider, provisioning, dialog, catalog, console_test=True if 'console_test' in param else None) else: catalog_item = create_catalog_item(appliance, provider, provisioning, dialog, catalog) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) provision_request = service_catalogs.order() provision_request.wait_for_request(method='ui') assert provision_request.is_succeeded() if provision_request.exists(): provision_request.wait_for_request() if not BZ(1646333, forced_streams=['5.10']).blocks: provision_request.remove_request() yield catalog_item service = MyService(appliance, catalog_item.name) if service.exists: service.delete() vm_name = '{}0001'.format(catalog_item.prov_data['catalog']['vm_name']) vm = appliance.collections.infra_vms.instantiate(vm_name, provider) vm.cleanup_on_provider()
def _finalize(): _service = MyService(appliance, cat_item_name) if service_request.exists(): service_request.wait_for_request() service_request.remove_request() if _service.exists: _service.delete()
def ansible_service(appliance, ansible_catalog_item): service = MyService(appliance, ansible_catalog_item.name) yield service bulk_service_teardown(appliance) # deletes any service requests if service.exists: service.delete()
def _finalize(): _service = MyService(appliance, cat_item_name) if service_request.exists(): service_request.wait_for_request() appliance.rest_api.collections.service_requests.action.delete(id=service_id.id) if _service.exists: _service.delete()
def order_service(appliance, provider, provisioning, dialog, catalog, request): """ Orders service once the catalog item is created""" if hasattr(request, 'param'): param = request.param catalog_item = create_catalog_item( appliance, provider, provisioning, dialog, catalog, console_test=True if 'console_test' in param else None) else: catalog_item = create_catalog_item(appliance, provider, provisioning, dialog, catalog) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) provision_request = service_catalogs.order() provision_request.wait_for_request(method='ui') assert provision_request.is_succeeded() if provision_request.exists(): provision_request.wait_for_request() provision_request.remove_request() yield catalog_item service = MyService(appliance, catalog_item.name) if service.exists: service.delete()
def order_service(appliance, provider, provisioning, dialog, catalog, request): # BZ 1646333 - Delete this request button is not shown in service Request details page # The above BZ got closed because of INSUFFICIENT_DATA, so I havve reported the same issue # in BZ 775779. """ Orders service once the catalog item is created""" if hasattr(request, 'param'): vm_count = request.param['vm_count'] if 'vm_count' in request.param else '1' console_test = request.param['console_test'] if 'console_test' in request.param else False catalog_item = create_catalog_item(appliance, provider, provisioning, dialog, catalog, vm_count=vm_count, console_test=console_test) else: catalog_item = create_catalog_item(appliance, provider, provisioning, dialog, catalog) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) provision_request = service_catalogs.order() provision_request.wait_for_request(method='ui') assert provision_request.is_succeeded() if provision_request.exists(): provision_request.wait_for_request() # Provision request is being removed through REST API because of BZ 775779. provision_request.remove_request(method='rest') yield catalog_item service = MyService(appliance, catalog_item.name) if service.exists: service.delete() name = catalog_item.prov_data['catalog']['vm_name'] for i in range(int(vm_count)): vm_name = f'{name}000{i+1}' vm = appliance.collections.infra_vms.instantiate(vm_name, provider) vm.cleanup_on_provider()
def service(appliance, ansible_catalog_item): _service = MyService(appliance, ansible_catalog_item.name) yield _service try: if _service.exists: _service.delete() except ItemNotFound: pass
def _revert(): service = MyService(appliance, local_ansible_catalog_item.name) if ansible_service_request.exists(): ansible_service_request.wait_for_request() appliance.rest_api.collections.service_requests.action.delete( id=service_request.id) if service.exists: service.delete()
def _finalize(): _service = MyService(appliance, cat_item_name) if service_request.exists(): service_request.wait_for_request() appliance.rest_api.collections.service_requests.action.delete( id=service_id.id) if _service.exists: _service.delete()
def _cleanup(appliance=None, provision_request=None, service=None): if not service: last_message = provision_request.get_request_row_from_ui()['Last Message'].text service_name = last_message.split()[2].strip('[]') myservice = MyService(appliance, service_name) else: myservice = service if myservice.exists: myservice.delete()
def _cleanup(appliance=None, provision_request=None, service=None): if not service: last_message = provision_request.get_request_row_from_ui()['Last Message'].text service_name = last_message.split()[2].strip('[]') myservice = MyService(appliance, service_name) else: myservice = service if myservice.exists: myservice.delete()
def test_myservice_crud(appliance, setup_provider, context, provision_request): """Test Myservice crud in SSUI.""" catalog_item, provision_request = provision_request with appliance.context.use(context): my_service = MyService(appliance, catalog_item.name) my_service.set_ownership("Administrator", "EvmGroup-approver") my_service.update({'description': '{}_edited'.format(catalog_item.name)}) if appliance.version > "5.8": my_service.edit_tags("Cost Center", "Cost Center 001") my_service.delete()
def test_myservice_crud(appliance, setup_provider, context, order_service): """Test Myservice crud in SSUI.""" catalog_item = order_service with appliance.context.use(context): my_service = MyService(appliance, catalog_item.name) my_service.set_ownership("Administrator", "EvmGroup-approver") my_service.update({'description': '{}_edited'.format(catalog_item.name)}) if appliance.version > "5.8": my_service.edit_tags("Cost Center", "Cost Center 001") my_service.delete()
def test_myservice_crud(appliance, setup_provider, context, order_catalog_item_in_ops_ui): """Test Myservice crud in SSUI.""" service_name = order_catalog_item_in_ops_ui.name with appliance.context.use(context): my_service = MyService(appliance, service_name) my_service.set_ownership("Administrator", "EvmGroup-approver") my_service.update({'description': '{}_edited'.format(service_name)}) # No tag management in 5.7 if appliance.version > "5.8": my_service.edit_tags("Cost Center", "Cost Center 001") my_service.delete()
def _revert(): with update(local_ansible_catalog_item): local_ansible_catalog_item.provisioning = { "playbook": "dump_all_variables.yml", "cloud_type": "<Choose>", } service = MyService(appliance, local_ansible_catalog_item.name) if service_request.exists(): service_request.wait_for_request() appliance.rest_api.collections.service_requests.action.delete(id=service_id.id) if service.exists: service.delete()
def order_ansible_service_in_ops_ui(appliance, ansible_catalog_item, ansible_service_catalog): """Tests if ansible playbook service provisioning is shown in service requests.""" ansible_service_catalog.order() cat_item_name = ansible_catalog_item.name request_descr = "Provisioning Service [{0}] from [{0}]".format(cat_item_name) service_request = appliance.collections.requests.instantiate(description=request_descr) if service_request.exists(): service_request.wait_for_request() service_request.remove_request() yield cat_item_name service = MyService(appliance, cat_item_name) if service.exists: service.delete()
def test_crud_set_ownership_and_edit_tags(appliance, context, myservice): """Tests my service crud , edit tags and ownership Metadata: test_flag: provision """ service_name, vm_name = myservice with appliance.context.use(context): myservice = MyService(appliance, name=service_name, vm_name=vm_name) myservice.set_ownership("Administrator", "EvmGroup-administrator") myservice.add_tag("Cost Center *", "Cost Center 001") with update(myservice): myservice.description = "my edited description" myservice.delete()
def test_crud_set_ownership_and_edit_tags(appliance, context, myservice): """Tests my service crud , edit tags and ownership Metadata: test_flag: provision """ service_name, vm_name = myservice with appliance.context.use(context): myservice = MyService(appliance, name=service_name, vm_name=vm_name) myservice.set_ownership("Administrator", "EvmGroup-administrator") myservice.add_tag("Cost Center *", "Cost Center 001") with update(myservice): myservice.description = "my edited description" myservice.delete()
def order_ansible_service_in_ops_ui(appliance, ansible_catalog_item, ansible_service_catalog): """Tests if ansible playbook service provisioning is shown in service requests.""" ansible_service_catalog.order() cat_item_name = ansible_catalog_item.name request_descr = "Provisioning Service [{0}] from [{0}]".format(cat_item_name) service_request = appliance.collections.requests.instantiate(description=request_descr) if service_request.exists(): service_request.wait_for_request() if not BZ(1646333, forced_streams=['5.10']).blocks: service_request.remove_request() yield cat_item_name service = MyService(appliance, cat_item_name) if service.exists: service.delete()
def test_myservice_crud(appliance, setup_provider, context, order_service): """Test Myservice crud in SSUI. Metadata: test_flag: ssui, services Polarion: assignee: sshveta initialEstimate: 1/4h """ catalog_item = order_service with appliance.context.use(context): my_service = MyService(appliance, catalog_item.name) my_service.set_ownership("Administrator", "EvmGroup-approver") my_service.update({'description': '{}_edited'.format(catalog_item.name)}) my_service.edit_tags("Cost Center", "Cost Center 002") my_service.delete()
def test_myservice_crud(appliance, setup_provider, context, order_service): """Test Myservice crud in SSUI. Metadata: test_flag: ssui, services Polarion: assignee: sshveta initialEstimate: 1/4h """ catalog_item = order_service with appliance.context.use(context): my_service = MyService(appliance, catalog_item.name) my_service.set_ownership("Administrator", "EvmGroup-approver") my_service.update( {'description': '{}_edited'.format(catalog_item.name)}) my_service.edit_tags("Cost Center", "Cost Center 002") my_service.delete()
def myservice(appliance, provider, catalog_item, request): vm_name = catalog_item.prov_data["catalog"]["vm_name"] request.addfinalizer(lambda: VM.factory(vm_name + "_0001", provider).cleanup_on_provider()) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) service_catalogs.order() logger.info('Waiting for cfme provision request for service %s', catalog_item.name) request_description = catalog_item.name provision_request = appliance.collections.requests.instantiate(request_description, partial_check=True) provision_request.wait_for_request() assert provision_request.is_finished() service = MyService(appliance, catalog_item.name, vm_name) yield service try: service.delete() except Exception as ex: logger.warning('Exception while deleting MyService, continuing: {}'.format(ex.message))
def myservice(setup_provider, provider, catalog_item, request): vm_name = catalog_item.provisioning_data["vm_name"] request.addfinalizer(lambda: cleanup_vm(vm_name + "_0001", provider)) catalog_item.create() service_catalogs = ServiceCatalogs(catalog_item.name) service_catalogs.order() logger.info("Waiting for cfme provision request for service %s", catalog_item.name) row_description = catalog_item.name cells = {"Description": row_description} row, __ = wait_for(requests.wait_for_request, [cells, True], fail_func=requests.reload, num_sec=900, delay=20) assert row.request_state.text == "Finished" service = MyService(catalog_item.name, vm_name) yield service try: service.delete() except Exception as ex: logger.warning("Exception while deleting MyService, continuing: {}".format(ex.message))
def test_crud_set_ownership_and_edit_tags(appliance, context, myservice): """Tests my service crud , edit tags and ownership Metadata: test_flag: provision Polarion: assignee: sshveta initialEstimate: 1/4h """ service_name, vm_name = myservice with appliance.context.use(context): myservice = MyService(appliance, name=service_name, vm_name=vm_name) myservice.set_ownership("Administrator", "EvmGroup-administrator") myservice.add_tag() with update(myservice): myservice.description = "my edited description" myservice.delete()
def test_crud_set_ownership_and_edit_tags(appliance, context, myservice): """Tests my service crud , edit tags and ownership Metadata: test_flag: provision Polarion: assignee: sshveta initialEstimate: 1/4h """ service_name, vm_name = myservice with appliance.context.use(context): myservice = MyService(appliance, name=service_name, vm_name=vm_name) myservice.set_ownership("Administrator", "EvmGroup-administrator") myservice.add_tag() with update(myservice): myservice.description = "my edited description" myservice.delete()
def generic_service(appliance, generic_catalog_item): """ This is global fixture to order generic service and return service and catalog item""" service_catalogs = ServiceCatalogs( appliance, catalog=generic_catalog_item.catalog, name=generic_catalog_item.name ) provision_request = service_catalogs.order() logger.info("Waiting for service provision request for service %s", generic_catalog_item.name) provision_request.wait_for_request() if not provision_request.is_finished(): pytest.skip(f"Failed to provision service '{generic_catalog_item.name}'") service = MyService(appliance, generic_catalog_item.dialog.label) yield service, generic_catalog_item if service.exists: service.delete() if provision_request.exists: provision_request.remove_request(method="rest")
def myservice(appliance, setup_provider, provider, catalog_item, request): vm_name = catalog_item.provisioning_data["vm_name"] request.addfinalizer(lambda: cleanup_vm(vm_name + "_0001", provider)) catalog_item.create() service_catalogs = ServiceCatalogs(catalog_item.catalog, catalog_item.name) service_catalogs.order() logger.info('Waiting for cfme provision request for service %s', catalog_item.name) request_description = catalog_item.name provision_request = RequestCollection(appliance).instantiate(request_description, partial_check=True) provision_request.wait_for_request() assert provision_request.is_finished() service = MyService(appliance, catalog_item.name, vm_name) yield service try: service.delete() except Exception as ex: logger.warning('Exception while deleting MyService, continuing: {}'.format(ex.message))
def order_ansible_service_in_ops_ui(appliance, ansible_catalog_item, ansible_service_catalog): """Orders an ansible service through the UI Deletes the service request after completion, as well as the service """ ansible_service_catalog.order() cat_item_name = ansible_catalog_item.name request_descr = "Provisioning Service [{0}] from [{0}]".format( cat_item_name) service_request = appliance.collections.requests.instantiate( description=request_descr) if service_request.exists(): service_request.wait_for_request() if not BZ(1646333, forced_streams=['5.10']).blocks: service_request.remove_request() yield cat_item_name service = MyService(appliance, cat_item_name) if service.exists: service.delete()
def generic_service(appliance, generic_catalog_item): """ This is global fixture to order generic service and return service and catalog item""" service_catalogs = ServiceCatalogs( appliance, catalog=generic_catalog_item.catalog, name=generic_catalog_item.name ) provision_request = service_catalogs.order() logger.info("Waiting for service provision request for service %s", generic_catalog_item.name) provision_request.wait_for_request() if not provision_request.is_finished(): pytest.skip("Failed to provision service '{}'".format(generic_catalog_item.name)) service = MyService(appliance, generic_catalog_item.dialog.label) yield service, generic_catalog_item if service.exists: service.delete() if provision_request.exists: provision_request.remove_request(method="rest")
def myservice(appliance, provider, catalog_item, request): vm_name = catalog_item.prov_data["catalog"]["vm_name"] collection = provider.appliance.provider_based_collection(provider) request.addfinalizer( lambda: collection.instantiate('{}0001'.format(vm_name), provider).cleanup_on_provider()) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) service_catalogs.order() logger.info('Waiting for cfme provision request for service %s', catalog_item.name) request_description = catalog_item.name provision_request = appliance.collections.requests.instantiate(request_description, partial_check=True) provision_request.wait_for_request() assert provision_request.is_finished() service = MyService(appliance, catalog_item.name, vm_name) yield service try: service.delete() except Exception as ex: logger.warning('Exception while deleting MyService, continuing: {}'.format(ex.message))
def service_vm(appliance, provider, catalog_item): """ This is global fixture to get service and vm/instance provision by service.""" collection = provider.appliance.provider_based_collection(provider) vm_name = "{}0001".format(catalog_item.prov_data["catalog"]["vm_name"]) vm = collection.instantiate("{}0001".format(vm_name), provider) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) provision_request = service_catalogs.order() logger.info("Waiting for service provision request for service %s", catalog_item.name) provision_request.wait_for_request() if not provision_request.is_finished(): pytest.skip("Failed to provision service '{}'".format(catalog_item.name)) service = MyService(appliance, catalog_item.name, vm_name) yield service, vm vm.cleanup_on_provider() if service.exists: service.delete()
def order_service(appliance, provider, provisioning, vm_name, dialog, catalog, request): """ Orders service once the catalog item is created""" if hasattr(request, 'param'): param = request.param catalog_item = create_catalog_item(appliance, provider, provisioning, vm_name, dialog, catalog, console_test=True if 'console_test' in param else None) else: catalog_item = create_catalog_item(appliance, provider, provisioning, vm_name, dialog, catalog) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) provision_request = service_catalogs.order() provision_request.wait_for_request(method='ui') assert provision_request.is_succeeded() if provision_request.exists(): provision_request.wait_for_request() provision_request.remove_request() yield catalog_item service = MyService(appliance, catalog_item.name) if service.exists: service.delete()
def order_service(appliance, provider, provisioning, dialog, catalog, request): """ Orders service once the catalog item is created""" if hasattr(request, 'param'): param = request.param catalog_item = create_catalog_item(appliance, provider, provisioning, dialog, catalog, console_test=True if 'console_test' in param else None) else: catalog_item = create_catalog_item(appliance, provider, provisioning, dialog, catalog) service_catalogs = ServiceCatalogs(appliance, catalog_item.catalog, catalog_item.name) provision_request = service_catalogs.order() provision_request.wait_for_request(method='ui') assert provision_request.is_succeeded() if provision_request.exists(): provision_request.wait_for_request() provision_request.remove_request() yield catalog_item service = MyService(appliance, catalog_item.name) if service.exists: service.delete() vm_name = '{}0001'.format(catalog_item.prov_data['catalog']['vm_name']) vm = appliance.collections.infra_vms.instantiate(vm_name, provider) vm.cleanup_on_provider()
def myservice(setup_provider, provider, catalog_item, request): vm_name = catalog_item.provisioning_data["vm_name"] request.addfinalizer(lambda: cleanup_vm(vm_name + "_0001", provider)) catalog_item.create() service_catalogs = ServiceCatalogs(catalog_item.catalog, catalog_item.name) service_catalogs.order() logger.info('Waiting for cfme provision request for service %s', catalog_item.name) row_description = catalog_item.name cells = {'Description': row_description} row, __ = wait_for(requests.wait_for_request, [cells, True], fail_func=requests.reload, num_sec=900, delay=20) assert row.request_state.text == 'Finished' service = MyService(catalog_item.name, vm_name) yield service try: service.delete() except Exception as ex: logger.warning( 'Exception while deleting MyService, continuing: {}'.format( ex.message))
def _finalize(): _service = MyService(appliance, service_name) _service.delete()
def service(ansible_catalog_item): service_ = MyService(ansible_catalog_item.name) yield service_ service_.delete()
def service(appliance, ansible_catalog_item): service_ = MyService(appliance, ansible_catalog_item.name) yield service_ if service_.exists: service_.delete()
def service(appliance, ansible_catalog_item): service_ = MyService(appliance, ansible_catalog_item.name) yield service_ if service_.exists: service_.delete()
def _finalize(): _service = MyService(appliance, service_name) _service.delete()
def ansible_service(appliance, ansible_catalog_item): service = MyService(appliance, ansible_catalog_item.name) yield service if service.exists: service.delete()
def ansible_service(appliance, ansible_catalog_item): service = MyService(appliance, ansible_catalog_item.name) yield service if service.exists: service.delete()