Change Log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
[1.11.0]
Added
Changes to reduce run time of integration tests.
Utility to analyse and batch tests using pytest json files.
Dynamic batching of test use pytest pre-test trigger hook.
Updated
Tests related to without autorecovery scenarion have been removed.
Support for ska-low-csp-assignresources/7.5, updated CspAssignResourcesInterfaceURL.
[1.10.0]
Fixed
Fixed initial observation state assignment to support command queuing.
[1.9.0]
Added
ska-tango-difdoc v0.3.0 to automatically generate documentation for tango devices
Fixed
Fixed RTD structure to be inline with other TMC repositories.
[1.8.0]
Updated
Updated low subarray obsState aggregation to support MCCS early scan without triggering false FAULT transitions.
Updated tests to simplify aggregation test coverage with parameterized tests.
Fixed configuration to match schema validation using environment variables SKA_SCHEMAS_ALLOW_STRICT_VALIDATION.
[1.7.1]
Fixed
Fixed the abort command issue
Abort now does not wait for inqueue command to get executed , it aborts the ongoing command immediately
[1.7.0]
Updated
Updated the subarray node to support partial configuration of receptors, this would enable users to configure partial receptors out of the one assigned to the subarray.
[1.6.0]
Updated
Changed ScanStartTimeOffset property to memorized attribute scanStartTimeOffset.
Renamed property StartTimeEnabled to ScanStartTimeEnabled.
Replaced tel-model with ska-schemas library v1.36.0 for schema validation in SubarrayNode.
[1.5.0]
Fixed
Update rules to consider longRunningCommandResult in addition to ObsState=Aborted for Abort Command.
[1.4.0]
Added
Introduced new property PreRecoveryCheckTimeDuration, which ensures that the devices with successful command result reach final observation state and devices with failed command result reach the previous observation state. This would help in auto recovery the subarray to appropriate observation state in case of failure. If the device is stuck in transitioning observation state till time duration the subarray Node won’t be recovered.
[1.3.1]
Fixed
Improved configure command by validating presence of pst and pst_bf keys before access.
[1.3.0]
Updated
Schema Version upgraded to 1.36.0
Schema is updated to support Mattieu Pattern data in Configure Json.
[1.2.2]
Fixed
Fixed handling of “ia offset” and “ca offset” for normal scan dishes.
[1.2.1]
Updated
Fixed an issue where SubarrayNode could aggregate an incorrect ObsState or get stuck in an intermittent state when a subsystem command returned FAILED.
This was caused by a race condition where aggregation was sometimes not triggered at the correct time.
Added an additional FAULT rule to ensure that any FAILED command result reliably triggers FAULT aggregation.
[1.2.0]
Fixed
Removed unnecessary logs.
Updated INFO level logs to DEBUG level where appropriate.
Updated to tmc-common version 1.6.0.
[1.1.1]
Fixed
SKB-1230: Updated ska-schemas to allow correlation information under CBF to be optional for PST scan configurations.
[1.1.0]
Updated
TMC Subarraynode Low Supports Kafka address forwarding in jones key.
Subarraynode utilises ska-telmodel version 1.33.0 and ska-tmc-cdm version 14.8.0.
Usage of long_running_command decorator included.
Change in test data to be compliant with ADR-63.
[1.0.0]
Updated
Base class upgraded to 1.4.0
invoke_lrc api used for observation commands
error propogation decorator removed
made commands method synchronous
[0.51.2]
Updated
Health State Rules Updated.
[0.51.1]
Updated
Update injection of start_time key using chart variables for ADR-111.
Fix propogation of scan_start_time_offset value from chart to tango device.
Fix intermittently failing test case.
[0.51.0]
Added
Added support for PST Scan Configuration
[0.50.1]
Updated
fix for “dish” key error in partial configure with configure interface version 5.0
[0.50.0]
Added
Updated Subarraynode to consider liveliness status of device in healthstate aggregation and update the info in healthinfo.
[0.49.2]
Added
HealthInfo aggregation support in the Subarray (SA) node. It handles HealthInfo events from Dish, CSP, SDP, and MCCS devices, aggregates them correctly, and updates the healthInfo attribute accordingly.
[0.49.1]
Updated
Updated the rule engine for healthstate aggregation to consider dishleafnode healthstate
[0.49.0]
SAH-1831: Scan command supports optional start_time field in JSON.
[0.48.2]
Fixed
Improved Abort Retry mechanism to resolve SKB-1158
[0.48.1]
Updated
Update TMC Low non-sidereal tracking test to verify ADR-63 compliance by testing all reference frames and validating the field key in MCCS subarray beams.
[0.48.0]
Updated
Updated ska-telmodel v1.29.0.
Updated ska-tmc-cdm v14.4.0.
Updated configure command to support PSS scans.
Updated TMC configure command schema v6.0
[0.47.4]
Updated
Use latest ska-tmc-common version 1.1.1 and ska-tmc-simulators version 1.5.1 as dependencies.
[0.47.3]
Fixed
Resolved issue of ArrayLayoutURL
Updated the TMC mid documentation to bring it on par with the Low updates made towards resolution of skb-808
[0.47.2]
Fixed
Removed updation of unresponsive flag from event callbacks to resolve SKB-1074
[0.47.1]
Updated
Utilized telmodel v1.26.1 with updated “special” key handling in JSON for Non-sidereal tracking.
[0.47.0]
Added
Added ‘arrayLayoutURL’ attribute to store Array Layout URI and fetch data from TelModel.
Updated ‘assign_resource’ command to accept URI and download array layout data.
Updated ‘configure’ command to use downloaded array layout data and pass it to leaf nodes.
[0.46.0]
Fixed
Fixed RTD structure.
Fixed all the existing docs-build warnings from master.
Added
Added knowledge base and glossary in RTD.
Added Command workflow in knowledge base for Subarray Node to resolve comments on SKB-808.
Updated
Updated ConfigureMid command to update spfrx parameter for respective dish adapter.
[0.45.2]
Updated
Updated the command timeout and abort timeout for faster execution of integration tests(Respository level change).
Updated the unit test to run parallely(Respository level change).
fixed the assign resources command recovery issue
[0.45.1]
Fixed
Fixed configure rules for fault scenarios of command failure and subsystem transition to observation state FAULT.
[0.44.4]
PLEASE NOTE: This is a branch release Fixed —— * Fixed configure rules for fault scenarios of command failure and subsystem transition to observation state FAULT.
[0.45.0]
Added
Added support for AssignResources command failure auto recovery
Added new device property for MCCS release interface - MccsReleaseInterfaceURL
[0.44.3]
Fixed
Fixed issue where Assigned Resources was getting cleared if subarray is in IDLE and second assign command fails.
Release Resource command updated to provide Subarray id in release resource json to MCCS Master Leaf Node.
[0.44.2]
Updated
Updated imports for the helper device to deploy from ska-tmc-simulators package v1.1.4.
[0.44.1]
Fixed
Resolved assigned resources push change event issue for mid.
Fixed issue in long running command result update for AssignResources command.
[0.44.0]
Added
Added support for configure command failure auto recovery
[0.43.1]
Fixed
Resolved pylint/pylance warnings to resolve SKB-1041
[0.43.0]
Added
Updated the AssignResources and ReleaseAllResources commands to be invoked on MCCS Master DishLeafNode
Updated availability for MCCS Subarray Leaf Node and MCCS Master Leaf Node in component manager
Update TMC to support ska-low-tmc-configure/5.0 and ska-low-csp-configure/5.0
Change the variables in values.yaml from mccs to mccsln and mccsmln.
Introduce isAutoRecoveryEnabled device property for backward compatibility
[0.42.0]
Added
Update TMC to support Band 5 down conversion
Updated to the latest ska-telmodel (v1.24.3)
Updated to the latest CDM version (v14.0.0)
[0.41.3]
Added
Updated obsState aggregation rule for Partial Configure
[0.41.2]
Added
Updated Abort command to remove clear resource after command completion.
[0.41.1]
Added
Updated Subarray Node to update ObsState aggregation rule for Aborted ObsState.
[0.41.0]
Added
CommandTimeout attribute is introduced which can help to update timeout without redeployment.
CommandTimeOutDefault property is introduced which can be used to set default value at the time of deployment.
Utilized the latest tag of ska-tmc-common (0.30.0).
0.40.1
Changed
Updated observation workflow to work with specified subsystem configurations
0.40.0
Changed
Updated observation workflow to work with specified subsystem configurations
0.39.5
Fixed
Obs State transition to READY after second configure command failed
0.39.4
Fixed
Fixed string formation of FQDNs for multiple station and PST beams.
0.39.3
Fixed
Do not use this tag because of incorrect tag being published.
0.39.2
Changed
Fixed SKB-612 a failure caused by a mismatch between the SDP schema and documentation.
Since execution_block is optional in the schema, both the validation logic and the test were updated to check its internal fields only if it is present.
Fixed SKB-930. Updated End Command for same.
Subscribed Dish Master Health State events
0.39.1
Fixed
Refactoring Restart command to resolve SKB-985
0.39.0
Changed
Improve TMC Mid reporting of Assign, Release, Configure, End, Scan and EndScan command failure/rejection on subsystems.
Removed Resourcing, Configuring obsstate rule.
0.38.0
Changed
Refactored subarray node component manager and command classes for Abort, Scan, End, EndScan, Off, On, ReleaseResources and Restart.
Removed Reset command implementation.
0.37.2
Changed
Refactored the event_receiver to event_manager by using tmc_common v2.
Updated Component Manager to build a dictionary of attribute names and required device lists for the Event Manager.
Refactored Event Manager start() and stop() methods for better life cycle handling.
0.37.1
Changed
Updated clear lrcr functionalty for abort , end , restart
Subarray ObsState moved to FAULT after Restart command timed out.
0.37.0
Changed
Updated observation state rules to move SubarrayNode to FAULT on command exception from subsystem device
Updated observation state rules to move SubarrayNode to FAULT on command rejection from leaf nodes
Updated observation state rules to move SubarrayNode to FAULT once subsystem moves to FAULT obsstate
0.36.0
Changed
Update the Restart command to invoke abort command on DishLN
Subarray node obsstate sets to FAULT on command timeout error
Clean the resources as part of Restart as it was doing for Abort.
Subarray node obsstate sets to Empty when all the leaf nodes are in Empty and subarray node is in FAULT/ABORTED.
0.35.0
Added
Added logic to allow command when the adminmode of subsystems subarrays is ONLINE
Updated common version to 0.27.7
Changed
Changed previous logic to reject command based on subsystems healthstate
0.34.5
Changed
Updated Abort command to use correct timeout
0.34.4
Fixed
Fixed TMC documentation : Subarray Node
Unnecessary bold marked lines removed from RTD
Fixed formatting of the code blocks in RTD
Added Args and Return parameters wherever missing in docstrings
Added missing modules in RTD
Added user documentation link in RTD
Formatted example JSONs to improve readability
Fixed other small issues with RTD
Resolved major existing flake8 warnings
0.34.3
Fixed
Fixed, Subarray node sending partial configuration data under groups key on dish leaf node.
0.34.2
Fixed
Removed the changes done to replace partial_configuration key with delta_configuration key
0.34.1
Fixed
Utilized latest common version : 0.27.4
Added minor changes to logger messages.
0.34.0
Added
Added wrap_sector key support in subarray node mid.
Added partial_configuration key support as per ADR-106 in subarray node mid.
Subarray node update the partial_configuration key to delta_configuration if it finds configure json as per ADR-106.
Fixed
Fixed bugs while processing ADR-106 main configure json.
Resolved SKB-879 by removing sleep from aggregation monitor thread.
0.33.5
Fixed
This is an branch release. Included in master release under tag 0.34.0.
Resolved SKB-879 by removing sleep from aggregation monitor thread.
0.33.4
Fixed
Fixed the rules for telescope mid health state aggregation
Fixed process termination issue
0.33.3
Changed
Utilized changed API on the DishLeafNode for abort operation (AbortCommands -> Abort)
0.33.2
Fixed
Added changes in the logs as per Logging Guidelines
Added Command ID in logs and fixed logging levels .
Modified log messages to make it more readable
0.33.1
Fixed
Fixed Abort logic to apply retries on condition check for obsState.EMPTY
0.33.0
Changed
updated end, scan, endscan support for MCCS only subsystem workflow
Added
Added/updated unit tests to verify the scenario.
Added integration test to verify scenario.
0.32.3
Changed
Updated the health state aggregation process to a rule engine based approach
0.32.2
Changed
Updated the health state aggregation process to a rule engine based approach
Updated trajectory key to be case insensitive at subarray node and title case at dish leaf node.
Updated missing sdp low adapter to resolve SKB-837.
0.32.1
Changed
Updated configure command to read attribute when change event is empty to resolve SKB-837.
Updated latest common to resolve bug hm-653 and updated event receiver to resolve conflicts with new changes.
Updated Configure command to handle partial/delta configures for mapping scans.
Removed Scan command oriented mapping scan data.
Added
Added scanDuration attribute to broadcast scan duration time.
0.32.0
Added
Implemented MCCS only configuration scenario.
Added SKA_TELMODEL_ALLOW_STRICT_VALIDATION environmnet variable to docker file to support strict validation (strictness level =2 ) in tests.
Utilised SKA Telmodel v1.20.1 to support mccs only configuration scenario.
Added/updated unit tests to verify the scenario.
Added integration test to verify scenario.
Added Obs State rules for the scenario.
0.31.0
Added
Updated SubarrayNode to use ska-tango-base v1.2.
Implemented error propagation for Abort and Restart commands
0.30.1
Fixed
Fixed configure-dish implementation as per ADR-63
0.30.0
Added
FQDN Updated as per ADR-9
0.29.1
Fixed
Resolved bug SKB-709
0.29.0
Added
Implementation of SetAdminMode command on SubarrayNode
0.28.0
Added
ADR-63 based changes in configure command implementations
0.27.6
Fixed
Common tag 0.24.3 updated for observer fix
0.27.5
Fixed
Resolved bug SKB-658
0.27.4
Fixed
Bug fix for SKB-646
Fixed timeout issue in subsequent configure commands
0.27.3
Added
Introduced Error Propagation for Scan /End Scan /End commands
0.27.2
Added
Utilised ska-tmc-cdm v.12.6.0
0.27.1
Fixed
assign resources attribute is updated once assign resource command completed
0.27.0
Fixed
Improved the obsState aggregation rules on SubarrayNode
Fixed ABORTED obsState aggregation related issues
Fixed Configure CSP Schema generation related issue
0.26.6
Added
Updated configure json to v.4.1(ADR-99)
0.26.5
Added
Updated configure json to v.4.1(ADR-99)
0.26.4
Added
Fix bug SKB-634
0.26.3
Added
Included dish LongRunningCommandResult events while reporting LongRunningCommandResult of SubarrayNode
0.26.2
Added
Included dish LongRunningCommandResult events while reporting LongRunningCommandResult of SubarrayNode
0.26.1
Fixed
Fixed SKB-643
0.26.0
Added - Scan command is updated to perform mapping scans
0.25.1
Fixed
Fixed the is_operation_aborted flag bug by utilizing a variable from command class.
0.25.0
Added
Updated ska-tmc-common v0.21.0 to utilize latest command tracker using events.
CDM tag updated to 12.3.0
Holography mosaic pattern validation added
0.24.0
Added - ska-tmc-common updated to 0.20.2 - accomodated changes for liveliness probe
0.23.4
Fixed
Resolve SKB-509 TMC support CSP configure v.3.0
0.23.3
Added
Resolve SKB-512 to allow SubarratyNode.EndScan() to execute on other Leaf Nodes even if one Leaf Node reports failure
Added subscription point for PST Beam Delay Model in Configure JSON.
0.23.2
Added
Resolve SKB-511 to Allow SubarratyNode.Abort() in all Dish pointingStates
0.23.1
Added
Obs State Aggregator Logic improved
Rule engine is used to define rules for ObsState
EventDataStorage class introduced to store event related data
0.23.0
Added
Obs State Aggregator Logic improved
Rule engine is used to define rules for ObsState
EventDataStorage class introduced to store event related data
0.23.0-rc
Added
Obs State Aggregator Logic improved
Rule engine is used to define rules for ObsState
EventDataStorage class introduced to store event related data
0.22.3
Added
Utilised SKA Tel Model v1.19.2 with applied bug fix SKB-477(REL-1665)
Verified low SubarrayNode to reject Scan Command with unnecessary subarray_id in Scan schema
Added unit test for verification
Implemented BDD XTP-60776 for SKB-477 verification
0.22.2
Added
Fixed issue[SKB-476 by updating configure command to make timing beams key optional in configure json.
0.22.1
Added
Enable polling of all attributes by setting and pushing archive events to resolve SKB-434
0.22.0
Added
Implemented Mid Configure schema changes as per ADR-99
Added Configure example for v4.0
To support ADR-99, updated Configure command for TMC to add -> subarray_id, output_link_map and delay_model_subscription_point to midcbf configuration
Utilised SKA Tel Model v1.19.0 for Configure ADR-99 schema validations
Added/updated unit tests to verify
Upgraded and added integration tests to verify ADR-99 schema for mid TMC-CSP
Utilised ska-tmc-common v0.18.0 supporting ADR-99
0.21.4
Fixed
Update long running command result after abort command
0.21.3
Added
Created JonesURI device property and sent as jones key value
Added PSS and PSt key values in csp input json.
Added test cases for CSP json validation and invalid jones key.
Update the ska-telmodel version to 1.18.2
0.21.2
Added
Sync master with tag 0.19.1 updates
0.21.1
Fixed
Fixed issue in Abort command related to update_task_status method
0.21.0
Added
Updated version of CDM to support validations for Non-sidereal tracking
0.20.1
Added
Enable obsState check for Abort command
0.20.0
Added
Utilised base class v1.0.0 and pytango 9.5.0
Utilised ska-tmc-common v0.17.1
Implemented queue according to support base classes v1.0.0
Refactored command allowed method to put commands in queue
Implemented command allowed methods for observation specific commands to allow/reject the queued task, ResultCode.NOT_ALLOWED/ResultCode.REJECTED
Refactored error propogation implementation to handle longrunningcommandresult attribute new format in case of raised exceptions
Refactored error propogation implementation to handle longrunningcommandresult event for ResultCode.NOT_ALLOWED, ResultCode.REJECTED and ResultCode.FAILED
Refactored all command unit test cases to support task_callback result format as tuple (result, message)
Parametrized unit tests to avoid duplication
Refactored integration tests for all observation specific commands with longrunningcommandresult attribute assertions
Refactored intergration tests for error propogation to handle ResultCode.REJECTED
Implemented unit tests to varify StateModelError in case of not permitted obsStates
0.19.1
Added
Utilised OSO-TMC low AssignResources v4.0(supporting TMC-MCCS v3.0) and Configure schema v4.0 (PST observations)
Utilised Tel Model validations for AssignResources, Configure and Scan schema
Modified unit test cases to support tel model validations
Upgraded integration tests for invalid json key Configure and Scan scenario according to Tel Model Validations
0.19.0
Added
SDP Queue connector FQDN received as a part of receive address event set on Dish Leaf Node
0.18.2
Fixed
Fix for Abort() command not getting invoked on the DishLeafNode
0.18.1
Added
Updated device property to include MccsScanInterfaceURL
Removed start_time that is optional key
0.18.0
Added
Added K-Value validation in AssignResources command. The command passes if the K-Value are all same or all different.
0.17.7
Added
Using CDM v9.1.0 to allow CORRECTION key in Configure schema for MID telescope
0.17.6
Added
Bug fix on interface URL hardcoding for CSP, SDP and MCCS.
Updated device property LowCspAssignResourcesInterfaceURL -> CspAssignResourcesInterfaceURL to set interface version for Low and Mid CSP AssignResources command.
Added new device property CspScanInterfaceURL to set interface version for Low and Mid CSP Scan command.
Added new device property SdpScanInterfaceURL to set interface version for Low and Mid SDP Scan command.
Added new device property MccsConfigureInterfaceURL to set interface version for Low MCCS Configure command.
0.17.5
Added
Update sdp interface version in configure command.
Added new device property LowCspAssignResourcesInterfaceURL to set interface version for AssignResources command.
0.17.4
Fixed
Fix for multiple events of long running command result is added
0.17.3
Added
Utilised dishMode and pointingState attributes from DishLeafNode instead from DisMaster device.
0.17.2
Added
Updated SubarrayNode to work with dish-lmc chart 3.0.0
Added a DishMasterIdentifier property as an indicator to identify dish device
0.17.1
Fixed
Abort timeout issue resolved
ObsState and LRCR event processed as soon as it is received to avoid delay
Scan command aggregation issue resolved
Updated .readthedocs.yaml and Pyproject.toml to fix the RTD generation issue
Removed locks from component manager
Deploying mocks in seperate instances
Improved logging for the aggregation logic
0.17.0
Added
Using CDM for Configure command validations for LOW telescope. Custom validations are present for the tmc key.
0.16.0
Added
Updated Scan Command interface to pass scan_id as a json argument for DishLeafNode and update scanID attribute of Subarray Node.
Updated EndScan Command interface to reset scanID attribute and invoke EndScan command on DishLeafNode from Subarray Node.
0.15.0
Added
Error Propagation and Timeout functionality is enabled for MCCS Subarray Leaf Node devices
EventReceiver class is refactored to improve commonality and code quality
Method names are updated to be more inline with the function performed
Clean up for ReleaseAllResources, Failed AssignResources and Restart command is optimized.
Using HelperSubarrayLeafDevice for MCCS SLN mock
Devices will be removed from monitoring list of liveliness probe if they are not to be monitored any more.
Fixed
Multiple subscriptions in EventReceiver are fixed