From 640ff61422bc0ee3966941b93d9889ddbbd38d77 Mon Sep 17 00:00:00 2001 From: ckonstanski Date: Thu, 30 Jul 2026 18:17:14 -0600 Subject: more files --- src/orchestration/vmb_handler.py | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/orchestration/vmb_handler.py (limited to 'src/orchestration/vmb_handler.py') diff --git a/src/orchestration/vmb_handler.py b/src/orchestration/vmb_handler.py new file mode 100644 index 0000000..fc003f2 --- /dev/null +++ b/src/orchestration/vmb_handler.py @@ -0,0 +1,52 @@ +import django + +from django.conf import settings +from django.core.exceptions import AppRegistryNotReady +from django.db import transaction +import logging +from logging.handlers import QueueHandler + +from .vmb_producer import VMBProducer + +try: + django.setup() + from .models import ImageSync, CentralToRemoteMap, RemoteRegionSetup +except django.core.exceptions.AppRegistryNotReady as exp: + pass + +class VMBHandler(): + + def __init__(self, loggerQueue, vmbQueue, coordinateQueue): + self.loggerQueue = loggerQueue + self.vmbQueue = vmbQueue + self.coordinateQueue = coordinateQueue + + def run(self): + qh = QueueHandler(self.loggerQueue) + self.logger = logging.getLogger() + self.logger.addHandler(qh) + self.logger.setLevel(logging.DEBUG) + self.vmbProducer = VMBProducer() + + self.logger.info("VMBHandler started...") + while True: + #self.logger.info("--------------------------") + item = self.vmbQueue.get() + self._send_message(item) + + def _send_message(self, item): + message = item['message'] + if message == 'ImageStatus': + images_status_message = item['payload'] + self.vmbProducer.images_status(images_status_message) + self.coordinateQueue.put("Done") + if message == 'Kubeconfig': + kubeconfig_message = item['payload'] + self.vmbProducer.kubeconfig(kubeconfig_message) + if message == 'Namespace': + namespace_message = item['payload'] + self.vmbProducer.namespace_creation(namespace_message) + if message == 'ClusterStatus': + cluster_status_message = item['payload'] + self.vmbProducer.cluster_status(cluster_status_message) + return -- cgit v1.3