Fix the objref issue.
[pti/o2.git] / o2app / entrypoints / resource_watcher.py
index 909e86c..085fb13 100644 (file)
@@ -51,6 +51,15 @@ from o2ims.adapter.clients.ocloud_client import StxEthClient
 from o2ims.service.watcher.pserver_acc_watcher import PServerAccWatcher
 from o2ims.adapter.clients.ocloud_client import StxAccClient
 
+from o2ims.adapter.clients.alarm_dict_client import load_alarm_definition,\
+    load_alarm_dictionary_from_conf_file
+from o2ims.service.watcher.agg_compute_watcher import ComputeAggWatcher
+from o2ims.service.watcher.agg_network_watcher import NetworkAggWatcher
+from o2ims.service.watcher.agg_storage_watcher import StorageAggWatcher
+from o2ims.service.watcher.agg_undefined_watcher import UndefinedAggWatcher
+from o2ims.adapter.clients.aggregate_client import ComputeAggClient, \
+    NetworkAggClient, StorageAggClient, UndefinedAggClient
+
 from o2common.helper import o2logging
 logger = o2logging.get_logger(__name__)
 
@@ -63,6 +72,8 @@ class WatcherService(cotyledon.Service):
         self.args = args
         self.bus = bootstrap.bootstrap()
         self.worker = PollWorker(bus=self.bus)
+        load_alarm_definition(self.bus.uow)
+        load_alarm_dictionary_from_conf_file(self.bus.uow)
 
     def run(self):
         try:
@@ -76,6 +87,18 @@ class WatcherService(cotyledon.Service):
             child_respool = root.addchild(
                 ResourcePoolWatcher(StxResourcePoolClient(),
                                     self.bus))
+
+            # Add Aggregate watch
+            child_respool.addchild(
+                ComputeAggWatcher(ComputeAggClient(), self.bus))
+            child_respool.addchild(
+                NetworkAggWatcher(NetworkAggClient(), self.bus))
+            child_respool.addchild(
+                StorageAggWatcher(StorageAggClient(), self.bus))
+            child_respool.addchild(
+                UndefinedAggWatcher(UndefinedAggClient(), self.bus))
+
+            # Add Resource watch
             child_pserver = child_respool.addchild(
                 PServerWatcher(StxPserverClient(), self.bus))
             child_pserver.addchild(
@@ -93,11 +116,10 @@ class WatcherService(cotyledon.Service):
             child_pserver.addchild(
                 PServerAccWatcher(StxAccClient(), self.bus))
 
-            self.worker.add_watcher(root)
-
             # Add Alarm watch
-            root = WatcherTree(
+            child_respool.addchild(
                 AlarmWatcher(StxAlarmClient(self.bus.uow), self.bus))
+
             self.worker.add_watcher(root)
 
             self.worker.start()