X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Fdata_utils%2Fvnfr.py;h=7e4d16404b2dc3387954c7f5cc081ff2faf72e03;hb=refs%2Fchanges%2F34%2F10534%2F3;hp=042788e2042869d76a761c20f4fdda659556e7ec;hpb=922c41753ffbb4b526f2135a23c39f480c58e2cb;p=osm%2FLCM.git diff --git a/osm_lcm/data_utils/vnfr.py b/osm_lcm/data_utils/vnfr.py index 042788e..7e4d164 100644 --- a/osm_lcm/data_utils/vnfr.py +++ b/osm_lcm/data_utils/vnfr.py @@ -23,6 +23,7 @@ ## from osm_lcm.data_utils import list_utils +from osm_lcm.lcm_utils import get_iterable def find_VNFR_by_VDU_ID(vnfr, vdu_id): @@ -31,7 +32,8 @@ def find_VNFR_by_VDU_ID(vnfr, vdu_id): def get_osm_params(db_vnfr, vdu_id=None, vdu_count_index=0): osm_params = { - x.replace("-", "_"): db_vnfr[x] for x in ("ip-address", "vim-account-id", "vnfd-id", "vnfd-ref") + x.replace("-", "_"): db_vnfr[x] + for x in ("ip-address", "vim-account-id", "vnfd-id", "vnfd-ref") if db_vnfr.get(x) is not None } osm_params["ns_id"] = db_vnfr["nsr-id-ref"] @@ -43,17 +45,27 @@ def get_osm_params(db_vnfr, vdu_id=None, vdu_count_index=0): vdu = { "count_index": vdur["count-index"], "vdu_id": vdur["vdu-id-ref"], - "interfaces": {} + "interfaces": {}, } if vdur.get("ip-address"): vdu["ip_address"] = vdur["ip-address"] for iface in vdur["interfaces"]: - vdu["interfaces"][iface["name"]] = \ - {x.replace("-", "_"): iface[x] for x in ("mac-address", "ip-address", "name") - if iface.get(x) is not None} + vdu["interfaces"][iface["name"]] = { + x.replace("-", "_"): iface[x] + for x in ("mac-address", "ip-address", "name") + if iface.get(x) is not None + } vdu_id_index = "{}-{}".format(vdur["vdu-id-ref"], vdur["count-index"]) osm_params["vdu"][vdu_id_index] = vdu if vdu_id: osm_params["vdu_id"] = vdu_id osm_params["count_index"] = vdu_count_index return osm_params + + +def get_vdur_index(db_vnfr, vdu_delta): + vdur_list = get_iterable(db_vnfr, "vdur") + if vdur_list: + return len([x for x in vdur_list if x.get("vdu-id-ref") == vdu_delta["id"]]) + else: + return 0