.. _restartmid: =============== Restart =============== 1. SDP Leaf Node provides API for **Restart workflow**. 2. The SDP Leaf Node **accepts the command** if :- A. Operational **state** of the SDP Leaf node is **ON/OFF/INIT/STANDBY/ALARM** 3. The SDP Leaf Node **rejects the command** if :- A. Operational **state** of SDP Leaf node is **FAULT/UNKNOWN** . 4. The following **state requirements** are applied for the **command execution** :- A. SDP Subarray is in any of the 'observation state' - **FAULT,ABORTED,RESOURCING,CONFIGURING,IDLE,READY,SCANNING** B. SDP Subarray node is :term:`available` . 5. The **command execution** involves below **key operations** :- A. Check for SDP Subarray obsState is done. - If it is in any of the **RESOURCING/IDLE/CONFIGURING/SCANNING/READY** obsState :- i. **Abort** command is sent to SDP Subarray. ii. Once Abort command **transitions** SDP Subarray to **ABORTED** obsState , **Restart** command is **sent** to SDP Subarray. - If it is **FAULT/ABORTED** , **Restart** command is sent to SDP Subarray. A. When **Restart** is invoked on the SDP Subarray. - If SDP Subarray **reports rejection/failure**, command failure is reported as **'RESULT_CODE - FAILED'** on Long Running Command Result attribute of the SDP leaf node. - If SDP Subarray **accept command** , the TMC SDP leaf node will wait for command completion. 6. The SDP leaf node **monitors the progress** of command via the SDP sub-array node **ObsState transitions** and the **long running command results**. A. Command is **successful** when the SDP Subarray Node transitions to **EMPTY** ObsState. This is reported as **'RESULT_CODE - OK'** on Long Running Command Result attribute of the Subarray node. B. Command **failure** is reported in any of the below cases as **'RESULT_CODE - FAILED'** on Long Running Command Result attribute of the TMC SDP Subarray leaf node. - The SDP Subarray reports **error event** when command is invoked . - The command **times out** if SDP SubarrayNode **does not transition** to **EMPTY** within the **timeout period** specified by `CommandTimeOutDefault` property specified in helm chart of the SDP Leaf Node .