예제 #1
0
 def create(cls, client, hostsystem):
     from infi.pyvmomi_wrapper import get_reference_to_managed_object
     key = get_reference_to_managed_object(hostsystem)
     class Patched(HostSystemPortGenerator):
         def __init__(self):
             super(Patched, self).__init__(client, key)
     return [Patched]
예제 #2
0
 def create(cls, client, hostsystem):
     from infi.pyvmomi_wrapper import get_reference_to_managed_object
     key = get_reference_to_managed_object(hostsystem)
     if (client, key) not in cls.models_by_host_value:
         value = VMwareHostStorageModel(client, key)
         cls.models_by_host_value[(client, key)] = value
     return cls.models_by_host_value[(client, key)]
예제 #3
0
 def create(cls, client, hostsystem):
     from infi.pyvmomi_wrapper import get_reference_to_managed_object
     key = get_reference_to_managed_object(hostsystem)
     if (client, key) not in cls.models_by_host_value:
         value = VMwareHostStorageModel(client, key)
         cls.models_by_host_value[(client, key)] = value
     return cls.models_by_host_value[(client, key)]
예제 #4
0
    def create(cls, client, hostsystem):
        from infi.pyvmomi_wrapper import get_reference_to_managed_object
        key = get_reference_to_managed_object(hostsystem)

        class Patched(HostSystemPortGenerator):
            def __init__(self):
                super(Patched, self).__init__(client, key)

        return [Patched]
예제 #5
0
def with_host(client, host):
    from traceback import extract_stack
    from infi.pyvmomi_wrapper import get_reference_to_managed_object
    monkey_patch(infi.storagemodel, "get_storage_model", StorageModelFactory.get)
    previous = StorageModelFactory.get()
    stack_trace = get_stack_trace()
    caller = extract_stack(stack_trace, 6)[1][2]
    moref = get_reference_to_managed_object(host)
    try:
        current = StorageModelFactory.set(StorageModelFactory.create(client, host))
        if previous is current:
            logger.debug("entered context for the same host {} as part of {}".format(moref, caller))
        else:
            logger.debug("entered context for host {} as part of {}".format(moref, caller))
        yield
    finally:
        logger.debug("exited context for host {} as part of {}".format(moref, caller))
        StorageModelFactory.set(previous)
예제 #6
0
def with_host(client, host):
    from traceback import extract_stack
    from infi.pyvmomi_wrapper import get_reference_to_managed_object
    monkey_patch(infi.storagemodel, "get_storage_model",
                 StorageModelFactory.get)
    previous = StorageModelFactory.get()
    stack_trace = get_stack_trace()
    caller = extract_stack(stack_trace, 6)[1][2]
    moref = get_reference_to_managed_object(host)
    try:
        current = StorageModelFactory.set(
            StorageModelFactory.create(client, host))
        if previous is current:
            logger.debug(
                "entered context for the same host {} as part of {}".format(
                    moref, caller))
        else:
            logger.debug("entered context for host {} as part of {}".format(
                moref, caller))
        yield
    finally:
        logger.debug("exited context for host {} as part of {}".format(
            moref, caller))
        StorageModelFactory.set(previous)