First instance of the gnocchi plugin
[osm/MON.git] / plugins / OpenStack / Gnocchi / plugin_instance.py
diff --git a/plugins/OpenStack/Gnocchi/plugin_instance.py b/plugins/OpenStack/Gnocchi/plugin_instance.py
new file mode 100644 (file)
index 0000000..6f9e306
--- /dev/null
@@ -0,0 +1,36 @@
+"""Gnocchi plugin for the OSM monitoring module."""
+
+import logging as log
+
+from plugins.OpenStack.Gnocchi.metrics import Metrics
+from plugins.OpenStack.settings import Config
+
+
+def register_plugin():
+    """Register the plugin."""
+    config = Config.instance()
+    instance = Plugin(config=config)
+    instance.config()
+    instance.metrics()
+
+
+class Plugin(object):
+    """Gnocchi plugin for OSM MON."""
+
+    def __init__(self, config):
+        """Plugin instance."""
+        log.info("Initialze the plugin instance.")
+        self._config = config
+        self._metrics = Metrics()
+
+    def config(self):
+        """Configure plugin."""
+        log.info("Configure the plugin instance.")
+        self._config.read_environ("gnocchi")
+
+    def metrics(self):
+        """Initialize metric functionality."""
+        log.info("Initialize metric functionality.")
+        self._metrics.metric_calls()
+
+register_plugin()