Version History
This list is in reverse-chronological order (the latest change is at the top).
Different heading levels are used for Major, Minor, and Patch releases - in Markdown
syntax, that’s # for Major, ## for Minor, and ### for Patch.
Unreleased
Add better handling for Tango events that arrive right after attribute change subscription call
Add
Subarray.pstJonesAppliedPercentTango attribute indicating what percentage of PST Jones applied (Not yet ready).Add
Subarray.pssJonesAppliedPercentTango attribute indicating what percentage of PSS Jones applied (Not yet ready).Add
Subarray.pstJonesAgeTango attribute indicating the age of applied PST Jones matrices (Not yet ready).Add
Subarray.pssJonesAgeTango attribute indicating the age of applied PSS Jones matrices (Not yet ready).
2.3.0
Add attributes reporting SPS statistics (RMS levels, flagging percentage). Requires latest processor software, otherwise will crash trying to access attributes only available in the latest processor. Processor software needed will be version 0.22.0 when it’s released.
Increase Tango timeout from 3 to 10 seconds for Subarray’s Processor proxies
ADR-111 compliance with following quality attributes:
spsLinkUpPercentin the controller representing the percentage of SPS links up.sdpHostsResolvedPercentin the subarray representing the percentage of PSS hosts resolved.pstHostsResolvedPercentin the subarray representing the percentage of PST hosts resolved.sdpHostsResolvedPercentin the subarray representing the percentage of SDP hosts resolved.
Add
Subarray.processorsReadyPercentTango attribute indicating what percentage of processors are ready for subarray scan.Add
Subarray.processorEthernetLockedPercentTango attribute indicating what percentage of Ethernet ports are locked and ready for subarray scan.
2.2.2
For LowCbfSubarray and LowCbfController enable health reporting when in ENGINEERING mode
use Connector Tango DB when getting DeviceProxy for Connector device
allign LowCbfController health calculation with that of Processor and Subarray
report
HealthState.UNKNOWNwhen in OFFLINE, NOT_FITTED and RESERVEDadminModerelevant Jira issues SKB-1037 PERENTIE-3193
2.2.1
fix skb-1082 (allocator crash with PST+VIS config and no firmware)
SKB-1085 (also Jira PERENTIE-3191) flag
delaysValidTango attribute value as UNUSED (value of 2) once the subarray is deconfigured
2.2.0
New subarray-config item “sps_rfi_threshold_db” supported
Fix SKB-1049 in which PSS routing does not function as expected
2.1.0
New Realtime calibration emulator (used for perentie tests of PST Jones updates)
2.0.0
Change Allocator’s internal_alveo attribute format. The “fw” value is now a dictionary with “personality” and “url” keys.
1.0.4
Allocate PSS in blocks of 4 stations because FPGA works in 4-station blocks (SKB-817)
Update
ska-tango-baseandska-tango-utilchart dependencies to~0.4.23
1.0.3
remove allocator.stationbeams attr and make subarray.stationbeams function (skb-940)
remove some restrictions on multiple host destinations for correlator
1.0.2
Jira PERENTIE-3117 separate thread to process Tango events in Subarray device
1.0.1
Fix SKB-964 PST routes not configured for some beam frequencies
1.0.0
Container image based on ska-tango-images-tango-python:0.3.0 (was previously ska-tango-images-pytango-runtime:9.5.0)
Update to Tango v10
allocator is now updating 2 new attributes:
switch_routes, containing the list of IP routing
ip_to_resolve, containing the list of IP address to resolve with ARP
Relax SPS channel restriction for station beams. Now accepts 0–511, with a warning message if outside the expected range of 64–447.
Relax frequency restriction for coarse zooms. Now accepts 0 - top of SPS channel 511, with a warning if outside SPS channel 64–447.
Deprecation notice: Allocator attribute
sdp_routes
0.14.0
BREAKING change: Support for Zoom correlation by extending Allocator and Subarray devices. This change also extends the Allocator-Processor interface with extra data related to zoom correlation. Requires updated Processor to read the extra info: old processor will log a crash if used.
fix Allocator crash in no-hardware mode
0.13.3
Fix alveo auto-registration crash when using no-processor-hardware mode for SW testing
0.13.2
Flag allocator.internalAlveoLimit attribute as READ_WRITE
0.13.1
Reformat Tango attributes which Sphinx documetation generator finds hard to parse
replace
attr_name = attribute(...)with@attribute(...)replace
@attribute.writewithdef write_attrName
Allow Delay Device reconfiguration without emptying Subarray first
0.13.0
LowCbfController._unavaliable_alveosdidn’t corectly update once Alveos were made available; condition variable lock was held too long which lead to deadlock when multiple Alveos got registered with Allocator in a quick succession.Suppress “missing subarray id” log messages when processing
internal_alveoupdates that contain empty register dictionaries (e.g. PST when only one pipeline configured)Prevent unnecessary Allocator & Connector attribute subscription if subscribed already
healthStateupdated only whenadminModeis ONLINE or ENGINEERING (see alsoENGINEERING_MODE_IGNORE_HEALTH)add
ENGINEERING_MODE_IGNORE_HEALTHenvironment variable; when set to ‘True’ the health state won’t propagate to Low CBF ControllerAdd
assigned_processorsTango attribute toLowCbfSubarraydevice
0.12.0
Controller device exposes two new Tango attributes:
all_alveosandavailable_alveos; updated Taranta dashboardLow CBF Controller - Status.wjRemove FSPs from allocator. Deprecate FSPs in subarray configure command
Update Taranta dashboards that allow setting subarray and processor
adminModeto ENGINEERING.Add tool to calculate Alveo usage by any proposed subarray configuration (see src/allocator/extimation_tool.py)
0.11.1
Add
cbf.telmodel_source_uriHelm variable, mapped to newDelayDeviceTango propertyTelmodelSourceURIDelay-poly simulator changed to publish station-beam delays last. This means PSS/PST test output will begin with both validity flags “valid” for large numbers of stations. Note: For large numbers of stations, katpoint takes significant time to calculate delays. Expect delay-poly attributes to update slowly.
ObsState behaviour no longer rejects subarray.Configure() commands when a subarray is already configured (in ObsState.READY)
Apply known FPGA allocation limits by default.
Add new FPGA limit for PST number of channels (to work around PST FPGA 2k entry first-frequency table with 16 entries used per channel 2k/16 = 128 SPS chans max)
0.11.0
Avoid Allocator crash when using no Processors, by using a dummy tango device URI when auto-registering processors
Make Allocator per-personality limits adjustable via tango attribute
DelayDevice: Add
ypol_offset_nsattributeUpdate to pytango 9.5.0
DelayDevice: Polynomial updates enabled/disabled by ‘enable_poly_updates’ attribute
DelayDevice: Polynomial validity interval configurable by ‘validity_seconds’ attribute
Increase delay emulator CPU & memory limits
0.10.0
add support for PSS personality in the Allocator and Subarray devices
fix SKB-316: Make subarray configuration wait for processor firmware download
fix SKB-442: Sort stations in subarray configuration by station/substation ID as per CBF/SDP ICD
0.9.0
new subarray NO_HEALTH_ROLLUP environment variable stops subarray from including external Tango devices in its health roll-up (switches and processors)
new allocator ALLOW_AUTO_REGISTER_PROCESSORS environment variable - bugfix for undesired auto-registration with large depolyments
delay-polynomial simulator changed to produce PST beam polynomials that are differences from the polynomials for the corresponding station beam
delay-polynomial simulator changed to have initial empty scan_id string (matching CspLeafNode change), allowing processor to decide when to discard
properties related to subscriptions to the connector are configurable via helm chart
fix PERENTIE-2422 allocator-resubscribe-to-connector-ARP bug that occurs if connector is deleted/respawned
update delay polynomial validity Grafana panel
0.8.1
fix SKB-317 subarray healthState race condition
0.8.0
Three new Delay polynomial generator commands for PST delay generation: PstOffsetRaDec, PstOffsetAzEl, PstOffsetDelay
add
delaysValidattribute to indicate/summarise whether all delay polynomials in this subarray are valid; used by a Grafana dashboardBreaking Change: Delay polynomial generator updated to produce delay polynomials using the new Telmodel CSP_LOW_DELAYMODEL_1_0 format (https://gitlab.com/ska-telescope/ska-telmodel/-/blob/master/src/ska_telmodel/csp/examples.py?ref_type=heads#L1878-1914)
0.7.0
Separate Low CBF Helm charts - downstream users will need to add
ska-low-cbf-procandska-low-cbf-connsub-charts as required.Added P4 switch interaction to allow for ARP of SDP hosts
Added calculation of P4 switch routes needed to get visibilities to SDP hosts
Internal interface to Correlator/Processor changed (not backward compatible)
Correlator allocation algorithm reworked to use both available Matrix Correlators in Correlator FPGA
New and updated tests to verify Correlator allocation with 2 Matrix Correlators
Propagate healthState attribute change: processor -> subarray -> controller
Fix allocator confusion of station beams when multiple station beams present
Delay polynomial epoch changed from 1970 to SKA-epoch (midnight, 1 January 2000 TAI)
Fix LowCbfController where opMode was DISABLED regardless of ONLINE/OFFLINE adminMode (Jira PERENTIE-2192)
0.6.1
bugfixes
fixes allocator-proxy-failure in subarray device (now uses mccsdeviceproxy)
fixes allocator-crash-when-no-fsps-available (now logs and returns error message)
updated ska-tango-base to v0.18.1
updated ska-* charts to latest versions for which events work (at 2023-06-09)
Added skeleton delay-polynomial simulator device (to enable processor development that uses delay-polynomials)
0.6.0
Added processor registration command and “fsps” attribute listing alveos of registered processors
Updated subarray AssignResources command:
FSP, P4, sharing-mode arguments removed
Now takes an empty JSON string argument
Updated subarray ConfigureScan command:
Now includes FSP selection and FSP firmware selection in ConfigureScan arguments
SDP destination address format updated to match Telmodel
PST destination address format updated to match PST “Channel Blocks” given to LMC
Fix for Abort-from-scanning-obsstate bug where it was impossible to scan again afterwards
Add psi-low-test CI job, which uses real harwdare in the Low PSI (currently only a CNIC-CNIC via P4/Connector test is performed)
Amend
psi-low-testCI job with a call to switch’sLoadPorts()method which reportedly enables associated Alveo cardSwitch to Xilinx platform/shell version 3 (XDMA 3) -
helmcharts and dependant packages (processor)Use the latest Taranta versions 1.3.8/1.3.6 (Taranta and TangoGQL respectively).
Pin the CI runner version to 9.3.32 until PyTango upgrade to 9.3.6
0.5.7
Use
pyproject.tomlas source of software version numberInclude
ska-low-cbf-connandska-low-cbf-fpgasub-charts in our Helm chart (currently disabled by ourtest-parentchart for running local/CI tests)Add
charts/psi-low.values.yamlfor enabling hardware in Low PSIAdd
VALUES_FILEvariable to Makefile
0.5.6
Allow Subarray On, Off, Standby commands to complete (response is “rejected”, except On which is handled by base classes)
Background work towards calculating Connector routing table entries & Processor virtual channel tables as Subarrays are configured
0.5.5
Implement AssignResources command to work with FSP & P4 resources in Low.CBF
Stubbed implementation of ConfigureScan command
0.5.4
Restructure src directory
Convert from setup.py to pyproject.toml
Replace allocation algorithm with allocator/resources.py (”resource tables”)
Update to ska-tango-base v0.13.2
Various edits to improve lint score
0.5.3
Subarray: Update attribute names used on Processor device
Allocation Algorithm
calculate routes from LFAA to FPGAs and from FPGAs to PST
calculate virtual channel tables
0.5.2
Allocation Algorithm can report allocated FPGAs for a subarray
Allocator device RequestAllocation command return value is derived from allocation (Processor devices only)
A very rough implementation, needs work on mapping ID to FQDN
0.5.1
Add tests for Allocator device
test-parent chart: add ska-low-cbf-proc chart, for integration tests
0.5.0
Allocator TANGO device created
RequestAllocationreturn value is hard-coded
Subarray passes on information from resource assignment requests to Allocator, expects to receive details of assigned Processor devices in response
0.4.0
Subarray can assign (hard-coded) Processor resource for 1 PST beam and turn on PSR test packet generation
0.3.4
Move FPGA-related code to ska-low-cbf-proc