.. _assignlow: ================== AssignResources ================== 1. CSP Leaf Node provides API for **Assign Resources workflow.** 2. The CSP Leaf Node **accepts the command** if :- A. Operational state of the CSP Leaf node is **ON/OFF/INIT/STANDBY/ALARM** B. CSP Subarray is responsive. 3. The CSP Leaf Node **rejects the command** if :- A. Operational state of CSP Leaf node is **FAULT/UNKNOWN/DISABLE** . B. CSP Subarray is not responsive. 4. The following **state requirements** are applied for the **command execution** :- A. CSP Subarry is in `'observation state'` **EMPTY** or **IDLE** . B. CSP Subarray node is :term:`available` . 5. The command execution involves below key operations :- A. The Input JSON is validated and if malformed , and Command is **'Failed'** with exception message B. Checks are done to check if JSON contains interface, subarray_id keys. **Absence of any required key** or an **empty resources list** leads to a **failed Command failure with exception message**.This will be reported on long running command result. C. The command is then invoked on the CSP Subarray. + If CSP Subarry raises exception , command failure is reported as **'RESULT_CODE - FAILED'** on Long Running Command Result attribute of the CSP leaf node. + If CSP Subarry accept command , the TMC CSP leaf node will wait for command completion. 6. The CSP leaf node monitors the progress of command via the CSP sub-array node **ObsState transitions** and the **long running command results**. A. Command is successful when the CSP Subarray Node transitions to **IDLE** ObsState. This is reported as **'RESULT_CODE - OK'** on Long Running Command Result attribute of the CSP Subarray leaf node. B. Command failure is reported in any of the below cases as **'RESULT_CODE - FAILED'** on Long Running Command Result attribute of the CSP Subarray leaf node. * The CSP Subarray reports **'RESULT_CODE - FAILED'** on its Long Running Command Result attribute * The command times out if CSP SubarrayNode does not transition to **IDLE** within the timeout period specified by `CommandTimeOutDefault` property specified in helm chart of the CSP Leaf Node . 7. Input JSON to CSP Subarray is as per schema detailed at - https://developer.skao.int/projects/ska-schemas/en/latest/schemas/csp/low/assignresources/index.html