====== NOD-004f — Restart or Recover the Node ====== [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-02-node-requirements:nod-004-control-the-node-lifecycle:start|Go to NOD-004 — Control the Node Lifecycle]] ===== Statement ===== The [[dido:99_annexes:annex-b-terms-and-definitions:d:dido-te|DIDO-TE]] SHALL restart or recover a [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] through an identified and authorized lifecycle procedure. ===== Derived From ===== * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-02-node-requirements:nod-004-control-the-node-lifecycle:start|NOD-004 — Control the Node Lifecycle]] * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-02-node-requirements:nod-004-control-the-node-lifecycle:nod-004a-establish-the-initial-node-state|NOD-004a — Establish the Initial Node State]] * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-02-node-requirements:nod-004-control-the-node-lifecycle:nod-004b-start-the-node|NOD-004b — Start the Node]] * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-02-node-requirements:nod-004-control-the-node-lifecycle:nod-004c-confirm-node-readiness|NOD-004c — Confirm Node Readiness]] * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-02-node-requirements:nod-004-control-the-node-lifecycle:nod-004d-transition-the-node-state|NOD-004d — Transition the Node State]] * [[dido:03-dido-te:99-annexes:annex-c-requirements:03-functional-requirements:03-02-node-requirements:nod-004-control-the-node-lifecycle:nod-004e-stop-the-node|NOD-004e — Stop the Node]] * [[dido:03-dido-te:99-annexes:annex-b-references:dte-005|[DTE5] DIDO-TE Requirements Register]], source requirement identifier and obligation to be assigned * [[dido:03-dido-te:99-annexes:annex-b-references:dte-006|[DTE6] Structured Information Processing Reference Architecture (SIP-RA)]] * [[dido:03-dido-te:99-annexes:annex-b-references:dte-007|[DTE7] Federated Data Interpretation Systems Reference Architecture (FDIS-RA)]] ===== Rationale ===== A restart returns a Node to an operating state through a controlled stop-and-start sequence or an equivalent procedure defined by the [[dido:99_annexes:annex-b-terms-and-definitions:n:node_definition|Node Definition]] or [[dido:99_annexes:annex-b-terms-and-definitions:n:node_implementation|Node Implementation]]. Recovery restores a Node from a failed, degraded, interrupted, inconsistent, or otherwise unsuitable state to a known state from which the DIDO-TE resumes lifecycle control. Recovery may include fault isolation, cleanup, restoration of data, reapplication of the [[dido:99_annexes:annex-b-terms-and-definitions:n:node_configuration|Node Configuration]], re-establishment of [[dido:99_annexes:annex-b-terms-and-definitions:n:node_binding|Node Bindings]], replacement of resources, and validation of the resulting Node. Restart and recovery have different purposes. A restart repeats an established operating sequence. Recovery addresses a condition that prevents normal Node operation or produces uncertainty about the Node state. An uncontrolled restart or recovery may preserve the original fault, introduce configuration drift, duplicate processing, lose or replay data, reconnect the Node to an unintended participant, or contaminate a subsequent [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]]. The DIDO-TE reevaluates Node readiness and determines the effect of the interruption, restart, or recovery on applicable Test Results and Evidence before returning the Node to Test Execution. ===== Applies To ===== * [[dido:99_annexes:annex-b-terms-and-definitions:d:dido-te|DIDO-TE]] * [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] * [[dido:99_annexes:annex-b-terms-and-definitions:n:node_definition|Node Definition]] * [[dido:99_annexes:annex-b-terms-and-definitions:n:node_implementation|Node Implementation]] * [[dido:99_annexes:annex-b-terms-and-definitions:n:node_configuration|Node Configuration]] * [[dido:99_annexes:annex-b-terms-and-definitions:n:node_binding|Node Binding]] * [[dido:99_annexes:annex-b-terms-and-definitions:d:dependency|Dependency]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_definition|Test Definition]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_environment|Test Environment]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_resource|Test Resource]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_execution|Test Execution]] * [[dido:99_annexes:annex-b-terms-and-definitions:t:test_result|Test Result]] * [[dido:99_annex