Example #1
0
    def send_nodemgr_process_status(self):
        if self.prev_fail_status_bits == self.fail_status_bits:
            return

        self.prev_fail_status_bits = self.fail_status_bits
        fail_status_bits = self.fail_status_bits
        state, description = self._get_process_state(fail_status_bits)
        conn_infos = ConnectionState._connection_map.values()
        (cb_state, cb_description) = ConnectionState.get_conn_state_cb(conn_infos)
        if (cb_state == ProcessState.NON_FUNCTIONAL):
            state = ProcessState.NON_FUNCTIONAL
        if description != '':
            description += ' '
        description += cb_description

        process_status = ProcessStatus(
            module_id=self.type_info._module_name, instance_id=self.instance_id,
            state=ProcessStateNames[state], description=description,
            connection_infos=conn_infos)
        process_status_list = []
        process_status_list.append(process_status)
        node_status = NodeStatus(name=self.hostname,
                                 process_status=process_status_list)
        node_status_uve = NodeStatusUVE(table=self.type_info._object_table,
                                        data=node_status)
        msg = ('send_nodemgr_process_status: Sending UVE:'
               + str(node_status_uve))
        self.msg_log(msg, SandeshLevel.SYS_INFO)
        node_status_uve.send()
    def send_nodemgr_process_status(self):
        if self.prev_fail_status_bits == self.fail_status_bits:
            return

        self.prev_fail_status_bits = self.fail_status_bits
        fail_status_bits = self.fail_status_bits
        state, description = self._get_process_state(fail_status_bits)
        conn_infos = ConnectionState._connection_map.values()
        (cb_state, cb_description) = ConnectionState.get_conn_state_cb(conn_infos)
        if (cb_state == ProcessState.NON_FUNCTIONAL):
            state = ProcessState.NON_FUNCTIONAL
        if description != '':
            description += ' '
        description += cb_description

        process_status = ProcessStatus(
            module_id=self.type_info._module_name, instance_id=self.instance_id,
            state=ProcessStateNames[state], description=description)
        process_status_list = []
        process_status_list.append(process_status)
        node_status = NodeStatus(name=self.hostname,
                        process_status=process_status_list)
        node_status_uve = NodeStatusUVE(table=self.type_info._object_table,
                                        data=node_status)
        msg = ('send_nodemgr_process_status: Sending UVE:'
               + str(node_status_uve))
        self.msg_log(msg, SandeshLevel.SYS_INFO)
        node_status_uve.send()
    def send_nodemgr_process_status_base(self, ProcessStateNames,
                                         ProcessState, ProcessStatus):
        if (self.prev_fail_status_bits != self.fail_status_bits):
            self.prev_fail_status_bits = self.fail_status_bits
            fail_status_bits = self.fail_status_bits
            state, description = self.get_process_state(fail_status_bits)
            conn_infos = ConnectionState._connection_map.values()
            (cb_state, cb_description) = ConnectionState.get_conn_state_cb(conn_infos)
            if (cb_state == ProcessState.NON_FUNCTIONAL):
                state = ProcessState.NON_FUNCTIONAL
            if description != '':
                description += ' '
            description += cb_description

            process_status = ProcessStatus(
                    module_id=self.module_id, instance_id=self.instance_id,
                    state=ProcessStateNames[state], description=description)
            process_status_list = []
            process_status_list.append(process_status)
            node_status = NodeStatus(name=socket.gethostname(),
                            process_status=process_status_list)
            node_status_uve = NodeStatusUVE(table=self.table,
                                            data=node_status)
            msg = 'send_nodemgr_process_status_base: Sending UVE:' + str(node_status_uve)
            self.sandesh_global.logger().log(SandeshLogger.get_py_logger_level(
                                    SandeshLevel.SYS_INFO), msg)
            node_status_uve.send()
 def test_callback(self):
     vcinfos = []
     self._update_conn_info("Test1", ConnectionStatus.UP, "Test1 UP",
         vcinfos);
     (pstate, message) = ConnectionState.get_conn_state_cb(vcinfos)
     self.assertEqual(ProcessState.FUNCTIONAL, pstate)
     self.assertEqual('', message)
     self._update_conn_info("Test2", ConnectionStatus.DOWN, "Test2 DOWN",
         vcinfos);
     (pstate, message) = ConnectionState.get_conn_state_cb(vcinfos)
     self.assertEqual(ProcessState.NON_FUNCTIONAL, pstate)
     self.assertEqual("Test:Test2[Test2 DOWN] connection down", message);
     self._update_conn_info("Test3", ConnectionStatus.DOWN, "Test3 DOWN",
         vcinfos);
     (pstate, message) = ConnectionState.get_conn_state_cb(vcinfos);
     self.assertEqual(ProcessState.NON_FUNCTIONAL, pstate);
     self.assertEqual("Test:Test2[Test2 DOWN], Test:Test3[Test3 DOWN] connection down", message);