9b0570c1364e2fd44b40e319363e56d608b0f35d
[osm/LCM.git] / osm_lcm / data_utils / nsr.py
1 # -*- coding: utf-8 -*-
2
3 # Copyright 2020 Whitestack, LLC
4 # *************************************************************
5 #
6 # This file is part of OSM Monitoring module
7 # All Rights Reserved to Whitestack, LLC
8 #
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
12 #
13 # http://www.apache.org/licenses/LICENSE-2.0
14 #
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
19 # under the License.
20 #
21 # For those usages not covered by the Apache License, Version 2.0 please
22 # contact: fbravo@whitestack.com
23 ##
24
25 from osm_lcm.data_utils import list_utils
26 from osm_lcm.lcm_utils import get_iterable
27
28
29 def get_deployed_kdu(nsr_deployed, kdu_name, member_vnf_index):
30 deployed_kdu = None
31 index = None
32 for index, deployed_kdu in enumerate(get_iterable(nsr_deployed, "K8s")):
33 if (
34 kdu_name == deployed_kdu["kdu-name"]
35 and deployed_kdu["member-vnf-index"] == member_vnf_index
36 ):
37 break
38 return deployed_kdu, index
39
40
41 def get_nsd(nsr):
42 return nsr.get("nsd", {})
43
44
45 def get_deployed_vca_list(nsr):
46 return nsr.get("_admin", ()).get("deployed", ()).get("VCA", [])
47
48
49 def get_deployed_vca(nsr, filter):
50 return list_utils.find_in_list(
51 get_deployed_vca_list(nsr),
52 lambda vca: all(vca[key] == value for key, value in filter.items()),
53 )