--- /dev/null
+OSM MON Module
+****************
+
+MON is a monitoring module for OSM. This module leverages the monitoring
+tool of the supported VIMs through MON's native plugin to send and receive
+metrics and alarms for a VNF.
+
+Components
+**********
+
+MON module has the following components:
+
+ - MON Core, which includes Message Bus and Models
+ - Plugin drivers for various VIMs
+
+The MON module communication is classified as
+
+ - External to MON(requests to MON from SO)
+ - Internal to MON(responses to MON from plugins)
+
+Supported Plugins
+******************
+
+Supported VIMs are OpenStack, VMWare, AWS for now.MON can send/receive metrics
+and alarms from the following plugins in this release.
+
+ - Gnocchi, Aodh (OpenStack)
+ - vrOps (VMWare)
+ - CloudWatch (AWS)
+
+Developers
+**********
+
+ - Prithiv Mohan, Intel Research and Development Ltd, Ireland
+ - Helena McGough, Intel Research and Development Ltd, Ireland
+ - Sachin Bhangare, VMWare, India
+ - Wajeeha Hamid, XFlow Research, Pakistan
+
+Maintainers
+***********
+
+ - Adrian Hoban, Intel Research and Development Ltd, Ireland
+
+Contributions
+*************
+
+For information on how to contribute to OSM MON module, please get in touch with
+the developer or the maintainer.
+
+Any new code must follow the development guidelines detailed in the Dev Guidelines
+in the OSM Wiki and pass all tests.
+
+Dev Guidelines can be found at:
+
+ [https://osm.etsi.org/wikipub/index.php/Workflow_with_OSM_tools]
payload_create_alarm = jsmin(open(os.path.join(json_path,
'create_alarm.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_create_alarm),
topic='alarm_request')
payload_create_alarm_resp = jsmin(open(os.path.join(json_path,
'create_alarm_resp.json')).read())
- publish(key,
- value = json.dumps(payload_create_alarm_resp),
+ self.publish(key,
+ value = message,
topic = 'alarm_response')
def acknowledge_alarm(self, key, message, topic):
payload_acknowledge_alarm = jsmin(open(os.path.join(json_path,
'acknowledge_alarm.json')).read())
- publish(key,
+ self.publish(key,
value = json.dumps(payload_acknowledge_alarm),
topic = 'alarm_request')
payload_alarm_list_req = jsmin(open(os.path.join(json_path,
'list_alarm_req.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_alarm_list_req),
topic='alarm_request')
payload_notify_alarm = jsmin(open(os.path.join(json_path,
'notify_alarm.json')).read())
- publish(key,
- value=json.dumps(payload_notify_alarm),
+ self.publish(key,
+ value=message,
topic='alarm_response')
def list_alarm_response(self, key, message, topic):
payload_list_alarm_resp = jsmin(open(os.path.join(json_path,
'list_alarm_resp.json')).read())
- publish(key,
- value=json.dumps(payload_list_alarm_resp),
+ self.publish(key,
+ value=message,
topic='alarm_response')
payload_update_alarm_req = jsmin(open(os.path.join(json_path,
'update_alarm_req.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_update_alarm_req),
topic='alarm_request')
payload_update_alarm_resp = jsmin(open(os.path.join(json_path,
'update_alarm_resp.json')).read())
- publish(key,
- value=json.dumps(payload_update_alarm_resp),
+ self.publish(key,
+ value=message,
topic='alarm_response')
payload_delete_alarm_req = jsmin(open(os.path.join(json_path,
'delete_alarm_req.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_delete_alarm_req),
topic='alarm_request')
payload_delete_alarm_resp = jsmin(open(os.path.join(json_path,
'delete_alarm_resp.json')).read())
- publish(key,
- value=json.dumps(payload_delete_alarm_resp),
+ self.publish(key,
+ value=message,
topic='alarm_response')
payload_create_metrics_req = jsmin(open(os.path.join(json_path,
'create_metric_req.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_create_metrics_req),
topic='metric_request')
payload_create_metrics_resp = jsmin(open(os.path.join(json_path,
'create_metric_resp.json')).read())
- publish(key,
- value=json.dumps(payload_create_metrics_resp),
+ self.publish(key,
+ value=message,
topic='metric_response')
payload_read_metric_data_request = jsmin(open(os.path.join(json_path,
'read_metric_data_req.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_read_metric_data_request),
topic='metric_request')
payload_metric_data_response = jsmin(open(os.path.join(json_path,
'read_metric_data_resp.json')).read())
- publish(key,
- value=json.dumps(payload_metric_data_response),
+ self.publish(key,
+ value=message,
topic='metric_response')
payload_metric_list_req = jsmin(open(os.path.join(json_path,
'list_metric_req.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_metric_list_req),
topic='metric_request')
payload_metric_list_resp = jsmin(open(os.path.join(json_path,
'list_metrics_resp.json')).read())
- publish(key,
- value=json.dumps(payload_metric_list_resp),
+ self.publish(key,
+ value=message,
topic='metric_response')
payload_delete_metric_req = jsmin(open(os.path.join(json_path,
'delete_metric_req.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_delete_metric_req),
topic='metric_request')
payload_delete_metric_resp = jsmin(open(os.path.join(json_path,
'delete_metric_resp.json')).read())
- publish(key,
- value=json.dumps(payload_delete_metric_resp),
+ self.publish(key,
+ value=message,
topic='metric_response')
payload_update_metric_req = jsmin(open(os.path.join(json_path,
'update_metric_req.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_update_metric_req),
topic='metric_request')
payload_update_metric_resp = jsmin(open(os.path.join(json_path,
'update_metric_resp.json')).read())
- publish(key,
- value=json.dumps(payload_update_metric_resp),
+ self.publish(key,
+ value=message,
topic='metric_response')
def access_credentials(self, key, message, topic):
payload_access_credentials = jsmin(open(os.path.join(json_path,
'access_credentials.json')).read())
- publish(key,
+ self.publish(key,
value=json.dumps(payload_access_credentials),
topic='access_credentials')
"schema_version": { "type": "string" },
"schema_type": { "type": "string" },
"tenant_uuid": { "type": "string" },
- "correlation_uuid": { "type": "integer" },
+ "correlation_id": { "type": "integer" },
"vim_type": { "type": "string" },
"metrics_list":
- {
- "metric_name": { "type": "string" },
- "metric_uuid": { "type": "string" },
- "metric_unit": { "type": "string" },
- "resource_uuid": { "type": "string" }
- },
+ [{
+ "type": "array",
+ "properties":{
+ "metric_name": { "type": "string" },
+ "metric_uuid": { "type": "string" },
+ "metric_unit": { "type": "string" },
+ "resource_uuid": { "type": "string" }
+ }
+ }],
"required": [ "schema_version",
"schema_type",
- "correlation_uuid",
+ "correlation_id",
"vim_type",
"metric_name",
"metric_uuid",