Change Log

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

1.9.2

Fixed

  • Result Code STARTED ignore in lrcr callback method

  • common method implemented for adding and removing command in progress objects

1.9.1

Added

  • Fixed the abort command issue by setting waitTermination to false, enabling immediate invocation of the abort operation.

  • Added a non-blocking TaskExecutor implementation for abort handling in ska-tmc-common and integrated it into BaseTmcComponentManager.

1.9.0

Added

  • Added invoke_lrc API in ska-tmc-common to standardize command invocation across all leaf nodes.

  • Implemented handling of invoke_lrc in the Restart Helper device.

1.8.0

Added

  • Added CommandCompletionTracker in ska-tmc-common for handling asynchronous command completion.

  • Moved wait_for_command_completion to common to reuse across components and reduce duplication.

1.7.0

Updated

  • Added repr method to DeviceInfo class.

  • Updated some INFO level logs to DEBUG level wherever appropriate.

1.6.0

Updated

  • Updated unsubscribe_event_async in event manager v2 to be more robust.

  • updated some logs to be debug level

  • Added repr to BaseTMCCommand and Base Adapter class

1.5.1

Updated

  • Updated common code for TmcLeafNodeComponentManager and TMCBaseLeafDevice

1.5.0

Updated

  • Added healthstate and healthinfo property and callbacks in TmcLeafNodeComponentManager

1.4.2

Updated

  • added capabilitystate in tmc_component_manager process event

1.4.1

Fixed

  • Fixed hard dependency issue for tango base and pytango

1.4.0

Added

  • Updated the pytango version to 10.1.0

  • updated the ska-tango-base version to 1.4.0

  • Updated the version of ska-tango-testing to 0.8.0

1.3.1

Updated

  • Added default value None to cm_register_command_mapping parameter in Restart helper class.

1.3.0

Updated

  • Updated Restart helper to include additional parameter i.e component manager’s register_command_mapping function as parameter and add command_class_id and unique id mapping when restart is invoked.

1.2.0

Updated

  • Remove SetOperateMode from ska-tmc-common.

1.1.1

Updated

  • Updated initialization of common packages and remove the unused classes in init.py

1.1.0

Updated

  • Updated DishAdpater to support new Configureband command

1.0.0

Fixed

  • Fixed RTD issues

  • Fixed docs-build warnings

  • Fixed CHANGELOG

Updated

  • Removed test helper devices.

  • Updated RTD structure

  • Update tmc-common RTD inline with the documentation updates made on other repos

Added

  • Added test cases to test helper_adapter_factory,tmc_base_leaf_device and tmc_component_manager_v2

[0.35.1]

Updated

  • Updated DishHelper class to support ArrayLayout file parsing for dish related information.

[0.35.0]

Updated

  • Added support for providing update task status function name to command tracker

[0.34.0]

Updated

  • Added option to use command_id as an instance variable of either the ComponentManager class or the Command class.

  • This flexibility has been added to support parallel processing of commands on the CentralNode.

[0.33.0]

Updated

  • Default values for GPM attributes (gpmVersion=”UNKNOWN”, gpmValidationResult=UNKNOWN)

  • Logic for memorized attribute gpmVersion

  • Startup test coverage for default attribute initialization.

[0.32.0]

Updated

  • Version 3 of dish helper will be able to grab layout file from mounted PV and parse the layout file to get dish related information.

[0.31.0]

Updated

  • Updated ApplyPointingModel command for Dish Leaf Node helper

Added

  • new attribute gpmVersion to track the applied GPM version per band.

  • new attribute gpmValidationResult to report validation state per band.

[0.30.3]

Fixed

  • Fixed bad release 0.30.2

  • Avoid releasing version “2”, released by mistake

[0.30.2]

Fixed

  • Fixed the bug SKB-918 and SKB-1013

  • Fixed helper sdp subarray to accept any scan_type provided

[0.30.1]

Added

  • Introduced LRCR on Abort command completion for Dish leaf node

[0.30.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.

[0.28.9]

Updated

  • Updated dish leaf node helper to stop command threads once Abort is received.

[0.28.8]

Added

  • To resolve SKB-617 Updated helper method logic to validate execution_block and its internal fields only if it is present.

  • Added Unit test case to verify the logic.

[0.28.7]

Added

  • Helper Dish Device updated to make it stuck in particular dish mode.

[0.28.6]

Fixed

  • HelperSdpSubarray is now able to push Fault ObsState event in ReleaseAllResources command.

[0.28.5]

Added

  • Added faults to simulate command failure on LRCR and subsystem stuck in intermediate state

[0.28.4]

Fixed

  • Return value of restart command helper methods changed to tuple of list

[0.28.3]

Fixed

  • Fixed adminmode not allowed in adminmode engineering

[0.28.2]

Added

  • Added faults to simulate command rejection from subsystem and subsystem going into FAULT obsstate

[0.28.1]

Updated

  • Updated the Subarray leaf node Restart() command to perform the functionality of Abort() command too.

[0.28.0]

Added

  • Added Restart helper class for abort-restart flow as a part of restart command

  • Exception raised when device is fault for helper sdp subarray

[0.27.7]

Added

  • Added the adapters for MCCS , SDP, CSP subarray leaf node

  • Improved the logic for adapter creation

[0.27.6]

Updated

  • Updated helper devices for Abort exception propagation

[0.27.5]

Fixed

  • Fix issue in event manager

[0.27.4]

Updated

  • Update helper HelperMCCSController for fault injection in restart command

[0.27.3]

Updated

  • Updated dish device abort implementation to stop all the timers.

[0.27.2]

Updated

  • Improved multithreading capability of component manager

[0.27.1]

Updated

  • Improved command callback tracker

[0.27.0]

Updated

  • Improved Code coverage

  • Changed the abort operation API name from AbortCommands to Abort in HelperDishLeafNodeDevice

[0.26.5]

Updated

  • Updated Abort API interface for Dish

[0.26.4]

Updated

  • Updated SDP subarry helper device to induce error during receiveaddress push change event

[0.26.3]

Updated

  • Updated Abort and Restart API’s to support asynchronous execution of commands

  • Updated SDP subarry helper device to induce error during Abort and Restart commands

[0.26.2]

Updated

  • Added common aggregation process class and aggregator class.

  • Update lock in observable module to fix bug HM-653.

[0.26.1]

Updated

  • Added changes in the logs as per Logging Guidelines.

  • Update livelinessprobe to remove redundant logging and implememted pretty printing for logs containing json data.

[0.26.0]

Updated

  • Added new class EventManager to manage event subscriptions/umsubscriptions and event errors.

  • Updated component manager and liveiness probe classes to co-ordinate with new event manager functionality.

[0.25.2]

Updated

  • Handled signature inconsistencies in event update methods.

  • Event Handler methods updated for queue based processing.

[0.25.1]

Added

  • Added Abort command in MCCS master leaf node adapter

Fixed

  • Delay provided to allocate command of MCCS Master Leaf Node

[0.25.0]

Updated

  • Updated ska-tango-base to v1.2.0

[0.24.10]

Fixed

  • Fixed SKB-732

[0.24.9]

Updated

  • Updated event receiver handlers to introduce queue based processing

[0.24.8]

Updated

  • Updated SDP subarry helper device to induce error during Scan command

[0.24.7]

Added

  • Implemented the SetAdminMode command for helper leaf devices

[0.24.6]

Updated

  • Updated helper dish device to push dish subsystems LRCR events (same as DishManager)

[0.24.5]

Added

  • admin mode attribute added for csp, sdp and mccs subarray leaf node helper devices

[0.24.4]

Fixed

  • Fix command id’s for Track and TrackLoadStaticOff commands on helper dish device.

[0.24.3]

Added

  • Exception check added which is received before registering the observer

[0.24.2]

Fixed

  • Fixed issue with observers list.

  • Fixed issue with backward compatibility by adding files back to ska_tmc_common folder.

[0.24.1]

Fixed

  • Resolved bug SKB-658 on TMC Central Node and SubarrayNode

[0.24.0]

Added

  • Add common functionality of adminMode in ska-tmc-common

[0.23.2]

Updated

  • Updated SDP Subarray leaf node.

[0.23.1]

Fixed

  • Resolved bug SKB-658 on TMC Leaf Nodes

[0.23.0]

Added

  • Adding Admin mode functinality in helper devices

[0.22.16]

Added

  • Enable induce_fault functionality in HelperSDPSubarray

[0.22.15]

Updated

  • Update the helper dish master to send pointing state slew before track in track command.

[0.22.14]

  • clean up method of observable called before calling update task status

[0.22.13]

  • Update the helper mccs subarray device to push change the result after obsstate scanning

[0.22.12]

  • Fixed dish master Trackstop command to stop Track command.

  • Added dishMode property in dish adpaters.

[0.22.11]

  • SN will check for LRCR from all the subsystems and hence Updated subarry leaf node and dish leaf node helpers to support Scan command completion by sending LRCRs

[0.22.10]

  • Updated HelperSubarrayDevice to push chant event for longrunningcommandresult attribute for Scan command.

[0.22.9]

  • Fixed SKB-618(Fix KeyError for Missing ‘resources’ Key in SDP Subarray AssignResources Command)

[0.22.8]

  • Updated SetPointingOffset to NextPointingOffset in DishlnPointingDeviceAdapter.

[0.22.7]

  • Updated ChangePointingOffsets to SetPointingOffset in DishlnPointingDeviceAdapter.

[0.22.6]

  • Updated received addresses value.

[0.22.5]

  • Added DishLeaf Node pointing device adapter.

  • Added properties and methods to the DishLeaf node pointing device adapter.

[0.22.2]

  • Added change_event for band params in helper dish device.

[0.22.2]

  • Added trackTableLoadMode attribute on the helper dish device.

[0.22.1]

  • Updated helper dish devices to support Dish error proagation testing on TMC SubarrayNode

[0.22.0]

  • Updated Command ApplyPointingModel in HelperDishDevice and HelperDishLeafnode

[0.21.1]

  • Resolved skb-536.

  • SDP Subarray Device is able to go to ABORTING state before ABORTED.

[0.21.0]

  • Update error propagation to event based.

  • Removed usage of tracker thread.

  • Added new classes Observer, Observable and CommandCallbackTracker.

[0.20.5]

  • Update helper dish device to simulate the error propagation and timeout scenarios

[0.20.4]

  • Update output_host and output_port values in receive addresses.

[0.20.3]

  • Enable error propagation and timeout simulation for helper dish commands

[0.20.2]

  • Fixed bug related to full trl usage in liveliness probe.

[0.20.1]

  • Fixed dish and dish leaf node helper devices to push change event for dishMode.STANDBY_FP when AbortCommands() command is invoked.

[0.20.0]

  • Updated liveliness probe to utilize state command and consider exported flag for device availability.

[0.19.8]

  • Update HelperDishDevice to support Dish error propgation

[0.19.7]

  • Abort event cleared in tracker thread

[0.19.6]

  • Include induce fault mechanism in sdp helper device

[0.19.5]

  • Push lrcr command result for Helper Dish Device End Scan command

[0.19.4]

  • Fixed the issue in HelperBaseDevice to return faultmessage instead of command_id for FaultType.FAILED_RESULT .

[0.19.3]

  • Added TMCBaseLeafDevice

[0.19.2]

  • Add method in TMC base device to push change and archive events

[0.19.1]

  • Updating commandCallInfo attribute in TrackLoadStaticOff command

[0.19.0]

  • Added ApplyPointingModel command in helper dish device to handle global pointing json.

[0.18.0]

  • Utilise SKA Tel Model with OSO-TMC Configure schema v4.0 for ADR-99 changes

[0.17.12]

  • Fixed the issue in logManager

[0.17.11]

  • Fixed the issue of mock devices getting created in HelperAdapterFactory

[0.17.10]

  • Update logger statements

  • Added new class logManager for managing repetitive logs

[0.17.9]

  • Update TelModel version to 1.18.2

[0.17.8]

  • Allows any version of katpoint above 1.0a2

[0.17.7]

  • Fixed the helper dish device achievedPointing attribute to give timestamp in TAI with SKA Epoch.

[0.17.6]

  • Added delay for LongRunningCommandResult attribute in mccs master leaf node.

[0.17.5]

  • Utilised ska-telmodel v.1.18.1. which includes fix for jones key in low configure schema

  • Includes base classes upgrade changes.

[0.17.4]

  • TelModel version now can be anywhere between 1.17.1 and 2.0.0

[0.17.3]

  • Fixed helper mccs controller device timeout for allocate command.

[0.17.2]

  • Updated ska-telmodel v.1.17.0 which includes OET-TMC low Assignresources and low Configure schema

  • Included Base class v.1.0.0 updates.

[0.17.1]

  • Fixed change event for dish leaf node and dish device

[0.17.0]

  • BaseClasses version updated to 1.0.0

  • PyTango version updated to 9.5.0

  • Helper Devices updated to send the correct format of LongRunningCommandResult events - (unique_id, (ResultCode.OK, message))

  • The result sent through update_task_status method from track_and_update_command_status thread is now a Tuple(ResultCode, Message)

  • SetDelay command is renamed to SetDelayInfo for HelperSubarrayDevice and HelperDishDevice

  • SetException is removed from Helper Devices

  • Decorators are updated to support the new update_task_status calls.

  • HelperCspSubarrayDevice is removed.

  • COMMAND_NOT_ALLOWED fault type is changed to COMMAND_NOT_ALLOWED_BEFORE_QUEUING

  • New fault types COMMAND_NOT_ALLOWED_AFTER_QUEUING and COMMAND_NOT_ALLOWED_EXCEPTION_AFTER_QUEUING introduced

  • max_workers parameter removed from component manager

[0.16.10]

  • Utilised latest ska-telmodel which includes fix for jones key in low configure schema

[0.16.9]

  • Utilised ska-telmodel v.1.17.0 which includes OET-TMC low Assignresources and low Configure schema.

[0.16.8]

  • Update in the way the helper dish device sends the resultcode and message

  • Use push_command_result instead of push_command_status

[0.16.7]

  • Fix the dish unavailability issue observed in tmc-mid integration repository

  • Update achieved pointing events push logic in helper dish device

[0.16.6]

  • Fix issues in timeout_decorator and Error error_propagation_decorator

[0.16.5]

  • Revert the changes done in 0.16.2.

[0.16.4]

  • Added SdpQueueConnectorDeviceInfo class to hold SDP queue connector device information.

[0.16.3]

  • Fix dish leaf node helper device configure command dish mode event push issue.

[0.16.2]

  • Added Track command in dish master helper device.

  • Updated TrackLoadStaticOff in dish master helper device to include command Id changes.

[0.16.1]

  • HelperSubarray Devices no longer pushes events if the command invoked is Abort.

[0.16.0]

  • Added sourceOffset attribute to expose commanded offset during calibration scan.

  • Added sdpQueueConnectorFqdn attribute to process the pointing calibration received from SDP queue connector device.

  • Removed pointig_offsets and added pointing_cal attribute for Dish Id’s SKA001, SKA002, SKA003, SKA004, SKA036, SKA063 and SKA100 in SDP queue connector device.

[0.15.11]

  • Delay added for MCCS Subarray Configure command

[0.15.10]

  • Fixed Configure command of HelperDishLNDevice send pointingState and dishMode with delay interval

[0.15.9]

  • Fixed Scan Command of HelperSubarrayLeafDevice to directly send the ObsState event.

[0.15.8]

  • Removed duplicate set_change_event calls for the attributes inherited from the base classes

  • Utilised Timer thread to simulate pushing of the transitional and final obstate events

  • Updated DeviceInfo and child classes to implement their own locks

[0.15.7]

  • Updated Scan Command of HelperSubarrayLeafDevice to introduce a delay in ObsState event received on SubarrayNode.

[0.15.6]

  • Utilised ska-telmodel v1.15.1

[0.15.5]

  • Added a method remove_devices in liveliness probe to allow removal of devices from monitoring list.

[0.15.4]

  • is_command_allowed methods for all commands is removed from helper sdp subarray

[0.15.3]

  • Introduced dishMode and pointingState attributes on HelperDishLNDevice

[0.15.2]

  • Updated device availability to be True by default

  • Updated HelperDishDevice to add EndScan command to reset scanID attribute.

[0.15.1]

  • Updated push_command_result method from the HelperBaseDevice to take correct number of arguments

  • The sequence of executing cleanup and update_task_status method is reversed in the Tracker Thread

[0.15.0]

  • Updated Scan command interface to include scan_id as argument

  • EndScan command has been added in HelperDishLNDevice

  • scanID attribute has been introduced in HelperDishDevice

[0.14.0]

Updated

  • Update pytango v9.4.2

  • Variable SetisSubsystemAvailable is change to SetSubsystemAvailable

  • .darglint file to accomadate sphinx style rst documentation

  • TimeKeeper class added for handling timout functionality

  • Input type for start_tracker_thread method for param state_function is changed from Callable to str

  • timeout_decorator and error_propagation_decorator added for implementing timeout and error propagation functionalities respectively

Fixed

  • Fixed Pylint warnigs

  • Fixed docstrings warnings