def send_process_state_db_base(self, group_names, ProcessInfo): name = socket.gethostname() for group in group_names: process_infos = [] delete_status = True for key in self.process_state_db[group]: pstat = self.process_state_db[group][key] process_info = ProcessInfo() process_info.process_name = key process_info.process_state = pstat.process_state process_info.start_count = pstat.start_count process_info.stop_count = pstat.stop_count process_info.exit_count = pstat.exit_count process_info.last_start_time = pstat.start_time process_info.last_stop_time = pstat.stop_time process_info.last_exit_time = pstat.exit_time process_info.core_file_list = pstat.core_file_list process_infos.append(process_info) #in tor-agent case, we should use tor-agent name as uve key name = pstat.name if pstat.deleted == False: delete_status = False if not process_infos: continue # send node UVE node_status = NodeStatus() node_status.name = name node_status.deleted = delete_status node_status.process_info = process_infos node_status.build_info = self.get_build_info() node_status_uve = NodeStatusUVE(table=self.type_info._object_table, data=node_status) msg = 'send_process_state_db_base: Sending UVE:' + str(node_status_uve) self.msg_log(msg, SandeshLevel.SYS_INFO) node_status_uve.send()
def send_process_state_db(self, group_names): name = self.hostname for group in group_names: process_infos = [] delete_status = True for key in self.process_state_db[group]: pstat = self.process_state_db[group][key] process_info = ProcessInfo() process_info.process_name = key process_info.process_state = pstat.process_state process_info.start_count = pstat.start_count process_info.stop_count = pstat.stop_count process_info.exit_count = pstat.exit_count process_info.last_start_time = pstat.start_time process_info.last_stop_time = pstat.stop_time process_info.last_exit_time = pstat.exit_time process_info.core_file_list = pstat.core_file_list process_infos.append(process_info) # in tor-agent case, we should use tor-agent name as uve key name = pstat.name if pstat.deleted is False: delete_status = False if not process_infos: continue # send node UVE node_status = NodeStatus() node_status.name = name node_status.deleted = delete_status node_status.process_info = process_infos node_status.build_info = self._get_build_info() node_status_uve = NodeStatusUVE(table=self.type_info._object_table, data=node_status) msg = ('send_process_state_db: Sending UVE: {}'.format(node_status_uve)) self.msg_log(msg, SandeshLevel.SYS_INFO) node_status_uve.send()