Fix INF-381 another issue cause this case still failed 23/9823/1
authorZhang Rong(Jon) <rong.zhang@windriver.com>
Thu, 24 Nov 2022 14:19:55 +0000 (22:19 +0800)
committerJackie Huang <jackie.huang@windriver.com>
Fri, 25 Nov 2022 08:27:44 +0000 (16:27 +0800)
The resource list method of the repository cause this issue still exist

Issue-ID: INF-381
Signed-off-by: Zhang Rong(Jon) <rong.zhang@windriver.com>
Change-Id: If4c7d60a497c6a01119a711d44584f0da3c75358

o2ims/adapter/ocloud_repository.py
o2ims/domain/alarm_repo.py
o2ims/domain/ocloud_repo.py
o2ims/service/auditor/alarm_handler.py
o2ims/views/ocloud_view.py

index dba4c24..23d4259 100644 (file)
@@ -138,8 +138,9 @@ class ResourceSqlAlchemyRepository(ResourceRepository):
         size = kwargs.pop('limit') if 'limit' in kwargs else None
         offset = kwargs.pop('start') if 'start' in kwargs else 0
 
+        args1 = args + (ocloud.Resource.resourcePoolId == resourcepool_id,)
         result = self.session.query(ocloud.Resource).filter(
-            *args).order_by('resourceId')
+            *args1).order_by('resourceId')
         count = result.count()
         if size is not None and size != -1:
             return (count, result.limit(size).offset(offset))
index 41205db..ca6929e 100644 (file)
@@ -31,8 +31,8 @@ class AlarmEventRecordRepository(abc.ABC):
             self.seen.add(alarm_event_record)
         return alarm_event_record
 
-    def list(self, **kwargs) -> List[obj.AlarmEventRecord]:
-        return self._list(*[], **kwargs)[1]
+    def list(self, *args) -> List[obj.AlarmEventRecord]:
+        return self._list(*args)[1]
 
     def list_with_count(self, *args, **kwargs) -> \
             Tuple[int, List[obj.AlarmEventRecord]]:
@@ -163,8 +163,8 @@ class AlarmSubscriptionRepository(abc.ABC):
             self.seen.add(subscription)
         return subscription
 
-    def list(self, **kwargs) -> List[obj.AlarmSubscription]:
-        return self._list(*[], **kwargs)[1]
+    def list(self, *args) -> List[obj.AlarmSubscription]:
+        return self._list(*args)[1]
 
     def list_with_count(self, *args, **kwargs) -> \
             Tuple[int, List[obj.AlarmSubscription]]:
index 478e815..4c4a075 100644 (file)
@@ -74,8 +74,8 @@ class ResourceTypeRepository(abc.ABC):
             self.seen.add(resource_type)
         return resource_type
 
-    def list(self, **kwargs) -> List[ocloud.ResourceType]:
-        return self._list(*[], **kwargs)[1]
+    def list(self, *args) -> List[ocloud.ResourceType]:
+        return self._list(*args)[1]
 
     def list_with_count(self, *args, **kwargs) -> \
             Tuple[int, List[ocloud.ResourceType]]:
@@ -120,8 +120,8 @@ class ResourcePoolRepository(abc.ABC):
             self.seen.add(resource_pool)
         return resource_pool
 
-    def list(self, **kwargs) -> List[ocloud.ResourcePool]:
-        return self._list(*[], **kwargs)[1]
+    def list(self, *args) -> List[ocloud.ResourcePool]:
+        return self._list(*args)[1]
 
     def list_with_count(self, *args, **kwargs) -> \
             Tuple[int, List[ocloud.ResourcePool]]:
@@ -162,8 +162,8 @@ class ResourceRepository(abc.ABC):
             self.seen.add(resource)
         return resource
 
-    def list(self, resourcepool_id, **kwargs) -> List[ocloud.Resource]:
-        return self._list(resourcepool_id, *[], **kwargs)[1]
+    def list(self, resourcepool_id, *args) -> List[ocloud.Resource]:
+        return self._list(resourcepool_id, *args)[1]
 
     def list_with_count(self, resourcepool_id, *args, **kwargs) -> \
             Tuple[int, List[ocloud.Resource]]:
@@ -205,8 +205,8 @@ class DeploymentManagerRepository(abc.ABC):
             self.seen.add(deployment_manager)
         return deployment_manager
 
-    def list(self, **kwargs) -> List[ocloud.DeploymentManager]:
-        return self._list(*[], **kwargs)[1]
+    def list(self, *args) -> List[ocloud.DeploymentManager]:
+        return self._list(*args)[1]
 
     def list_with_count(self, *args, **kwargs) -> \
             Tuple[int, List[ocloud.DeploymentManager]]:
index e24e4c9..305e919 100644 (file)
@@ -19,7 +19,7 @@ import json
 # from o2common.config import config
 # from o2common.service.messagebus import MessageBus
 from o2common.service.unit_of_work import AbstractUnitOfWork
-from o2ims.domain import events, commands, alarm_obj
+from o2ims.domain import events, commands, alarm_obj, ocloud
 from o2ims.domain.alarm_obj import AlarmEventRecord, FaultGenericModel,\
     AlarmNotificationEventEnum
 
@@ -57,29 +57,25 @@ def update_alarm(
 
                 restype = uow.resource_types.get_by_name('pserver')
                 localmodel.resourceTypeId = restype.resourceTypeId
-                hosts = uow.resources.list(resourcepool.resourcePoolId, **{
-                    'resourceTypeId': restype.resourceTypeId
-                })
+                args = [ocloud.Resource.resourceTypeId ==
+                        restype.resourceTypeId]
+                hosts = uow.resources.list(resourcepool.resourcePoolId, *args)
                 for host in hosts:
+                    logger.debug('host extensions: ' + host.extensions)
                     extensions = json.loads(host.extensions)
                     if extensions['hostname'] == hostname:
                         localmodel.resourceId = host.resourceId
                 uow.alarm_event_records.add(localmodel)
                 logger.info("Add the alarm event record: " + fmobj.id
                             + ", name: " + fmobj.name)
-            # localmodel.resourceTypeId = check_restype_id(uow, fmobj)
-            # logger.debug("resource type ID: " + localmodel.resourceTypeId)
-            # localmodel.resourceId = check_res_id(uow, fmobj)
-            # logger.debug("resource ID: " + localmodel.resourceId)
-            # uow.alarm_event_records.add(localmodel)
             else:
                 restype = uow.resource_types.get_by_name('undefined_aggregate')
                 localmodel.resourceTypeId = restype.resourceTypeId
 
+                args = [ocloud.Resource.resourceTypeId ==
+                        restype.resourceTypeId]
                 undefined_res = uow.resources.list(
-                    resourcepool.resourcePoolId, **{
-                        'resourceTypeId': restype.resourceTypeId
-                    })
+                    resourcepool.resourcePoolId, *args)
                 localmodel.resourceId = undefined_res[0].resourceId
                 uow.alarm_event_records.add(localmodel)
                 logger.info("Add the alarm event record: " + fmobj.id
index b529c13..5216125 100644 (file)
@@ -103,8 +103,6 @@ def resources(resourcePoolId: str, uow: unit_of_work.AbstractUnitOfWork,
         query_kwargs['resourceTypeId'] = restype_id
     args = gen_filter(
         ocloud.Resource, kwargs['filter']) if 'filter' in kwargs else []
-    args.append(ocloud.Resource.resourcePoolId == resourcePoolId)
-    # args.append(ocloud.Resource.parentId == None)
 
     if 'parentId' in kwargs:
         query_kwargs['parentId'] = kwargs['parentId']