property_names=['uuid', 'portgroup'], from_node=nfmor, obj_type='DistributedVirtualSwitch') dvswitch_mor = None # Get the dvswitches managed object for dvswitch in dvswitch_mors: if dvswitch_mor: break for p in dvswitch.PropSet: if p.Name == "portgroup": pg_mors = p.Val.ManagedObjectReference for pg_mor in pg_mors: if dvswitch_mor: break key_mor = s._get_object_properties(pg_mor, property_names=['key']) for key in key_mor.PropSet: if key.Val == portgroupKey: dvswitch_mor = dvswitch # Get the switches uuid dvswitch_uuid = None for p in dvswitch_mor.PropSet: if p.Name == "uuid": dvswitch_uuid = p.Val # hostFolder managed object reference hfmor = dcprops.hostFolder._obj crmors = s._retrieve_properties_traversal(property_names=['name', 'host'], from_node=hfmor, obj_type='ComputeResource')
for ip in net_info[0]['ip_addresses']: if ipv6 and re.match('\d{1,4}\:.*', ip) and not re.match('fe83\:.*', ip): print_verbose('IPv6 address found: %s' % ip) return ip elif not ipv6 and re.match('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', ip) and ip != '127.0.0.1': print_verbose('IPv4 address found: %s' % ip) return ip print_verbose('Timeout expired: No IP address found') return None # Create mor versions of our variables (Managed Object References) host_mor = getHostByName(server, dev_hypervisor) prop = server._get_object_properties(host_mor, ['parent']) parent = prop.PropSet[0].Val rp_mor = getResourcePoolByProperty(server, "parent", parent) ds_mor = getDatastoreByName(server, host_datastore) # Create our clone print "INFO: Cloning dev template..." vm_clone = vm_template.clone(name=vm_clone_name, sync_run=True, resourcepool=rp_mor, folder='Dev VMs', host=host_mor, datastore=ds_mor) # Get the IP address of our new clone (up to maxwait time) vm_clone_ip = find_ip(vm_clone)