Exemple #1
0
def get_dvs_mor_by_name(session, dvs_name):
    """Returns DVS mor from its name."""
    dvs_mors = session._call_method(
        vim_util, "get_objects", "DistributedVirtualSwitch", ["name"])
    for dvs_mor in dvs_mors:
        propset_dict = common_util.convert_propset_to_dict(dvs_mor.propSet)
        if propset_dict['name'] == dvs_name:
            return dvs_mor.obj
    return None
Exemple #2
0
def get_vm_mor_by_name(session, vm_name):
    """Return VM mor from its name."""

    vm_mors = session._call_method(vim_util, "get_objects", "VirtualMachine",
                                   ["name"])
    for vm_mor in vm_mors:
        propset_dict = common_util.convert_propset_to_dict(vm_mor.propSet)
        if propset_dict['name'] == vm_name:
            return vm_mor.obj
    return None
Exemple #3
0
def get_host_mor_by_name(session, host_name):
    """Return Host mor from its name."""

    host_mors = session._call_method(vim_util, "get_objects", "HostSystem",
                                     ["name"])
    for host_mor in host_mors:
        propset_dict = common_util.convert_propset_to_dict(host_mor.propSet)
        if propset_dict['name'] == host_name:
            return host_mor.obj
    return None
Exemple #4
0
def get_vm_mor_by_name(session, vm_name):
    """Return VM mor from its name."""

    vm_mors = session._call_method(
        vim_util, "get_objects", "VirtualMachine", ["name"])
    for vm_mor in vm_mors:
        propset_dict = common_util.convert_propset_to_dict(vm_mor.propSet)
        if propset_dict['name'] == vm_name:
            return vm_mor.obj
    return None
Exemple #5
0
def get_host_mor_by_name(session, host_name):
    """Return Host mor from its name."""

    host_mors = session._call_method(
        vim_util, "get_objects", "HostSystem", ["name"])
    for host_mor in host_mors:
        propset_dict = common_util.convert_propset_to_dict(host_mor.propSet)
        if propset_dict['name'] == host_name:
            return host_mor.obj
    return None
Exemple #6
0
def get_portgroup_vlan(session, pg_id):
    """Get VLAN id associated with a port group."""
    vlan_id = 0
    if pg_id:
        # Obtain vlan_id for the port group.
        pg_mors = session._call_method(
            vim_util, "get_objects", "DistributedVirtualPortgroup",
            ["key", "config.defaultPortConfig"])
        for pg_mor in pg_mors:
            propset_dict = common_util.convert_propset_to_dict(pg_mor.propSet)
            if propset_dict['key'] == pg_id:
                pconfig = propset_dict["config.defaultPortConfig"]
                vlan_id = pconfig["vlan"]["vlanId"]
                LOG.debug("VLAN ID for port group is %s.", vlan_id)
                break
    return vlan_id
Exemple #7
0
def get_unused_portgroup_names(session, dvs_name):
    """Returns a list of unused portgroups.

    Unused portgroups - Portgroups of a specific DVS not
    connected to any virtual Machine.
    """
    unused_port_group_names = []
    port_group_mors = get_all_portgroup_mors_for_switch(session, dvs_name)
    if port_group_mors:
        port_groups = session._call_method(
            vim_util, "get_properties_for_a_collection_of_objects",
            "DistributedVirtualPortgroup", port_group_mors,
            ["summary.name", "tag", "vm"])
        for port_group in port_groups:
            propset_dict = common_util.convert_propset_to_dict(
                port_group.propSet)
            if not propset_dict['vm'] and not propset_dict['tag']:
                unused_port_group_names.append(propset_dict['summary.name'])
    return unused_port_group_names
Exemple #8
0
def get_vm_mor_for_uuid(session, vm_uuid):
    """Return VM mor from VM uuid."""

    vm_mor = cache.VCCache.get_vm_mor_for_uuid(vm_uuid)
    if vm_mor:
        return vm_mor
    # TODO(romilg) : use config.uuid instead of
    # config.extraConfig["nvp.vm-uuid"] once fixed in nova.
    vm_mors = session._call_method(vim_util, "get_objects", "VirtualMachine",
                                   ['config.extraConfig["nvp.vm-uuid"]'])
    for vm_mor in vm_mors:
        if hasattr(vm_mor, "propSet"):
            propset_dict = common_util.convert_propset_to_dict(vm_mor.propSet)
            if (vm_uuid ==
                    propset_dict['config.extraConfig["nvp.vm-uuid"]'].value):
                cache.VCCache.add_vm_mor_for_uuid(vm_uuid, vm_mor.obj)
                return vm_mor.obj
    LOG.debug("Unable to retrieve VM information")
    return None
Exemple #9
0
def get_vm_mor_for_uuid(session, vm_uuid):
    """Return VM mor from VM uuid."""

    vm_mor = cache.VCCache.get_vm_mor_for_uuid(vm_uuid)
    if vm_mor:
        return vm_mor
    # TODO(romilg) : use config.uuid instead of
    # config.extraConfig["nvp.vm-uuid"] once fixed in nova.
    vm_mors = session._call_method(vim_util, "get_objects",
                                   "VirtualMachine",
                                   ['config.extraConfig["nvp.vm-uuid"]'])
    for vm_mor in vm_mors:
        if hasattr(vm_mor, "propSet"):
            propset_dict = common_util.convert_propset_to_dict(vm_mor.propSet)
            if (vm_uuid ==
                    propset_dict['config.extraConfig["nvp.vm-uuid"]'].value):
                cache.VCCache.add_vm_mor_for_uuid(vm_uuid, vm_mor.obj)
                return vm_mor.obj
    LOG.debug("Unable to retrieve VM information")
    return None