ska_oso_scripting.engineering.low.workarounds
ska_oso_scripting.engineering.low.workarounds.csp
Workarounds for known issues in the CSP subsystem.
- ska_oso_scripting.engineering.low.workarounds.csp.ensure_cbf_processors_registered(cbf: CBFDevices)[source]
Ensures that all CBF processors are registered with the CBF allocator.
If the allocator is restarted after processors - for example because of an upgrade to ska-low-cbf but not ska-low-cbf-proc, or a Pod eviction - then it won’t know about the processors, and won’t be able to allocate them to a subarray.
- ska_oso_scripting.engineering.low.workarounds.csp.ensure_pst_routing(cbf: CBFDevices, beam_ids: Iterable[int])[source]
Update PST routing.
TODO: Identify or raise the SKB for this.
ska_oso_scripting.engineering.low.workarounds.mccs
Workarounds for known issues in the MCCS subsystem.
- ska_oso_scripting.engineering.low.workarounds.mccs.ensure_sps_csp_endpoints(sps_stations: Iterable[tango.DeviceProxy])[source]
Ensure that each station’s CSP endpoint is set to its CspIngestIp property.
We need to check that the stations’ station beams are being sent to CBF, and not e.g. the DAQ.
The only true way to tell this is to inspect TPMs, which we currently don’t have access to from the SPC cluster. So we check the value reported by SpsStation and warn if it disagrees, but unconditionally call SetCspIngest anyway.
ska_oso_scripting.engineering.low.workarounds.oso
Functions that apply short-term workarounds by editing the inputs (SBDefinitions) and outputs (TMC commands) of OSO observations.
- ska_oso_scripting.engineering.low.workarounds.oso.update_assign_resources_request(assign_resources_request: ska_tmc_cdm.messages.central_node.assign_resources.AssignResourcesRequest) ska_tmc_cdm.messages.central_node.assign_resources.AssignResourcesRequest[source]
Applies Low AIV overrides to set of AssignResourcesRequest for TMC CentralNode
The purpose of this function is for any short-lived workarounds or changes that eventually should be fixed ska-oso-scripting.pdm_transforms (or possibly further upstream)
- ska_oso_scripting.engineering.low.workarounds.oso.update_configure_requests(cfg_requests: Mapping[Any, Iterable[ska_tmc_cdm.messages.subarray_node.configure.ConfigureRequest]]) Mapping[Any, Iterable[ska_tmc_cdm.messages.subarray_node.configure.ConfigureRequest]][source]
Applies Low AIV overrides to set of ConfigureRequest for TMC SubarrayNode
The purpose of this function is for any short-lived workarounds or changes that eventually should be fixed ska-oso-scripting.pdm_transforms (or possibly further upstream)
- ska_oso_scripting.engineering.low.workarounds.oso.update_scheduling_block_definition(sbd: ska_oso_pdm.SBDefinition) ska_oso_pdm.SBDefinition[source]
Applies Low AIV overrides to an SBDefinition, returning the mutated SBDefinition.
The purpose of this function is for any short-lived workarounds or changes that eventually should be fixed in the ODT.
ska_oso_scripting.engineering.low.workarounds.subarray
Helper functions for working with SKA Low subarrays.
- ska_oso_scripting.engineering.low.workarounds.subarray.back_to_empty(tm_subarray: DeviceProxy | int, assign_resources_block: dict | None = None)[source]
Take a TMC subarray and do our best to bring it back to EMPTY.
Split into 2 parts - 1) building the device tree then 2) operate on the device tree - to making integration testing using a shallower device tree easier.
ska_oso_scripting.engineering.low.workarounds.tmc
Workarounds for TMC