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]