def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None: """ Add some params to the desired config Args: mconfig (Any): mconfig service_cfg (Any): service config desired_cfg (EnodebConfiguration): desired config """ desired_cfg.set_parameter(ParameterName.SAS_ENABLED, 1) desired_cfg.set_parameter_for_object( ParameterName.PLMN_N_CELL_RESERVED % 1, True, # noqa: WPS345,WPS425 ParameterName.PLMN_N % 1, # noqa: WPS345 ) parameters_to_delete = [ ParameterName.RADIO_ENABLE, ParameterName.POWER_SPECTRAL_DENSITY, ParameterName.EARFCNDL, ParameterName.EARFCNUL, ParameterName.BAND, ParameterName.DL_BANDWIDTH, ParameterName.UL_BANDWIDTH, ParameterName.SAS_RADIO_ENABLE, ] for p in parameters_to_delete: if desired_cfg.has_parameter(p): desired_cfg.delete_parameter(p)
def postprocess( self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration, ) -> None: # TODO: Get this config from the domain proxy # TODO @amarpad, set these when DProxy integration is done. # For now the radio will directly talk to the SAS and get these # attributes. desired_cfg.delete_parameter(ParameterName.EARFCNDL) desired_cfg.delete_parameter(ParameterName.DL_BANDWIDTH) desired_cfg.delete_parameter(ParameterName.UL_BANDWIDTH) # go through misc parameters and set them to default. for name, val in FreedomFiOneMiscParameters.defaults.items(): desired_cfg.set_parameter(name, val) # Bump up the parameter key version self.acs.parameter_version_inc() # Workaround a bug in Sercomm firmware in release 3920, 3921 # where the meaning of CellReservedForOperatorUse is wrong. # Set to True to ensure the PLMN is not reserved num_plmns = self.acs.data_model.get_num_plmns() for i in range(1, num_plmns + 1): object_name = ParameterName.PLMN_N % i desired_cfg.set_parameter_for_object( param_name=ParameterName.PLMN_N_CELL_RESERVED % i, value=True, object_name=object_name, ) if self.WEB_UI_ENABLE_LIST_KEY in service_cfg: serial_nos = service_cfg.get(self.WEB_UI_ENABLE_LIST_KEY) if self.acs.device_cfg.has_parameter( ParameterName.SERIAL_NUMBER, ): if self.acs.get_parameter(ParameterName.SERIAL_NUMBER) in \ serial_nos: desired_cfg.set_parameter( FreedomFiOneMiscParameters.WEB_UI_ENABLE, True, ) else: # This should not happen EnodebdLogger.error("Serial number unknown for device") if self.SAS_KEY not in service_cfg: return sas_cfg = service_cfg[self.SAS_KEY] sas_param_names = self.acs.data_model.get_sas_param_names() for name, val in sas_cfg.items(): if name not in sas_param_names: EnodebdLogger.warning("Ignoring attribute %s", name) continue desired_cfg.set_parameter(name, val)
def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None: """ Add some params to the desired config Args: mconfig (Any): mconfig service_cfg (Any): service config desired_cfg (EnodebConfiguration): desired config """ desired_cfg.set_parameter(ParameterName.SAS_ENABLED, 1) # Set Cell reservation for both cells desired_cfg.set_parameter_for_object( ParameterName.PLMN_N_CELL_RESERVED % 1, True, # noqa: WPS345,WPS425 ParameterName.PLMN_N % 1, # noqa: WPS345 ) desired_cfg.set_parameter( CarrierAggregationParameters.CA_PLMN_CELL_RESERVED, True, ) # Make sure FAPService.1. is Primary desired_cfg.set_parameter_for_object( ParameterName.PLMN_N_PRIMARY % 1, True, # noqa: WPS345,WPS425 ParameterName.PLMN_N % 1, # noqa: WPS345 ) desired_cfg.set_parameter( CarrierAggregationParameters.CA_PLMN_PRIMARY, False, ) # Enable both cells desired_cfg.set_parameter_for_object( ParameterName.PLMN_N_ENABLE % 1, True, # noqa: WPS345,WPS425 ParameterName.PLMN_N % 1, # noqa: WPS345 ) desired_cfg.set_parameter( CarrierAggregationParameters.CA_PLMN_ENABLE, True, ) parameters_to_delete = [ ParameterName.RADIO_ENABLE, ParameterName.POWER_SPECTRAL_DENSITY, ParameterName.EARFCNDL, ParameterName.EARFCNUL, ParameterName.BAND, ParameterName.DL_BANDWIDTH, ParameterName.UL_BANDWIDTH, ParameterName.SAS_RADIO_ENABLE, ] for p in parameters_to_delete: if desired_cfg.has_parameter(p): desired_cfg.delete_parameter(p)
def postprocess( self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration, ) -> None: # TODO: Get this config from the domain proxy # TODO @amarpad, set these when DProxy integration is done. # For now the radio will directly talk to the SAS and get these # attributes. desired_cfg.delete_parameter(ParameterName.EARFCNDL) desired_cfg.delete_parameter(ParameterName.DL_BANDWIDTH) desired_cfg.delete_parameter(ParameterName.UL_BANDWIDTH) # go through misc parameters and set them to default. for name, val in FreedomFiOneMiscParameters.defaults.items(): desired_cfg.set_parameter(name, val) # Bump up the parameter key version self.acs.parameter_version_inc() if self.WEB_UI_ENABLE_LIST_KEY in service_cfg: serial_nos = service_cfg.get(self.WEB_UI_ENABLE_LIST_KEY) if self.acs.device_cfg.has_parameter( ParameterName.SERIAL_NUMBER, ): if self.acs.get_parameter(ParameterName.SERIAL_NUMBER) in \ serial_nos: desired_cfg.set_parameter( FreedomFiOneMiscParameters.WEB_UI_ENABLE, True, ) else: # This should not happen EnodebdLogger.error("Serial number unknown for device") if self.SAS_KEY not in service_cfg: return sas_cfg = service_cfg[self.SAS_KEY] sas_param_names = self.acs.data_model.get_sas_param_names() for name, val in sas_cfg.items(): if name not in sas_param_names: EnodebdLogger.warning("Ignoring attribute %s", name) continue desired_cfg.set_parameter(name, val)
def postprocess(self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration) -> None: desired_cfg.delete_parameter(ParameterName.ADMIN_STATE)
def postprocess(self, desired_cfg: EnodebConfiguration) -> None: # We don't set this parameter for this device, it should be # auto-configured by the device. desired_cfg.delete_parameter(ParameterName.ADMIN_STATE) return