def read_msg(self, message: Any) -> Optional[str]: """ In this case, we assume that we already know things such as the manufacturer OUI, and also the SW-version of the eNodeB which is sending the Inform message, so we don't process the message. We just check that we're getting the right message type that we expect. Returns: InformResponse """ if type(message) == models.Fault: raise Tr069Error( 'ACS in WaitInform state. Received a Fault message. ' '(faultstring = %s)' % message.FaultString) elif not isinstance(message, models.Inform): raise ConfigurationError( 'ACS in WaitInform state. Expected an Inform message. ' + 'Received a %s message.' % type(message)) is_correct_event = False for event in message.Event.EventStruct: logging.debug('Inform event: %s', event.EventCode) if event.EventCode == self.INFORM_EVENT_CODE: # Mark eNodeB as unconfigured, since some config params # are reset on reboot (e.g. perf mgmt enable) logging.info('eNodeB booting - reconfig required') self.acs.device_cfg = EnodebConfiguration(self.acs.data_model) is_correct_event = True if not is_correct_event: raise Tr069Error('Did not receive 1 BOOT event code in ' 'Inform') process_inform_message(message, self.acs.device_name, self.acs.data_model, self.acs.device_cfg) return None
def read_msg(self, message: Any) -> AcsReadMsgResult: if not isinstance(message, models.Inform): return AcsReadMsgResult(False, None) process_inform_message( message, self.acs.data_model, self.acs.device_cfg, ) return AcsReadMsgResult(True, None)
def read_msg(self, message: Any) -> AcsReadMsgResult: if not isinstance(message, models.Inform): return AcsReadMsgResult(False, None) if not does_inform_have_event(message, self.INFORM_EVENT_CODE): raise Tr069Error('Did not receive M Reboot event code in ' 'Inform') process_inform_message(message, self.acs.device_name, self.acs.data_model, self.acs.device_cfg) return AcsReadMsgResult(True, self.done_transition)
def read_msg(self, message: Any) -> AcsReadMsgResult: """ Args: message: models.Inform Tr069 Inform message """ if not isinstance(message, models.Inform): return AcsReadMsgResult(False, None) process_inform_message(message, self.acs.device_name, self.acs.data_model, self.acs.device_cfg) return AcsReadMsgResult(True, None)
def read_msg(self, message: Any) -> AcsReadMsgResult: """ Args: message: models.Inform Tr069 Inform message """ if not isinstance(message, models.Inform): return AcsReadMsgResult(False, None) process_inform_message(message, self.acs.device_name, self.acs.data_model, self.acs.device_cfg) if does_inform_have_event(message, '1 BOOT'): return AcsReadMsgResult(True, self.boot_transition) return AcsReadMsgResult(True, None)
def read_msg(self, message: Any) -> Optional[str]: """ Args: message: models.Inform Tr069 Inform message """ if not isinstance(message, models.Inform): raise ConfigurationError( 'ACS in Disconnected state. Expected an Inform message. ' + 'Received a %s message.' % type(message)) process_inform_message(message, self.acs.device_name, self.acs.data_model, self.acs.device_cfg) return None
def read_msg(self, message: Any) -> AcsReadMsgResult: """ This state can be transitioned into through user command. All messages received by enodebd will be ignored in this state. """ if self.prev_msg_was_inform \ and not isinstance(message, models.DummyInput): return AcsReadMsgResult(False, None) elif isinstance(message, models.Inform): self.prev_msg_was_inform = True process_inform_message(message, self.acs.device_name, self.acs.data_model, self.acs.device_cfg) return AcsReadMsgResult(True, None) self.prev_msg_was_inform = False return AcsReadMsgResult(True, None)
def read_msg(self, message: Any) -> AcsReadMsgResult: """ Read incoming message Args: message (Any): TR069 message Returns: AcsReadMsgResult """ if not isinstance(message, models.Inform): return AcsReadMsgResult(msg_handled=False, next_state=None) process_inform_message( message, self.acs.data_model, self.acs.device_cfg, ) return AcsReadMsgResult(msg_handled=True, next_state=None)
def read_msg(self, message: Any) -> Optional[str]: if type(message) == models.Inform: is_correct_event = False for event in message.Event.EventStruct: logging.debug('Inform event: %s', event.EventCode) if event.EventCode == self.INFORM_EVENT_CODE: is_correct_event = True if not is_correct_event: raise Tr069Error('Did not receive M Reboot event code in ' 'Inform') elif type(message) == models.Fault: # eNodeB may send faults for no apparent reason before rebooting return None else: raise Tr069Error('Unexpected response type: %s' % type(message)) process_inform_message(message, self.acs.device_name, self.acs.data_model, self.acs.device_cfg) return self.done_transition
def read_msg(self, message: Any) -> AcsReadMsgResult: if type(message) == models.Inform: is_correct_event = False for event in message.Event.EventStruct: logging.debug('Inform event: %s', event.EventCode) if event.EventCode == self.INFORM_EVENT_CODE: is_correct_event = True if not is_correct_event: raise Tr069Error('Did not receive M Reboot event code in ' 'Inform') elif type(message) == models.Fault: # eNodeB may send faults for no apparent reason before rebooting return AcsReadMsgResult(True, None) else: return AcsReadMsgResult(False, None) self.received_inform = True process_inform_message(message, self.acs.device_name, self.acs.data_model, self.acs.device_cfg) return AcsReadMsgResult(True, None)