X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Flcm.py;h=a3fa60942d353f782864958587f68e3c6abae34b;hb=6509c6c40a160d05fff193ae0b761fe31b849c90;hp=b9146044a6b1daaf3b90b465d5ece055b3379220;hpb=89f8290b70918e151e6b6653c635ea6a05a22522;p=osm%2FLCM.git diff --git a/osm_lcm/lcm.py b/osm_lcm/lcm.py index b914604..a3fa609 100644 --- a/osm_lcm/lcm.py +++ b/osm_lcm/lcm.py @@ -62,6 +62,8 @@ class Lcm: ping_interval_pace = 120 # how many time ping is send once is confirmed all is running ping_interval_boot = 5 # how many time ping is sent when booting + cfg_logger_name = {"message": "lcm.msg", "database": "lcm.db", "storage": "lcm.fs", "tsdb": "lcm.prometheus"} + # ^ contains for each section at lcm.cfg the used logger name def __init__(self, config_file, loop=None): """ @@ -120,7 +122,7 @@ class Lcm: self.logger.setLevel(config["global"]["loglevel"]) # logging other modules - for k1, logname in {"message": "lcm.msg", "database": "lcm.db", "storage": "lcm.fs"}.items(): + for k1, logname in self.cfg_logger_name.items(): config[k1]["logger_name"] = logname logger_module = logging.getLogger(logname) if config[k1].get("logfile"): @@ -190,8 +192,12 @@ class Lcm: # contains created tasks/futures to be able to cancel self.lcm_tasks = TaskRegistry(self.worker_id, self.db, self.logger) - if self.config.get("prometheus"): - self.prometheus = prometheus.Prometheus(self.config["prometheus"], self.worker_id, self.db, self.loop) + if self.config.get("tsdb") and self.config["tsdb"].get("driver"): + if self.config["tsdb"]["driver"] == "prometheus": + self.prometheus = prometheus.Prometheus(self.config["tsdb"], self.worker_id, self.db, self.loop) + else: + raise LcmException("Invalid configuration param '{}' at '[tsdb]':'driver'".format( + config["tsdb"]["driver"])) else: self.prometheus = None self.ns = ns.NsLcm(self.db, self.msg, self.fs, self.lcm_tasks, self.config, self.loop, self.prometheus) @@ -344,6 +350,13 @@ class Lcm: task = asyncio.ensure_future(self.ns.terminate(nsr_id, nslcmop_id)) self.lcm_tasks.register("ns", nsr_id, nslcmop_id, "ns_terminate", task) return + elif command == "vca_status_refresh": + nslcmop = params + nslcmop_id = nslcmop["_id"] + nsr_id = nslcmop["nsInstanceId"] + task = asyncio.ensure_future(self.ns.vca_status_refresh(nsr_id, nslcmop_id)) + self.lcm_tasks.register("ns", nsr_id, nslcmop_id, "ns_vca_status_refresh", task) + return elif command == "action": # self.logger.debug("Update NS {}".format(nsr_id)) nslcmop = params @@ -483,7 +496,7 @@ class Lcm: topics = ("ns", "vim_account", "wim_account", "sdn", "nsi", "k8scluster", "k8srepo", "pla") topics_admin = ("admin", ) await asyncio.gather( - self.msg.aioread(topics, self.loop, self.kafka_read_callback), + self.msg.aioread(topics, self.loop, self.kafka_read_callback, from_beginning=True), self.msg_admin.aioread(topics_admin, self.loop, self.kafka_read_callback, group_id=False) ) @@ -509,7 +522,7 @@ class Lcm: # check RO version self.loop.run_until_complete(self.check_RO_version()) - # configure Prometheus + # configure tsdb prometheus if self.prometheus: self.loop.run_until_complete(self.prometheus.start())