[PM] Adds support for logstash
[osm/MON.git] / policy_module / osm_policy_module / core / agent.py
index b4f9c4d..f8f82b5 100644 (file)
@@ -1,5 +1,29 @@
+# -*- 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
+##
 import json
 import logging
+import yaml
 
 from kafka import KafkaConsumer
 from osm_policy_module.core.config import Config
@@ -32,7 +56,10 @@ class PolicyModuleAgent:
             log.info("Message arrived: %s", message)
             try:
                 if message.key == 'configure_scaling':
-                    content = json.loads(message.value)
+                    try:
+                        content = json.loads(message.value)
+                    except:
+                        content = yaml.safe_load(message.value)
                     log.info("Creating scaling record in DB")
                     # TODO: Use transactions: http://docs.peewee-orm.com/en/latest/peewee/transactions.html
                     scaling_record = ScalingRecord.create(