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