Ejemplo n.º 1
0
def existing_vm(request):
    """ Fixture will be using for set\unset retirement date for existing vm instead of
    creation a new one
    """
    list_of_existing_providers = providers.existing_providers()
    if list_of_existing_providers:
        test_provider = providers.get_crud(list_of_existing_providers[0])
    else:
        test_provider = providers.setup_a_provider()
    all_vms = test_provider.mgmt.list_vm()
    need_to_create_vm = True
    for virtual_machine in all_vms:
        if test_provider.mgmt.is_vm_running(virtual_machine):
            need_vm = VM.factory(virtual_machine, test_provider)
            need_to_create_vm = False
            break
    if need_to_create_vm:
        machine_name = 'test_retire_prov_{}'.format(fauxfactory.gen_alpha(length=8).lower())
        need_vm = VM.factory(machine_name, test_provider)
        need_vm.create_on_provider(find_in_cfme=True, allow_skip="default")

    @request.addfinalizer
    def _delete_vm():
        if need_to_create_vm:
            test_provider.mgmt.delete_vm(need_vm.name)
    return need_vm
Ejemplo n.º 2
0
def initialize_provider(provider, setup_provider_modscope):
    # Remove other providers
    for provider_key in existing_providers():
        if provider_key == provider.key:
            continue
        provider_to_delete = get_crud(provider_key)
        if provider_to_delete.exists:
            provider_to_delete.delete(cancel=False)
    # Take care of C&U settings
    if provider.type not in CANDU_PROVIDER_TYPES:
        yield provider
    else:
        try:
            with server_roles_enabled(
                    'ems_metrics_coordinator', 'ems_metrics_collector', 'ems_metrics_processor'):
                candu.enable_all()
                yield provider
        finally:
            candu.disable_all()
Ejemplo n.º 3
0
def initialize_provider(provider, setup_provider_modscope):
    # Remove other providers
    for provider_key in existing_providers():
        if provider_key == provider.key:
            continue
        provider_to_delete = get_crud(provider_key)
        if provider_to_delete.exists:
            provider_to_delete.delete(cancel=False)
    # Take care of C&U settings
    if provider.type not in CANDU_PROVIDER_TYPES:
        yield provider
    else:
        try:
            with server_roles_enabled('ems_metrics_coordinator',
                                      'ems_metrics_collector',
                                      'ems_metrics_processor'):
                candu.enable_all()
                yield provider
        finally:
            candu.disable_all()