Pass requestID/subreqID to python script. 82/97582/5
authorOleg Mitsura <oleg.mitsura@amdocs.com>
Thu, 24 Oct 2019 23:22:46 +0000 (19:22 -0400)
committerOleg Mitsura <omitsura@gmail.com>
Thu, 28 Nov 2019 20:12:10 +0000 (20:12 +0000)
Issue-ID: CCSDK-1860

1. initial commit
2. rebased with return value
3. CDS_CORRELATION_ID

Signed-off-by: Oleg Mitsura <oleg.mitsura@amdocs.com>
Change-Id: Ia64a0ee9c8eb60e3f39ec00ee17e7ab1b4aa3638

ms/command-executor/src/main/python/command_executor_handler.py

index c920dda..3219a97 100644 (file)
@@ -31,7 +31,7 @@ import json
 REQUIREMENTS_TXT = "requirements.txt"
 
 
-class CommandExecutorHandler():
+class CommandExecutorHandler:
 
     def __init__(self, request):
         self.request = request
@@ -81,9 +81,17 @@ class CommandExecutorHandler():
         payload_section = []
         is_payload_section = False
 
+        ### extract the original header request into sys-env variables
+        ### RequestID
+        request_id = request.requestId
+        ### Sub-requestID
+        subrequest_id = request.correlationId
+        request_id_map = {'CDS_REQUEST_ID':request_id, 'CDS_CORRELATION_ID':subrequest_id}
+        updated_env =  { **os.environ, **request_id_map }
+
         try:
             with subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
-                                  shell=True, bufsize=1, universal_newlines=True) as newProcess:
+                                  shell=True, bufsize=1, universal_newlines=True, env=updated_env) as newProcess:
                 while True:
                     output = newProcess.stdout.readline()
                     if output == '' and newProcess.poll() is not None: