From 71f8155b3b60befb21aabaffe0b0cf4d940eda61 Mon Sep 17 00:00:00 2001 From: "Zhang Rong(Jon)" Date: Fri, 3 Dec 2021 11:33:38 +0800 Subject: [PATCH] Fix: UpdateDms throwing error that no attribute 'events' 1. Check events exist before the pop event Issue-ID: INF-233 Signed-off-by: Zhang Rong(Jon) Change-Id: I98fc3ebdd766f9e65f012fa61f612c4d587c7457 --- o2app/adapter/unit_of_work.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/o2app/adapter/unit_of_work.py b/o2app/adapter/unit_of_work.py index e488542..6fd4ae2 100644 --- a/o2app/adapter/unit_of_work.py +++ b/o2app/adapter/unit_of_work.py @@ -24,6 +24,9 @@ from o2common.service.unit_of_work import AbstractUnitOfWork from o2ims.adapter import ocloud_repository from o2dms.adapter import dms_repository +from o2common.helper import o2logging +logger = o2logging.get_logger(__name__) + DEFAULT_SESSION_FACTORY = sessionmaker( bind=create_engine( config.get_postgres_uri(), @@ -70,26 +73,26 @@ class SqlAlchemyUnitOfWork(AbstractUnitOfWork): def _collect_new_events(self): for entry in self.oclouds.seen: - while entry.events: + while hasattr(entry, 'events') and len(entry.events) > 0: yield entry.events.pop(0) for entry in self.resource_pools.seen: - while entry.events: + while hasattr(entry, 'events') and len(entry.events) > 0: yield entry.events.pop(0) for entry in self.resources.seen: - while entry.events: + while hasattr(entry, 'events') and len(entry.events) > 0: yield entry.events.pop(0) for entry in self.resource_types.seen: - while entry.events: + while hasattr(entry, 'events') and len(entry.events) > 0: yield entry.events.pop(0) for entry in self.deployment_managers.seen: - while entry.events: + while hasattr(entry, 'events') and len(entry.events) > 0: yield entry.events.pop(0) for entry in self.nfdeployment_descs.seen: - while entry.events: + while hasattr(entry, 'events') and len(entry.events) > 0: yield entry.events.pop(0) for entry in self.nfdeployments.seen: - while entry.events: + while hasattr(entry, 'events') and len(entry.events) > 0: yield entry.events.pop(0) for entry in self.ocloudvresources.seen: - while entry.events: + while hasattr(entry, 'events') and len(entry.events) > 0: yield entry.events.pop(0) -- 2.16.6