コード例 #1
0
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")
コード例 #2
0
 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()
コード例 #3
0
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()
コード例 #4
0
 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()
コード例 #5
0
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()
コード例 #6
0
 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()
コード例 #7
0
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()
コード例 #8
0
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()
コード例 #9
0
def service(appliance, ansible_catalog_item):
    _service = MyService(appliance, ansible_catalog_item.name)
    yield _service
    try:
        if _service.exists:
            _service.delete()
    except ItemNotFound:
        pass
コード例 #10
0
 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()
コード例 #11
0
 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()
コード例 #12
0
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()
コード例 #13
0
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()
コード例 #14
0
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()
コード例 #15
0
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()
コード例 #16
0
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()
コード例 #17
0
    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()
コード例 #18
0
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()
コード例 #19
0
ファイル: test_myservice.py プロジェクト: akarol/cfme_tests
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()
コード例 #20
0
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()
コード例 #21
0
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()
コード例 #22
0
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()
コード例 #23
0
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()
コード例 #24
0
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))
コード例 #25
0
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))
コード例 #26
0
ファイル: test_myservice.py プロジェクト: mkoura/cfme_tests
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()
コード例 #27
0
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()
コード例 #28
0
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")
コード例 #29
0
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))
コード例 #30
0
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()
コード例 #31
0
ファイル: service_fixtures.py プロジェクト: apagac/cfme_tests
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")
コード例 #32
0
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))
コード例 #33
0
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()
コード例 #34
0
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()
コード例 #35
0
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()
コード例 #36
0
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))
コード例 #37
0
 def _finalize():
     _service = MyService(appliance, service_name)
     _service.delete()
コード例 #38
0
def service(ansible_catalog_item):
    service_ = MyService(ansible_catalog_item.name)
    yield service_
    service_.delete()
コード例 #39
0
def service(appliance, ansible_catalog_item):
    service_ = MyService(appliance, ansible_catalog_item.name)
    yield service_

    if service_.exists:
        service_.delete()
コード例 #40
0
def service(appliance, ansible_catalog_item):
    service_ = MyService(appliance, ansible_catalog_item.name)
    yield service_

    if service_.exists:
        service_.delete()
コード例 #41
0
 def _finalize():
     _service = MyService(appliance, service_name)
     _service.delete()
コード例 #42
0
ファイル: ansible_fixtures.py プロジェクト: apagac/cfme_tests
def ansible_service(appliance, ansible_catalog_item):
    service = MyService(appliance, ansible_catalog_item.name)
    yield service

    if service.exists:
        service.delete()
コード例 #43
0
def ansible_service(appliance, ansible_catalog_item):
    service = MyService(appliance, ansible_catalog_item.name)
    yield service

    if service.exists:
        service.delete()