adoroszlai opened a new pull request, #5077:
URL: https://github.com/apache/ozone/pull/5077

   ## What changes were proposed in this pull request?
   
   Creation of stack dump fails for `test-s3-haproxy.sh`, because `haproxy` 
image doesn't have `bash`.  Artifact upload then fails due to invalid character 
in filename.
   
   ```
   2023-07-16T11:06:13.0454641Z jstack 6 > 
/home/runner/work/ozone/ozone/hadoop-ozone/dist/target/ozone-1.4.0-SNAPSHOT/compose/ozone/result/ozone_s3g1_1_Gateway.stack
   2023-07-16T11:06:14.0932388Z jstack 7 > 
/home/runner/work/ozone/ozone/hadoop-ozone/dist/target/ozone-1.4.0-SNAPSHOT/compose/ozone/result/ozone_s3g2_1_Gateway.stack
   2023-07-16T11:06:15.2248031Z jstack 6 > 
/home/runner/work/ozone/ozone/hadoop-ozone/dist/target/ozone-1.4.0-SNAPSHOT/compose/ozone/result/ozone_s3g3_1_Gateway.stack
   2023-07-16T11:06:15.9927006Z jstack OCI > 
/home/runner/work/ozone/ozone/hadoop-ozone/dist/target/ozone-1.4.0-SNAPSHOT/compose/ozone/result/ozone_s3g_1_runtime
 exec failed: exec failed: unable to start container process: exec: "bash": 
executable file not found in $PATH: unknown
   2023-07-16T11:06:15.9928158Z .stack
   
   ...
   
   2023-07-16T11:06:36.5849554Z Starting artifact upload
   2023-07-16T11:06:36.5850620Z For more detailed logs during the artifact 
upload process, enable step-debugging: 
https://docs.github.com/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging
   2023-07-16T11:06:36.5854806Z Artifact name is valid!
   2023-07-16T11:06:36.5903617Z ##[error]Artifact path is not valid: 
/ozone/s3-haproxy/ozone_s3g_1_runtime exec failed: exec failed: unable to start 
container process: exec: "bash": executable file not found in $PATH: unknown
   .stack. Contains the following character:  Double quote "
             
   Invalid characters include:  Double quote ", Colon :, Less than <, Greater 
than >, Vertical bar |, Asterisk *, Question mark ?, Carriage return \r, Line 
feed \n
             
   The following characters are not allowed in files that are uploaded due to 
limitations with certain file systems such as NTFS. To maintain file system 
agnostic behavior, these characters are intentionally not allowed to prevent 
potential problems with downloads on different file systems.
   ```
   
   This PR updates test lib to use `sh` instead of `bash` for stack dump, plus 
handles error in the command (stack dump for `haproxy` still cannot be created, 
due to non-existent `jps` command), to let artifact upload complete normally.
   
   https://issues.apache.org/jira/browse/HDDS-9027
   
   ## How was this patch tested?
   
   Verified that stack dump creation is successful for Ozone containers, 
failure in haproxy is not fatal.
   
   ```
   $ cd hadoop-ozone/dist/target/ozone-1.4.0-SNAPSHOT/compose/ozone
   $ cat <<"EOF" > verify.sh
   #!/usr/bin/env bash
   
   COMPOSE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd 
)"
   export COMPOSE_DIR
   
   export SECURITY_ENABLED=false
   export COMPOSE_FILE=docker-compose.yaml:../common/s3-haproxy.yaml
   
   source ../testlib.sh
   
   start_docker_env
   create_stack_dumps
   EOF
   
   $ chmod 700 verify.sh
   
   $ ./verify.sh
   ...
   jstack 7 > result/ozone_s3g1_1_Gateway.stack
   jstack 7 > result/ozone_s3g2_1_Gateway.stack
   jstack 7 > result/ozone_s3g3_1_Gateway.stack
   sh: jps: not found
   jstack 6 > result/ozone_scm_1_StorageContainerManagerStarter.stack
   ...
   Stopping ozone_s3g_1      ... done
   Stopping ozone_s3g3_1     ... done
   Stopping ozone_s3g1_1     ... done
   Stopping ozone_s3g2_1     ... done
   ...
   
   $ echo $?
   0
   
   $ find result -type f | sort
   result/dn-audit-1b550dec2d05.log
   result/dn-audit-85415db6c5dd.log
   result/dn-audit-c9994e1ca47a.log
   result/docker-ozone.log
   result/om-audit-dfa07964d2b8.log
   result/ozone_datanode_1_HddsDatanodeService.stack
   result/ozone_datanode_2_HddsDatanodeService.stack
   result/ozone_datanode_3_HddsDatanodeService.stack
   result/ozone_om_1_OzoneManagerStarter.stack
   result/ozone_recon_1_ReconServer.stack
   result/ozone_s3g1_1_Gateway.stack
   result/ozone_s3g2_1_Gateway.stack
   result/ozone_s3g3_1_Gateway.stack
   result/ozone_scm_1_StorageContainerManagerStarter.stack
   result/s3g-audit-1a8f6f2b7d3c.log
   result/s3g-audit-a4719c50bfc5.log
   result/s3g-audit-c59afa31cf7d.log
   result/scm-audit-5c1e0f246b85.log
   ```
   
   CI:
   https://github.com/adoroszlai/hadoop-ozone/actions/runs/5567801491


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to