@@ -30,6 +30,28 @@ MUST_GATHER_SCRIPT_URL="${MUST_GATHER_SCRIPT_URL:-https://raw.githubusercontent.
3030ENABLE_GCP_SOS_COLLECTION=" ${ENABLE_GCP_SOS_COLLECTION:- false} "
3131ENABLE_AWS_SOS_COLLECTION=" ${ENABLE_AWS_SOS_COLLECTION:- false} "
3232
33+ # Mock mode for testing - prepends mock scripts to PATH
34+ MOCK_MODE=" ${MOCK_MODE:- false} "
35+ MOCK_EXIT_CODE=" ${MOCK_EXIT_CODE:- 0} "
36+
37+ if [ " ${MOCK_MODE} " = " true" ]; then
38+ echo " [MOCK] Enabling mock mode - using mock nvidia-bug-report.sh and must-gather.sh"
39+ MOCK_SCRIPTS_DIR=" /opt/log-collector"
40+
41+ # Copy mock scripts and make them executable
42+ cp " ${MOCK_SCRIPTS_DIR} /mock-nvidia-bug-report.sh" " ${MOCK_SCRIPTS_DIR} /nvidia-bug-report.sh"
43+ cp " ${MOCK_SCRIPTS_DIR} /mock-must-gather.sh" " ${MOCK_SCRIPTS_DIR} /must-gather.sh"
44+ chmod +x " ${MOCK_SCRIPTS_DIR} /nvidia-bug-report.sh" " ${MOCK_SCRIPTS_DIR} /must-gather.sh"
45+
46+ # Prepend to PATH so mocks are used instead of real tools
47+ export PATH=" ${MOCK_SCRIPTS_DIR} :${PATH} "
48+
49+ # Override MUST_GATHER_SCRIPT_URL to use local mock instead of downloading
50+ MUST_GATHER_SCRIPT_URL=" file://${MOCK_SCRIPTS_DIR} /must-gather.sh"
51+
52+ echo " [MOCK] Mock mode enabled. nvidia-bug-report.sh and must-gather.sh will use mock versions."
53+ fi
54+
3355mkdir -p " ${ARTIFACTS_DIR} "
3456echo " [INFO] Target node: ${NODE_NAME} | GPU Operator namespace: ${GPU_OPERATOR_NAMESPACE} | Driver container: ${DRIVER_CONTAINER_NAME} "
3557
@@ -77,8 +99,16 @@ AWS_SOS_REPORT=""
7799GCP_NVIDIA_BUG_REPORT=" /host/home/kubernetes/bin/nvidia/bin/nvidia-bug-report.sh"
78100
79101# 1) Collect nvidia-bug-report - auto-detect approach
102+ # In mock mode, use the local mock script directly
103+ if [ " ${MOCK_MODE} " = " true" ]; then
104+ echo " [MOCK] Using local mock nvidia-bug-report.sh"
105+ BUG_REPORT_LOCAL_BASE=" ${ARTIFACTS_DIR} /nvidia-bug-report-${NODE_NAME} -${TIMESTAMP} "
106+ BUG_REPORT_LOCAL=" ${BUG_REPORT_LOCAL_BASE} .log.gz"
107+ nvidia-bug-report.sh --output-file " ${BUG_REPORT_LOCAL_BASE} .log"
108+ echo " [MOCK] Bug report saved to ${BUG_REPORT_LOCAL} "
109+
80110# Check if GCP COS nvidia-bug-report exists on the host filesystem (accessed via privileged container)
81- if [ -f " ${GCP_NVIDIA_BUG_REPORT} " ]; then
111+ elif [ -f " ${GCP_NVIDIA_BUG_REPORT} " ]; then
82112 echo " [INFO] Found nvidia-bug-report at GCP COS location: ${GCP_NVIDIA_BUG_REPORT} "
83113
84114 # Use GCP COS approach - write directly to container filesystem
0 commit comments