Add documentation for ACM failure handling 09/135009/8
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>
Mon, 19 Jun 2023 22:25:38 +0000 (23:25 +0100)
committerrameshiyer27 <ramesh.murugan.iyer@est.tech>
Thu, 22 Jun 2023 11:36:50 +0000 (12:36 +0100)
Issue-ID: POLICY-4713
Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech>
Change-Id: I7d3bf6e8455c5af377abffe1f321be80cd061ce0

.readthedocs.yaml
docs/clamp/acm/api-protocol/system-level-dialogues.rst
docs/clamp/acm/images/system-dialogues/FailedAcmResult.png [new file with mode: 0644]
docs/clamp/acm/images/system-dialogues/SuccessAcmResult.png [new file with mode: 0644]
docs/clamp/acm/images/system-dialogues/TimeoutAcmResult.png [new file with mode: 0644]

index 7f740b7..e49b4bf 100644 (file)
@@ -7,15 +7,13 @@
 version: 2
 
 build:
-   image: latest
+   os: ubuntu-20.04
+   tools:
+      python: "3.8"
 
 python:
-   version: 3.7
    install:
-      - requirements: docs/requirements-docs.txt
-
-submodules:
-   include: all
+   - requirements: docs/requirements-docs.txt
 
 sphinx:
    configuration: docs/conf.py
index e3ee09a..6be26e1 100644 (file)
@@ -211,8 +211,48 @@ The ACM Runtime receives and stores the responses.
 
 .. image:: ../images/system-dialogues/UpdateUsageState.png
 
-End of Document
+3.11 Failure handling in ACM
+----------------------------
+After any ACM operation is completed, one of the following result messages will be updated in the ACM. These result values are
+updated along with the overall state of the ACM instance.
+
+ - NO_ERROR
+ - TIMEOUT
+ - FAILED
+
+The enum result values 'NO_ERROR' and 'FAILED' have to be set by the participants while reporting the CompositionState back to the runtime.
+
+If the operation succeeds, the participant is required to update the result value with 'NO_ERROR' while reporting the composition state.
+
+.. image:: ../images/system-dialogues/SuccessAcmResult.png
+
+The result value should be updated as 'FAILED' by the participants when any failures occurred.
+Also in case of failures, the overall state of the composition remains in any of the transitioning states (DEPLOYING, UNDEPLOYING, PRIMING, UPDATING)
+with the appropriate result values updated by the participant.
+
+.. image:: ../images/system-dialogues/FailedAcmResult.png
 
+Runtime marks the operation result with the value 'TIMEOUT' when the participant gets disconnected from the ACM-R in the middle of any ACM operation.
+When the participant fails to report the periodic heartbeat during an ACM operation, the operation result is then marked as 'TIMEOUT' by the ACM-R after the configured waiting limit is
+reached.
+
+.. image:: ../images/system-dialogues/TimeoutAcmResult.png
+
+The following parameter is set in the application properties for the runtime to configure the 'TIMEOUT' value in milliseconds.
+
+.. code-block:: yaml
+
+        runtime:
+          participantParameters:
+            maxStatusWaitMs: 100000  --> Denotes the maximum wait time by the runtime to receive the periodic status update from the participants
+
+An ACM operation has to be completed and updated with any of the above specified result values in order to allow the user to trigger subsequent requests.
+The user cannot trigger any state change events before the operation gets completed. When an operation is marked 'TIMEOUT', the following scenarios are applicable.
+
+ - The participant might come back ONLINE and complete the operation to mark the result with 'NO_ERROR' or 'FAILED'
+ - The user can trigger another state change event to the ACM.
+
+End of Document
 
 
 
diff --git a/docs/clamp/acm/images/system-dialogues/FailedAcmResult.png b/docs/clamp/acm/images/system-dialogues/FailedAcmResult.png
new file mode 100644 (file)
index 0000000..4fbd81a
Binary files /dev/null and b/docs/clamp/acm/images/system-dialogues/FailedAcmResult.png differ
diff --git a/docs/clamp/acm/images/system-dialogues/SuccessAcmResult.png b/docs/clamp/acm/images/system-dialogues/SuccessAcmResult.png
new file mode 100644 (file)
index 0000000..bd4d144
Binary files /dev/null and b/docs/clamp/acm/images/system-dialogues/SuccessAcmResult.png differ
diff --git a/docs/clamp/acm/images/system-dialogues/TimeoutAcmResult.png b/docs/clamp/acm/images/system-dialogues/TimeoutAcmResult.png
new file mode 100644 (file)
index 0000000..d27cfdd
Binary files /dev/null and b/docs/clamp/acm/images/system-dialogues/TimeoutAcmResult.png differ