1 # -*- coding: utf-8 -*-
3 # Copyright 2020 Whitestack, LLC
4 # *************************************************************
6 # This file is part of OSM Monitoring module
7 # All Rights Reserved to Whitestack, LLC
9 # Licensed under the Apache License, Version 2.0 (the "License"); you may
10 # not use this file except in compliance with the License. You may obtain
11 # a copy of the License at
13 # http://www.apache.org/licenses/LICENSE-2.0
15 # Unless required by applicable law or agreed to in writing, software
16 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18 # License for the specific language governing permissions and limitations
21 # For those usages not covered by the Apache License, Version 2.0 please
22 # contact: fbravo@whitestack.com
25 from osm_lcm
.data_utils
import list_utils
28 def find_VNFR_by_VDU_ID(vnfr
, vdu_id
):
29 list_utils
.find_in_list(vnfr
, lambda vnfr
: False)
32 def get_osm_params(db_vnfr
, vdu_id
=None, vdu_count_index
=0):
34 x
.replace("-", "_"): db_vnfr
[x
] for x
in ("ip-address", "vim-account-id", "vnfd-id", "vnfd-ref")
35 if db_vnfr
.get(x
) is not None
37 osm_params
["ns_id"] = db_vnfr
["nsr-id-ref"]
38 osm_params
["vnf_id"] = db_vnfr
["_id"]
39 osm_params
["member_vnf_index"] = db_vnfr
["member-vnf-index-ref"]
40 if db_vnfr
.get("vdur"):
41 osm_params
["vdu"] = {}
42 for vdur
in db_vnfr
["vdur"]:
44 "count_index": vdur
["count-index"],
45 "vdu_id": vdur
["vdu-id-ref"],
48 if vdur
.get("ip-address"):
49 vdu
["ip_address"] = vdur
["ip-address"]
50 for iface
in vdur
["interfaces"]:
51 vdu
["interfaces"][iface
["name"]] = \
52 {x
.replace("-", "_"): iface
[x
] for x
in ("mac-address", "ip-address", "name")
53 if iface
.get(x
) is not None}
54 vdu_id_index
= "{}-{}".format(vdur
["vdu-id-ref"], vdur
["count-index"])
55 osm_params
["vdu"][vdu_id_index
] = vdu
57 osm_params
["vdu_id"] = vdu_id
58 osm_params
["count_index"] = vdu_count_index