From: tierno Date: Sat, 31 Dec 2016 15:51:05 +0000 (+0100) Subject: Merge "Changes in vimconn_vmware.py: Fixed Bug ID 121: VMWARE Connector: Return Nic... X-Git-Tag: v1.0.3^0 X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FRO.git;a=commitdiff_plain;h=bba83c837c93bada304f2cb31925c59c0afb82c8;hp=-c Merge "Changes in vimconn_vmware.py: Fixed Bug ID 121: VMWARE Connector: Return Nic status to include IP address and MAC" into v1.0 --- bba83c837c93bada304f2cb31925c59c0afb82c8 diff --combined vimconn_vmware.py index aa0dfabf,27583e0b..c8fc73a8 --- a/vimconn_vmware.py +++ b/vimconn_vmware.py @@@ -1113,7 -1113,7 +1113,7 @@@ class vimconnector(vimconn.vimconnector return None def new_vminstance(self, name=None, description="", start=False, image_id=None, flavor_id=None, net_list={}, - cloud_config=None): + cloud_config=None, disk_list=None): """Adds a VM instance to VIM Params: start: indicates if VM must start or boot in pause mode. Ignored @@@ -1482,8 -1482,8 +1482,8 @@@ for vm_network in vapp_network: if vm_network['name'] == vmname: interface = {"mac_address": vm_network['mac'], - "vim_net_id": self.get_network_name_by_id(vm_network['network_name']), - "vim_interface_id": vm_network['network_name'], + "vim_net_id": self.get_network_id_by_name(vm_network['network_name']), + "vim_interface_id": self.get_network_id_by_name(vm_network['network_name']), 'ip_address': vm_network['ip']} # interface['vim_info'] = yaml.safe_dump(vm_network) vm_dict["interfaces"].append(interface) @@@ -1643,6 -1643,37 +1643,37 @@@ return None + def get_network_id_by_name(self, network_name=None): + """Method gets vcloud director network uuid based on supplied name. + + Args: + network_name: network_name + Returns: + The return network uuid. + network_uuid: network_id + """ + + vca = self.connect() + if not vca: + raise vimconn.vimconnConnectionException("self.connect() is failed.") + + if not network_name: + self.logger.debug("get_network_id_by_name() : Network name is empty") + return None + + try: + org_dict = self.get_org(self.org_uuid) + if org_dict and 'networks' in org_dict: + org_network_dict = org_dict['networks'] + for net_uuid,net_name in org_network_dict.iteritems(): + if net_name == network_name: + return net_uuid + + except KeyError as exp: + self.logger.debug("get_network_id_by_name() : KeyError- {} ".format(exp)) + + return None + def list_org_action(self): """ Method leverages vCloud director and query for available organization for particular user