Siyao Meng created HDDS-16883:
---------------------------------

             Summary: Acceptance artifact not uploaded due to invalid stack 
dump filename for HAProxy container
                 Key: HDDS-16883
                 URL: https://issues.apache.org/jira/browse/HDDS-16883
             Project: Apache Ozone
          Issue Type: Bug
          Components: docker-compose, test
            Reporter: Siyao Meng
            Assignee: Siyao Meng


When a test fails in the HAProxy S3 environment 
({{ozone-ha/test-haproxy-s3g.sh}}), the acceptance artifact is not uploaded at 
all:

{code}
##[error]The path for one of the files in artifact is not valid: 
/ozone-ha/haproxy-s3g/ozone-ha-s3g-1_runtime exec failed: exec failed: unable 
to start container process: exec: "bash": executable file not found in 
$PATH.stack. Contains the following character:  Double quote "
{code}

So the robot logs and container logs needed to diagnose the failure are lost.

h3. Root cause

{{create_stack_dumps}} in {{testlib.sh}} lists Java processes with {{docker 
exec "${c}" bash -c "jps | grep -v Jps"}}. The {{s3g}} service in 
{{common/s3-haproxy.yaml}} is HAProxy ({{haproxy:lts-alpine}}), which has no 
bash. Docker prints the {{OCI runtime exec failed ...}} error to stdout, so it 
is read as {{pid procname}} and ends up in the stack dump filename.

HDDS-9027 fixed this by using {{sh -c}}, but HDDS-11454 changed it back to 
{{bash -c}}.

h3. Fix

Use {{sh -c}} again for the {{jps}} listing. In the HAProxy container {{jps}} 
is not found, nothing is written to stdout, and the container is skipped.

- https://github.com/apache/ozone/actions/runs/38102729160/job/114364422083
- https://github.com/apache/ozone/actions/runs/37874990667/job/113645569605



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to