From 39e022d709689d2fc02d892707971ae852fc55ea Mon Sep 17 00:00:00 2001 From: "Zhang Rong(Jon)" Date: Thu, 24 Nov 2022 22:19:55 +0800 Subject: [PATCH] Fix INF-381 another issue cause this case still failed The resource list method of the repository cause this issue still exist Issue-ID: INF-381 Signed-off-by: Zhang Rong(Jon) Change-Id: If4c7d60a497c6a01119a711d44584f0da3c75358 --- o2ims/adapter/ocloud_repository.py | 3 ++- o2ims/domain/alarm_repo.py | 8 ++++---- o2ims/domain/ocloud_repo.py | 16 ++++++++-------- o2ims/service/auditor/alarm_handler.py | 20 ++++++++------------ o2ims/views/ocloud_view.py | 2 -- 5 files changed, 22 insertions(+), 27 deletions(-) diff --git a/o2ims/adapter/ocloud_repository.py b/o2ims/adapter/ocloud_repository.py index dba4c24..23d4259 100644 --- a/o2ims/adapter/ocloud_repository.py +++ b/o2ims/adapter/ocloud_repository.py @@ -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)) diff --git a/o2ims/domain/alarm_repo.py b/o2ims/domain/alarm_repo.py index 41205db..ca6929e 100644 --- a/o2ims/domain/alarm_repo.py +++ b/o2ims/domain/alarm_repo.py @@ -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]]: diff --git a/o2ims/domain/ocloud_repo.py b/o2ims/domain/ocloud_repo.py index 478e815..4c4a075 100644 --- a/o2ims/domain/ocloud_repo.py +++ b/o2ims/domain/ocloud_repo.py @@ -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]]: diff --git a/o2ims/service/auditor/alarm_handler.py b/o2ims/service/auditor/alarm_handler.py index e24e4c9..305e919 100644 --- a/o2ims/service/auditor/alarm_handler.py +++ b/o2ims/service/auditor/alarm_handler.py @@ -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 diff --git a/o2ims/views/ocloud_view.py b/o2ims/views/ocloud_view.py index b529c13..5216125 100644 --- a/o2ims/views/ocloud_view.py +++ b/o2ims/views/ocloud_view.py @@ -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'] -- 2.16.6