Update DeploymentManagerInfo attributes
[pti/o2.git] / o2ims / adapter / clients / fault_client.py
index 953beb9..616a4ca 100644 (file)
@@ -97,6 +97,9 @@ class StxAlarmClient(BaseClient):
     def _set_stx_client(self):
         self.driver.setFaultClient(self._pool_id)
 
+    def delete(self, id) -> alarmModel.FaultGenericModel:
+        return self.driver.deleteAlarm(id)
+
 
 class StxEventClient(BaseClient):
     def __init__(self, uow: unit_of_work.AbstractUnitOfWork, driver=None):
@@ -157,7 +160,7 @@ class StxFaultClientImp(object):
         try:
             sub_is_https = False
             os_client_args = config.get_stx_access_info(
-                region_name=subcloud[0].name,
+                region_name=subcloud[0].region_name,
                 subcloud_hostname=subcloud[0].oam_floating_ip)
             stx_client = get_stx_client(**os_client_args)
         except EndpointException as e:
@@ -165,7 +168,8 @@ class StxFaultClientImp(object):
             if CGTSCLIENT_ENDPOINT_ERROR_MSG in msg:
                 sub_is_https = True
                 os_client_args = config.get_stx_access_info(
-                    region_name=subcloud[0].name, sub_is_https=sub_is_https,
+                    region_name=subcloud[0].region_name,
+                    sub_is_https=sub_is_https,
                     subcloud_hostname=subcloud[0].oam_floating_ip)
                 stx_client = get_stx_client(**os_client_args)
             else:
@@ -199,8 +203,8 @@ class StxFaultClientImp(object):
         alarms = self.fmclient.alarm.list(expand=True)
         if len(alarms) == 0:
             return []
-        logger.debug('alarm 1:' + str(alarms[0].to_dict()))
-        # [print('alarm:' + str(alarm.to_dict())) for alarm in alarms if alarm]
+        [logger.debug(
+            'alarm:' + str(alarm.to_dict())) for alarm in alarms if alarm]
         return [alarmModel.FaultGenericModel(
             alarmModel.EventTypeEnum.ALARM, self._alarmconverter(alarm))
             for alarm in alarms if alarm]
@@ -208,7 +212,8 @@ class StxFaultClientImp(object):
     def getAlarmInfo(self, id) -> alarmModel.FaultGenericModel:
         try:
             alarm = self.fmclient.alarm.get(id)
-            logger.debug('get alarm id ' + id + ':' + str(alarm.to_dict()))
+            logger.debug(
+                'get alarm id: ' + id + ', result:' + str(alarm.to_dict()))
         except HTTPNotFound:
             event = self.fmclient.event_log.get(id)
             return alarmModel.FaultGenericModel(
@@ -217,10 +222,16 @@ class StxFaultClientImp(object):
         return alarmModel.FaultGenericModel(
             alarmModel.EventTypeEnum.ALARM, self._alarmconverter(alarm))
 
+    def deleteAlarm(self, id) -> alarmModel.FaultGenericModel:
+        alarm = self.fmclient.alarm.delete(id)
+        logger.debug('delete alarm id ' + id + ':' + str(alarm.to_dict()))
+        return alarmModel.FaultGenericModel(
+            alarmModel.EventTypeEnum.ALARM, self._alarmconverter(alarm))
+
     def getEventList(self, **filters) -> List[alarmModel.FaultGenericModel]:
         events = self.fmclient.event_log.list(alarms=True, expand=True)
-        logger.debug('event 1:' + str(events[0].to_dict()))
-        # [print('alarm:' + str(event.to_dict())) for event in events if event]
+        [logger.debug(
+            'alarm:' + str(event.to_dict())) for event in events if event]
         return [alarmModel.FaultGenericModel(
             alarmModel.EventTypeEnum.EVENT, self._eventconverter(event))
             for event in events if event]
@@ -241,8 +252,8 @@ class StxFaultClientImp(object):
 
     def getSuppressionList(self, alarm_id) -> alarmModel.FaultGenericModel:
         suppression_list = []
-        queryAsArray = []
-        events = self.fmclient.event_suppression.list(q=queryAsArray)
+        query_as_array = []
+        events = self.fmclient.event_suppression.list(q=query_as_array)
         for event in events:
             if event.alarm_id == alarm_id:
                 # logger.debug('suppression event:' + str(event.to_dict()))
@@ -252,7 +263,7 @@ class StxFaultClientImp(object):
                         self._suppression_converter(event)))
         return suppression_list
 
-    @ staticmethod
+    @staticmethod
     def _alarmconverter(alarm):
         selected_keys = [
             'alarm_id', 'alarm_state', 'entity_type_id', 'entity_instance_id',
@@ -274,7 +285,7 @@ class StxFaultClientImp(object):
                 uuid.NAMESPACE_URL, alarm.probable_cause)))
         return alarm
 
-    @ staticmethod
+    @staticmethod
     def _eventconverter(event, clear=False):
         selected_keys = [
             'event_log_id', 'state', 'entity_type_id',
@@ -297,7 +308,7 @@ class StxFaultClientImp(object):
                 uuid.NAMESPACE_URL, event.probable_cause)))
         return event
 
-    @ staticmethod
+    @staticmethod
     def _suppression_converter(event, clear=False):
         selected_keys = [
             'alarm_id', 'description', 'suppression_status',
@@ -318,7 +329,7 @@ class StxFaultClientImp(object):
         setattr(event, 'timestamp', None)
         return event
 
-    @ staticmethod
+    @staticmethod
     def _alarmeventhasher(event, state=''):
         # The event model and the alarm model have different parameter name
         # of the state. alarm model is alarm_state, event model is state.