X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=lcm%2Fosm_lcm%2FROclient.py;fp=lcm%2Fosm_lcm%2FROclient.py;h=08a040765c6d7ef883471ec16c56866e6b8695fc;hb=b9bb08b5bdce25f36e2ccbcab02c11be6aa739a3;hp=e0533c5af415183b8dfbab852b716c747ddad8e5;hpb=9cec64d2ac5e31b9c0dc46b0a836bd7e8b99c28d;p=osm%2FRO.git diff --git a/lcm/osm_lcm/ROclient.py b/lcm/osm_lcm/ROclient.py index e0533c5a..08a04076 100644 --- a/lcm/osm_lcm/ROclient.py +++ b/lcm/osm_lcm/ROclient.py @@ -297,23 +297,29 @@ class ROClient: return "BUILD", "VMs: {}/{}, networks: {}/{}".format(vm_done, vm_total, net_done, net_total) @staticmethod - def get_ns_vnf_ip(ns_descriptor): + def get_ns_vnf_info(ns_descriptor): """ - Get a dict with the IPs of every vnf and vdu + Get a dict with the VIM_id, ip_addresses, mac_addresses of every vnf and vdu :param ns_descriptor: instance descriptor obtained with self.show("ns", ) - :return: dict with {member_vnf_index: ip_address, ... member_vnf_index.vdu_id: ip_address ...} + :return: dict with {: {ip_address: XXXX, vdur:{ip_address: XXX, vim_id: XXXX}}} """ - ns_ip = {"vnf": {}, "vdu": {}} + ns_info = {} for vnf in ns_descriptor["vnfs"]: if not vnf.get("ip_address"): raise ROClientException("No ip_address returned for ns member_vnf_index '{}'".format( vnf["member_vnf_index"]), http_code=500) - ns_ip["vnf"][str(vnf["member_vnf_index"])] = vnf.get("ip_address") - ns_ip["vdu"][str(vnf["member_vnf_index"])] = {} + vnfr_info = { + "ip_address": vnf.get("ip_address"), + "vdur": {} + } for vm in vnf["vms"]: - if vm.get("ip_address"): - ns_ip["vdu"][str(vnf["member_vnf_index"])][vm["vdu_osm_id"]] = vm["ip_address"] - return ns_ip + vdur = { + "vim_id": vm.get("vim_vm_id"), + "ip_address": vm.get("ip_address") + } + vnfr_info["vdur"][vm["vdu_osm_id"]] = vdur + ns_info[str(vnf["member_vnf_index"])] = vnfr_info + return ns_info async def _get_item_uuid(self, session, item, item_id_name, all_tenants=False):