From: Benjamin Diaz Date: Mon, 8 Oct 2018 19:26:32 +0000 (-0300) Subject: Renames DbClient to CommonDbClient to avoid confusion X-Git-Tag: v5.0.0~7 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=8d2d6a02f2282c50a934ccab25fc909e3bbc27c6;hp=16256cbbf6cdfde8debc3254bf55ce0b8fa51b08;p=osm%2FPOL.git Renames DbClient to CommonDbClient to avoid confusion POL comunicates with two different databases, a relational one, that stores records for alarms, scaling groups and more, and a nonrelational one, that is common to all OSM modules, which we call CommonDB, that currently corrsponds to a MongoDB instance and stores nsds, vnfds, etc. The name db_client and DbClient used in the file and class that comunicates with CommonDB may be open to confussion, so it has been renamed as common_db_client and CommonDbClient. Signed-off-by: Benjamin Diaz Change-Id: I8209cbc23b5ab129221d1c928703929e4f405a4c --- diff --git a/osm_policy_module/common/common_db_client.py b/osm_policy_module/common/common_db_client.py new file mode 100644 index 0000000..83bb46c --- /dev/null +++ b/osm_policy_module/common/common_db_client.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018 Whitestack, LLC +# ************************************************************* + +# This file is part of OSM Monitoring module +# All Rights Reserved to Whitestack, LLC + +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# For those usages not covered by the Apache License, Version 2.0 please +# contact: bdiaz@whitestack.com or glavado@whitestack.com +## +from osm_common import dbmongo + +from osm_policy_module.core.config import Config + + +class CommonDbClient: + def __init__(self): + cfg = Config.instance() + self.common_db = dbmongo.DbMongo() + self.common_db.db_connect({'host': cfg.OSMPOL_DATABASE_HOST, + 'port': int(cfg.OSMPOL_DATABASE_PORT), + 'name': 'osm'}) + + def get_vnfr(self, nsr_id: str, member_index: int): + vnfr = self.common_db.get_one("vnfrs", + {"nsr-id-ref": nsr_id, "member-vnf-index-ref": str(member_index)}) + return vnfr + + def get_vnfrs(self, nsr_id: str): + return [self.get_vnfr(nsr_id, member['member-vnf-index']) for member in + self.get_nsr(nsr_id)['nsd']['constituent-vnfd']] + + def get_vnfd(self, vnfd_id: str): + vnfr = self.common_db.get_one("vnfds", + {"_id": vnfd_id}) + return vnfr + + def get_nsr(self, nsr_id: str): + nsr = self.common_db.get_one("nsrs", + {"id": nsr_id}) + return nsr + + def get_nslcmop(self, nslcmop_id): + nslcmop = self.common_db.get_one("nslcmops", + {"_id": nslcmop_id}) + return nslcmop diff --git a/osm_policy_module/common/db_client.py b/osm_policy_module/common/db_client.py deleted file mode 100644 index 1eed0f3..0000000 --- a/osm_policy_module/common/db_client.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright 2018 Whitestack, LLC -# ************************************************************* - -# This file is part of OSM Monitoring module -# All Rights Reserved to Whitestack, LLC - -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# For those usages not covered by the Apache License, Version 2.0 please -# contact: bdiaz@whitestack.com or glavado@whitestack.com -## -from osm_common import dbmongo - -from osm_policy_module.core.config import Config - - -class DbClient: - def __init__(self): - cfg = Config.instance() - self.common_db = dbmongo.DbMongo() - self.common_db.db_connect({'host': cfg.OSMPOL_DATABASE_HOST, - 'port': int(cfg.OSMPOL_DATABASE_PORT), - 'name': 'osm'}) - - def get_vnfr(self, nsr_id: str, member_index: int): - vnfr = self.common_db.get_one("vnfrs", - {"nsr-id-ref": nsr_id, "member-vnf-index-ref": str(member_index)}) - return vnfr - - def get_vnfrs(self, nsr_id: str): - return [self.get_vnfr(nsr_id, member['member-vnf-index']) for member in - self.get_nsr(nsr_id)['nsd']['constituent-vnfd']] - - def get_vnfd(self, vnfd_id: str): - vnfr = self.common_db.get_one("vnfds", - {"_id": vnfd_id}) - return vnfr - - def get_nsr(self, nsr_id: str): - nsr = self.common_db.get_one("nsrs", - {"id": nsr_id}) - return nsr - - def get_nslcmop(self, nslcmop_id): - nslcmop = self.common_db.get_one("nslcmops", - {"_id": nslcmop_id}) - return nslcmop diff --git a/osm_policy_module/core/agent.py b/osm_policy_module/core/agent.py index d637374..1e81141 100644 --- a/osm_policy_module/core/agent.py +++ b/osm_policy_module/core/agent.py @@ -30,7 +30,7 @@ from json import JSONDecodeError import yaml from aiokafka import AIOKafkaConsumer -from osm_policy_module.common.db_client import DbClient +from osm_policy_module.common.common_db_client import CommonDbClient from osm_policy_module.common.lcm_client import LcmClient from osm_policy_module.common.mon_client import MonClient from osm_policy_module.core import database @@ -48,7 +48,7 @@ class PolicyModuleAgent: if not loop: loop = asyncio.get_event_loop() self.loop = loop - self.db_client = DbClient() + self.db_client = CommonDbClient() self.mon_client = MonClient(loop=self.loop) self.lcm_client = LcmClient(loop=self.loop) self.kafka_server = '{}:{}'.format(cfg.OSMPOL_MESSAGE_HOST, diff --git a/osm_policy_module/tests/integration/test_policy_agent.py b/osm_policy_module/tests/integration/test_policy_agent.py index a2794eb..11bc969 100644 --- a/osm_policy_module/tests/integration/test_policy_agent.py +++ b/osm_policy_module/tests/integration/test_policy_agent.py @@ -32,7 +32,7 @@ from kafka import KafkaProducer from osm_common.dbmongo import DbMongo from peewee import SqliteDatabase -from osm_policy_module.common.db_client import DbClient +from osm_policy_module.common.common_db_client import CommonDbClient from osm_policy_module.common.mon_client import MonClient from osm_policy_module.core import database from osm_policy_module.core.agent import PolicyModuleAgent @@ -423,9 +423,9 @@ class PolicyModuleAgentTest(unittest.TestCase): @patch.object(DbMongo, 'db_connect', Mock()) @patch.object(KafkaProducer, '__init__') @patch.object(MonClient, 'create_alarm') - @patch.object(DbClient, 'get_vnfd') - @patch.object(DbClient, 'get_nsr') - @patch.object(DbClient, 'get_vnfr') + @patch.object(CommonDbClient, 'get_vnfd') + @patch.object(CommonDbClient, 'get_nsr') + @patch.object(CommonDbClient, 'get_vnfr') def test_configure_scaling_groups(self, get_vnfr, get_nsr, get_vnfd, create_alarm, kafka_producer_init): def _test_configure_scaling_groups_get_vnfr(*args, **kwargs): if '1' in args[1]: