Add VIM create Workflow (exceptions)
Change-Id: I4cbf9d1d5c3679ddd946fe4200fe9cd9c188c147
Signed-off-by: Patricia Reinoso <patricia.reinoso@canonical.com>
Signed-off-by: Mark Beierl <mark.beierl@canonical.com>
diff --git a/osm_lcm/nglcm.py b/osm_lcm/nglcm.py
index ee758cb..6c6f196 100644
--- a/osm_lcm/nglcm.py
+++ b/osm_lcm/nglcm.py
@@ -24,11 +24,17 @@
import yaml
from osm_common.dbbase import DbException
+from osm_common.temporal_constants import LCM_TASK_QUEUE
from osm_lcm.data_utils.database.database import Database
from osm_lcm.data_utils.lcm_config import LcmCfg
from osm_lcm.lcm_utils import LcmException
from os import path
-from temporalio import workflow
+from osm_lcm.temporal.vim_activities import VimDbActivity, JujuPaasConnector
+from osm_lcm.temporal.vim_workflows import (
+ VimCreateWorkflow,
+ VimDeleteWorkflow,
+ VimUpdateWorkflow,
+)
from temporalio.client import Client
from temporalio.worker import Worker
@@ -114,37 +120,32 @@
self.logger.critical("starting osm/nglcm")
async def start(self):
- # do some temporal stuff here
temporal_api = (
f"{self.main_config.temporal.host}:{str(self.main_config.temporal.port)}"
)
- self.logger.info(f"Attempting to register with Temporal at {temporal_api}")
client = await Client.connect(temporal_api)
+ data_activity_instance = VimDbActivity(self.db)
+ paas_connector_instance = JujuPaasConnector(self.db)
- task_queue = "lcm-task-queue"
- workflows = [
- Heartbeat,
+ workflows = [VimCreateWorkflow, VimDeleteWorkflow, VimUpdateWorkflow]
+ activities = [
+ data_activity_instance.update_vim_operation_state,
+ data_activity_instance.update_vim_state,
+ data_activity_instance.delete_vim_record,
+ paas_connector_instance.test_vim_connectivity,
]
- activities = []
worker = Worker(
- client, task_queue=task_queue, workflows=workflows, activities=activities
+ client,
+ task_queue=LCM_TASK_QUEUE,
+ workflows=workflows,
+ activities=activities,
)
- self.logger.info(f"Registered for queue {task_queue}")
- self.logger.info(f"Registered workflows {workflows}")
- self.logger.info(f"Registered activites {activities}")
-
+ self.logger.info("Starting LCM temporal worker")
await worker.run()
-@workflow.defn
-class Heartbeat:
- @workflow.run
- async def run(self) -> str:
- return "alive"
-
-
if __name__ == "__main__":
try:
opts, args = getopt.getopt(