def start_libpart(self, ag_list): if not self._conf.zk_list(): self._logger.error('Could not import libpartition: No zookeeper') return None if not ag_list: self._logger.error('Could not import libpartition: No alarmgen list') return None try: from libpartition.libpartition import PartitionClient self._logger.error('Starting PC') agpi = AlarmgenPartionInfo() agpi.instance = self._instance_id agpi.partitions = [] agp = AlarmgenPartition() agp.name = self._hostname agp.inst_parts = [agpi] agp_trace = AlarmgenPartitionTrace(data=agp) agp_trace.send() pc = PartitionClient("alarmgen", self._libpart_name, ag_list, self._conf.partitions(), self.libpart_cb, ','.join(self._conf.zk_list())) self._logger.error('Started PC') return pc except Exception as e: self._logger.error('Could not import libpartition: %s' % str(e)) return None
def libpart_cb(self, part_list): agpi = AlarmgenPartionInfo() agpi.instance = self._instance_id agpi.partitions = part_list agp = AlarmgenPartition() agp.name = self._hostname agp.inst_parts = [agpi] agp_trace = AlarmgenPartitionTrace(data=agp) agp_trace.send() newset = set(part_list) oldset = self._partset self._partset = newset self._logger.error('Partition List : new %s old %s' % \ (str(newset),str(oldset))) for addpart in (newset-oldset): self._logger.error('Partition Add : %s' % addpart) self.partition_change(addpart, True) for delpart in (oldset-newset): self._logger.error('Partition Del : %s' % delpart) self.partition_change(delpart, False)
def libpart_cb(self, part_list): agpi = AlarmgenPartionInfo() agpi.instance = self._instance_id agpi.partitions = part_list agp = AlarmgenPartition() agp.name = self._hostname agp.inst_parts = [agpi] agp_trace = AlarmgenPartitionTrace(data=agp, sandesh=self._sandesh) agp_trace.send(sandesh=self._sandesh) newset = set(part_list) oldset = self._partset self._partset = newset self._logger.error('Partition List : new %s old %s' % \ (str(newset),str(oldset))) for addpart in (newset - oldset): self._logger.error('Partition Add : %s' % addpart) self.partition_change(addpart, True) for delpart in (oldset - newset): self._logger.error('Partition Del : %s' % delpart) self.partition_change(delpart, False) self._logger.error('Partition List done : new %s old %s' % \ (str(newset),str(oldset)))
def start_libpart(self, ag_list): if not self._conf.zk_list(): self._logger.error('Could not import libpartition: No zookeeper') return None if not ag_list: self._logger.error( 'Could not import libpartition: No alarmgen list') return None try: self._logger.error('Starting PC') agpi = AlarmgenPartionInfo() agpi.instance = self._instance_id agpi.partitions = [] agp = AlarmgenPartition() agp.name = self._hostname agp.inst_parts = [agpi] agp_trace = AlarmgenPartitionTrace(data=agp, sandesh=self._sandesh) agp_trace.send(sandesh=self._sandesh) pc = PartitionClient("alarmgen", self._libpart_name, ag_list, self._conf.partitions(), self.libpart_cb, ','.join(self._conf.zk_list())) self._logger.error('Started PC') return pc except Exception as e: self._logger.error('Could not import libpartition: %s' % str(e)) return None
def start_libpart(self, ag_list): if not self._conf.zk_list(): self._logger.error("Could not import libpartition: No zookeeper") return None if not ag_list: self._logger.error("Could not import libpartition: No alarmgen list") return None try: self._logger.error("Starting PC") agpi = AlarmgenPartionInfo() agpi.instance = self._instance_id agpi.partitions = [] agp = AlarmgenPartition() agp.name = self._hostname agp.inst_parts = [agpi] agp_trace = AlarmgenPartitionTrace(data=agp, sandesh=self._sandesh) agp_trace.send(sandesh=self._sandesh) pc = PartitionClient( "alarmgen", self._libpart_name, ag_list, self._conf.partitions(), self.libpart_cb, ",".join(self._conf.zk_list()), ) self._logger.error("Started PC") return pc except Exception as e: self._logger.error("Could not import libpartition: %s" % str(e)) return None