AssignResourcesLow
The AssignResources command allocates telescope resources to a specific subarray in the SKA-Low telescope configuration.
Central Node provides API for AssignResources workflow.
Input JSON is as per schema detailed at - https://developer.skao.int/projects/ska-schemas/en/latest/schemas/tmc/ska-low-tmc-assignres.html
The Central Node accepts the AssignResources command with a JSON input which specifies the sub-array ID and resource specifications for MCCS, CSP, and SDP.
The Central Node accepts the command if :-
Admin mode reported by each of the system - CSP,SDP,MCCS controller are in ONLINE/ENGINEERING/RESERVED
Operational state of central node is ON/OFF/INIT/STANDBY/ALARM
The Central Node rejects the command if :-
Admin mode reported by each of the system - CSP,SDP,MCCS controller are in OFFLINE or NOT FITTED.
Operational state of central node is FAULT/UNKNOWN/DISABLE .
The Input JSON is validated as below, and Command is ‘Rejected’ with exception message if they are not met :-
JSON should not be empty or malformed
JSON validation against the schema specified in the Telescope Model (https://developer.skao.int/projects/ska-schemas/en/latest/schemas/tmc/ska-low-tmc-assignres.html)
- CentralNode validates the pss beam_ids in assign json:
If already assigned to different SubarrayNode: Command is rejected with ‘RESULT_CODE - REJECTED’ with a message mentioning the exact pss beam ids that are already assigned to different subarray.
If not already assigned to different SubarrayNode: Command execution continues
The following state requirements are applied for the command execution :-
TMC Subarray is in ‘observation state’ EMPTY or IDLE . If not, the command is rejected with ‘ResultCode - NOT_ALLOWED’.
telescopeAvailability is checked to ensure the subsystems (SubarryNode, CSP, SDP and MCCS) are available
- The command execution involves below key operations :-
‘transaction ID’ is removed from the input JSON
The command is then invoked on the relevant TMC Subarray Node.
If TMC Subarray node rejects assign resources command , command failure is reported as ‘RESULT_CODE - FAILED’ on Long Running Command Result attribute of the central node.
If TMC Subarray node accepts command , central node will wait for command completion.
The Central Node monitors the progress of command via the subarray ObsState transitions and the long running command results :-
Command is successful when the TMC Subarray Node transitions to IDLE ObsState. This is reported as ‘RESULT_CODE - OK’ on Long Running Command Result attribute of the central node.
Command failure is reported in any of the below cases as ‘RESULT_CODE - FAILED’ on Long Running Command Result attribute of the central node:
The TMC subarray node reports ‘RESULT_CODE - FAILED’ on its Long Running Command Result attribute
The command times out if TMC SubarrayNode does not transition to IDLE within the timeout period specified by CommandTimeOutDefault property specified in helm chart of TMC central node .