from kafka import KafkaProducer
from osm_common.dbmongo import DbMongo
-from peewee import SqliteDatabase
+from playhouse.db_url import connect
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
+from osm_policy_module.core.config import Config
from osm_policy_module.core.database import ScalingGroup, ScalingAlarm, ScalingPolicy, ScalingCriteria
log = logging.getLogger()
"id": "cirros_vnf_memory_util",
"name": "cirros_vnf_memory_util",
"aggregation-type": "AVERAGE",
- "vdu-monitoring-param-ref": "cirros_vnfd-VM_memory_util",
- "vdu-ref": "cirros_vnfd-VM"
+ "vdu-monitoring-param": {
+ "vdu-monitoring-param-ref": "cirros_vnfd-VM_memory_util",
+ "vdu-ref": "cirros_vnfd-VM"
+ }
+ },
+ {
+ "id": "haproxy_users",
+ "name": "haproxy_users",
+ "aggregation-type": "AVERAGE",
+ "vnf-metric":
+ {"vnf-metric-name-ref": "users"}
}
],
+ "vdu-configuration": {
+ "juju": {
+ "charm": "testmetrics",
+ "proxy": True
+ },
+ "metrics": {
+ "name": "users"
+ }
+ },
"description": "Simple VNF example with a cirros and a scaling group descriptor",
"id": "cirros_vdu_scaling_vnf",
"logo": "cirros-64.png",
}
}
-test_db = SqliteDatabase(':memory:')
-
MODELS = [ScalingGroup, ScalingPolicy, ScalingCriteria, ScalingAlarm]
class PolicyModuleAgentTest(unittest.TestCase):
def setUp(self):
super()
- database.db = test_db
- test_db.bind(MODELS)
- test_db.connect()
- test_db.drop_tables(MODELS)
- test_db.create_tables(MODELS)
+ database.db.initialize(connect('sqlite://'))
+ database.db.bind(MODELS)
+ database.db.connect()
+ database.db.drop_tables(MODELS)
+ database.db.create_tables(MODELS)
self.loop = asyncio.new_event_loop()
- asyncio.set_event_loop(None)
def tearDown(self):
super()
get_nsr.return_value = nsr_record_mock
get_vnfd.return_value = vnfd_record_mock
create_alarm.side_effect = _test_configure_scaling_groups_create_alarm
- agent = PolicyModuleAgent(self.loop)
+ config = Config()
+ agent = PolicyModuleAgent(config, self.loop)
self.loop.run_until_complete(agent._configure_scaling_groups("test_nsr_id"))
- create_alarm.assert_any_call(metric_name='average_memory_utilization',
+ create_alarm.assert_any_call(metric_name='cirros_vnf_memory_util',
ns_id='test_nsr_id',
operation='GT',
statistic='AVERAGE',
threshold=80,
vdu_name='cirros_ns-1-cirros_vnfd-VM-1',
vnf_member_index='1')
- create_alarm.assert_any_call(metric_name='average_memory_utilization',
+ create_alarm.assert_any_call(metric_name='cirros_vnf_memory_util',
ns_id='test_nsr_id',
operation='LT',
statistic='AVERAGE',
threshold=20,
vdu_name='cirros_ns-1-cirros_vnfd-VM-1',
vnf_member_index='1')
- create_alarm.assert_any_call(metric_name='average_memory_utilization',
+ create_alarm.assert_any_call(metric_name='cirros_vnf_memory_util',
ns_id='test_nsr_id',
operation='GT',
statistic='AVERAGE',
threshold=80,
vdu_name='cirros_ns-2-cirros_vnfd-VM-1',
vnf_member_index='2')
- create_alarm.assert_any_call(metric_name='average_memory_utilization',
+ create_alarm.assert_any_call(metric_name='cirros_vnf_memory_util',
ns_id='test_nsr_id',
operation='LT',
statistic='AVERAGE',