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
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
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
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
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
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
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
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
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