X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=inline;f=osm_ro%2Fvimconn_vmware.py;h=733cf6540f744dacd7be085012c785fbd119af66;hb=abac1e20c3b93bdc7eb58d0ee8e2e0fd062389db;hp=2a8adaf94dca83240183227e8515aa71a501042e;hpb=40d97800f7b48f533abfcdef98ee992daf9acb37;p=osm%2FRO.git diff --git a/osm_ro/vimconn_vmware.py b/osm_ro/vimconn_vmware.py index 2a8adaf9..733cf654 100644 --- a/osm_ro/vimconn_vmware.py +++ b/osm_ro/vimconn_vmware.py @@ -2251,27 +2251,34 @@ class vimconnector(vimconn.vimconnector): 'vim_info': yaml.safe_dump(vm_info), 'interfaces': []} # get networks - vm_ip = None - vm_mac = None - if vm.NetworkConnectionSection.NetworkConnection: - vm_mac = vm.NetworkConnectionSection.NetworkConnection.MACAddress - if vm_ip is None: - if not nsx_edge_list: - nsx_edge_list = self.get_edge_details() - if nsx_edge_list is None: - raise vimconn.vimconnException("refresh_vms_status:"\ - "Failed to get edge details from NSX Manager") - if vm_mac is not None: - vm_ip = self.get_ipaddr_from_NSXedge(nsx_edge_list, vm_mac) - - network_name = vm.NetworkConnectionSection.NetworkConnection.get('network') - vm_net_id = self.get_network_id_by_name(network_name) - interface = {"mac_address": vm_mac, - "vim_net_id": vm_net_id, - "vim_interface_id": vm_net_id, - 'ip_address': vm_ip} - - vm_dict["interfaces"].append(interface) + vm_ip= None + vm_mac = None + networks = re.findall('',result) + for network in networks: + mac_s = re.search('(.*?)',network) + vm_mac = mac_s.group(1) if mac_s else None + ip_s = re.search('(.*?)',network) + vm_ip = ip_s.group(1) if ip_s else None + + if vm_ip is None: + if not nsx_edge_list: + nsx_edge_list = self.get_edge_details() + if nsx_edge_list is None: + raise vimconn.vimconnException("refresh_vms_status:"\ + "Failed to get edge details from NSX Manager") + if vm_mac is not None: + vm_ip = self.get_ipaddr_from_NSXedge(nsx_edge_list, vm_mac) + + net_s = re.search('network="(.*?)"',network) + network_name = net_s.group(1) if net_s else None + + vm_net_id = self.get_network_id_by_name(network_name) + interface = {"mac_address": vm_mac, + "vim_net_id": vm_net_id, + "vim_interface_id": vm_net_id, + "ip_address": vm_ip} + + vm_dict["interfaces"].append(interface) # add a vm to vm dict vms_dict.setdefault(vmuuid, vm_dict)