from o2ims.adapter import ocloud_repository\r
from o2dms.adapter import dms_repository\r
\r
+from o2common.helper import o2logging\r
+logger = o2logging.get_logger(__name__)\r
+\r
+\r
+engine = create_engine(\r
+ config.get_postgres_uri(),\r
+ isolation_level="REPEATABLE READ",\r
+ pool_size=200, max_overflow=0,\r
+ pool_recycle=3600\r
+)\r
+\r
DEFAULT_SESSION_FACTORY = sessionmaker(\r
- bind=create_engine(\r
- config.get_postgres_uri(),\r
- isolation_level="REPEATABLE READ",\r
- )\r
+ autocommit=False, autoflush=False, bind=engine\r
)\r
\r
\r
class SqlAlchemyUnitOfWork(AbstractUnitOfWork):\r
+\r
def __init__(self, session_factory=DEFAULT_SESSION_FACTORY):\r
self.session_factory = session_factory\r
\r
.ResourceSqlAlchemyRepository(self.session)\r
self.subscriptions = ocloud_repository\\r
.SubscriptionSqlAlchemyRepository(self.session)\r
+ self.configurations = ocloud_repository\\r
+ .ConfigurationSqlAlchemyRepository(self.session)\r
self.deployment_managers = ocloud_repository\\r
.DeploymentManagerSqlAlchemyRepository(self.session)\r
self.nfdeployment_descs = dms_repository\\r
.NfDeploymentDescSqlAlchemyRepository(self.session)\r
+ self.nfdeployments = dms_repository\\r
+ .NfDeploymentSqlAlchemyRepository(self.session)\r
+ self.ocloudvresources = dms_repository\\r
+ .NfOCloudVResourceSqlAlchemyRepository(self.session)\r
return super().__enter__()\r
\r
def __exit__(self, *args):\r
\r
def _collect_new_events(self):\r
for entry in self.oclouds.seen:\r
- while entry.events:\r
+ # while hasattr(entry, 'events') and len(entry.events) > 0:\r
+ while entry.events is not None and len(entry.events) > 0:\r
yield entry.events.pop(0)\r
for entry in self.resource_pools.seen:\r
- while entry.events:\r
+ while entry.events is not None and len(entry.events) > 0:\r
yield entry.events.pop(0)\r
for entry in self.resources.seen:\r
- while entry.events:\r
+ while entry.events is not None and len(entry.events) > 0:\r
yield entry.events.pop(0)\r
for entry in self.resource_types.seen:\r
- while entry.events:\r
+ while hasattr(entry, 'events') and len(entry.events) > 0:\r
yield entry.events.pop(0)\r
for entry in self.deployment_managers.seen:\r
- while entry.events:\r
+ while hasattr(entry, 'events') and len(entry.events) > 0:\r
+ yield entry.events.pop(0)\r
+ for entry in self.subscriptions.seen:\r
+ while hasattr(entry, 'events') and len(entry.events) > 0:\r
+ yield entry.events.pop(0)\r
+ for entry in self.configurations.seen:\r
+ while hasattr(entry, 'events') and len(entry.events) > 0:\r
yield entry.events.pop(0)\r
for entry in self.nfdeployment_descs.seen:\r
- while entry.events:\r
+ while hasattr(entry, 'events') and len(entry.events) > 0:\r
+ yield entry.events.pop(0)\r
+ for entry in self.nfdeployments.seen:\r
+ while hasattr(entry, 'events') and len(entry.events) > 0:\r
+ yield entry.events.pop(0)\r
+ for entry in self.ocloudvresources.seen:\r
+ while hasattr(entry, 'events') and len(entry.events) > 0:\r
yield entry.events.pop(0)\r