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
.database
.vim_account
import VimAccountDB
28 "Lluis Gifre <lluis.gifre@cttc.es>, Ricard Vilalta <ricard.vilalta@cttc.es>"
32 def get_vims_to_connect(db_nsr
, db_vnfrs
, target_vld
):
33 vims_to_connect
= set()
35 (vld
for vld
in db_nsr
["vld"] if vld
["id"] == target_vld
["id"]),
39 return vims_to_connect
# VLD not in NS, means it is an internal VLD within a single VIM
40 # iterate over VNFs and retrieve name of VIMs they are planned to be deployed to
41 for vld_member_vnf_index_ref
in vld
["vnfd-connection-point-ref"]:
42 vld_member_vnf_index_ref
= vld_member_vnf_index_ref
["member-vnf-index-ref"]
43 db_vim
= VimAccountDB
.get_vim_account_with_id(
44 db_vnfrs
[vld_member_vnf_index_ref
]["vim-account-id"]
48 vims_to_connect
.add(db_vim
["name"])
49 return vims_to_connect