diff --git a/ci/functional/test_main.sh b/ci/functional/test_main.sh index aa056248bcc..41dd7d83f6d 100755 --- a/ci/functional/test_main.sh +++ b/ci/functional/test_main.sh @@ -118,6 +118,7 @@ if "$hardware_ok"; then WITH_VALGRIND=\"${WITH_VALGRIND:-}\" \ STAGE_NAME=\"${STAGE_NAME}\" \ DAOS_HTTPS_PROXY=\"${DAOS_HTTPS_PROXY:-}\" \ + DAOS_NO_PROXY=\"${DAOS_NO_PROXY:-}\" \ $(cat ci/functional/test_main_node.sh)" else ./ftest.sh "$test_tag" "$tnodes" "${FTEST_ARG:-}" diff --git a/ci/functional/test_main_node.sh b/ci/functional/test_main_node.sh index eef10297940..8d185787c78 100755 --- a/ci/functional/test_main_node.sh +++ b/ci/functional/test_main_node.sh @@ -1,7 +1,7 @@ #!/bin/bash # # Copyright 2020-2022 Intel Corporation. -# Copyright 2025 Hewlett Packard Enterprise Development LP +# Copyright 2025-2026 Hewlett Packard Enterprise Development LP # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -16,5 +16,6 @@ export REMOTE_ACCT=jenkins export WITH_VALGRIND="$WITH_VALGRIND" export STAGE_NAME="$STAGE_NAME" -DAOS_HTTPS_PROXY="${DAOS_HTTPS_PROXY:-}" /usr/lib/daos/TESTING/ftest/ftest.sh \ - "$TEST_TAG" "$TNODES" "$FTEST_ARG" +export DAOS_HTTPS_PROXY="${DAOS_HTTPS_PROXY:-}" +export DAOS_NO_PROXY="${DAOS_NO_PROXY:-}" +/usr/lib/daos/TESTING/ftest/ftest.sh "$TEST_TAG" "$TNODES" "$FTEST_ARG" diff --git a/ci/unit/test_main.sh b/ci/unit/test_main.sh index d7bbdb5358a..7e2adf12dc9 100755 --- a/ci/unit/test_main.sh +++ b/ci/unit/test_main.sh @@ -1,7 +1,7 @@ #!/bin/bash # # Copyright 2020-2023 Intel Corporation. -# Copyright 2025 Hewlett Packard Enterprise Development LP +# Copyright 2025-2026 Hewlett Packard Enterprise Development LP # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -43,9 +43,10 @@ NODE=${NODELIST%%,*} rsync -rlpt -z -e "ssh $SSH_KEY_ARGS" . jenkins@"$NODE":build/ # shellcheck disable=SC2029 -ssh -tt "$SSH_KEY_ARGS" jenkins@"$NODE" "HOSTNAME=$HOSTNAME \ - HOSTPWD=$PWD \ +ssh -tt "$SSH_KEY_ARGS" jenkins@"$NODE" "HOSTNAME=$HOSTNAME \ + HOSTPWD=$PWD \ WITH_VALGRIND=$WITH_VALGRIND \ DAOS_HTTPS_PROXY=\"${DAOS_HTTPS_PROXY:-}\" \ - BDEV_TEST=$BDEV_TEST \ + DAOS_NO_PROXY=\"${DAOS_NO_PROXY:-}\" \ + BDEV_TEST=$BDEV_TEST \ ./build/ci/unit/test_main_node.sh" diff --git a/ci/unit/test_main_node.sh b/ci/unit/test_main_node.sh index ad03978ee84..d8568577a5b 100755 --- a/ci/unit/test_main_node.sh +++ b/ci/unit/test_main_node.sh @@ -97,5 +97,7 @@ pip install --upgrade pip pip install --requirement requirements-utest.txt pip install /opt/daos/lib/daos/python/ -HTTPS_PROXY="${DAOS_HTTPS_PROXY:-}" utils/run_utest.py $RUN_TEST_VALGRIND \ +HTTPS_PROXY="${DAOS_HTTPS_PROXY:-}" \ +NO_PROXY="${DAOS_NO_PROXY:-}" \ +utils/run_utest.py $RUN_TEST_VALGRIND \ --no-fail-on-error $VDB_ARG --log_dir="$test_log_dir" $SUDO_ARG diff --git a/ci/unit/test_nlt.sh b/ci/unit/test_nlt.sh index a5f50545a15..b8176aca873 100755 --- a/ci/unit/test_nlt.sh +++ b/ci/unit/test_nlt.sh @@ -15,4 +15,5 @@ rsync -rlpt -z -e "ssh $SSH_KEY_ARGS" .build_vars* opt-daos.tar utils requiremen # shellcheck disable=SC2029 ssh -tt "$SSH_KEY_ARGS" jenkins@"$NODE" "DAOS_HTTPS_PROXY=\"${DAOS_HTTPS_PROXY:-}\" \ + DAOS_NO_PROXY=\"${DAOS_NO_PROXY:-}\" \ $(cat "$mydir/test_nlt_node.sh")" diff --git a/ci/unit/test_nlt_node.sh b/ci/unit/test_nlt_node.sh index 730dea30423..62a734f3bcf 100755 --- a/ci/unit/test_nlt_node.sh +++ b/ci/unit/test_nlt_node.sh @@ -45,5 +45,7 @@ pip install /opt/daos/lib/daos/python/ sudo prlimit --nofile=1024:262144 --pid $$ prlimit -n -HTTPS_PROXY="${DAOS_HTTPS_PROXY:-}" ./utils/node_local_test.py --max-log-size 1950MiB \ +HTTPS_PROXY="${DAOS_HTTPS_PROXY:-}" \ + NO_PROXY="${DAOS_NO_PROXY:-}" \ + ./utils/node_local_test.py --max-log-size 1950MiB \ --dfuse-dir /localhome/jenkins/ --log-usage-save nltir.xml --log-usage-export nltr.json all diff --git a/ftest.sh b/ftest.sh index de5f61a6c24..9083112f603 100755 --- a/ftest.sh +++ b/ftest.sh @@ -1,7 +1,7 @@ #!/bin/bash # /* # * (C) Copyright 2016-2022 Intel Corporation. -# * Copyright 2025 Hewlett Packard Enterprise Development LP +# * Copyright 2025-2026 Hewlett Packard Enterprise Development LP # * # * SPDX-License-Identifier: BSD-2-Clause-Patent # */ @@ -114,6 +114,7 @@ shift || true args+=" $*" _DAOS_HTTPS_PROXY=${DAOS_HTTPS_PROXY:-} +_DAOS_NO_PROXY=${DAOS_NO_PROXY:-} # shellcheck disable=SC2029 # shellcheck disable=SC2086 if ! ssh -A $SSH_KEY_ARGS ${REMOTE_ACCT:-jenkins}@"${nodes[0]}" \ @@ -130,6 +131,7 @@ if ! ssh -A $SSH_KEY_ARGS ${REMOTE_ACCT:-jenkins}@"${nodes[0]}" \ WITH_VALGRIND=\"$WITH_VALGRIND\" STAGE_NAME=\"$STAGE_NAME\" DAOS_HTTPS_PROXY=\"$_DAOS_HTTPS_PROXY\" + DAOS_NO_PROXY=\"$_DAOS_NO_PROXY\" $(sed -e '1,/^$/d' "$SCRIPT_LOC"/main.sh)"; then rc=${PIPESTATUS[0]} if ${SETUP_ONLY:-false}; then diff --git a/src/tests/ftest/dfuse/daos_build.py b/src/tests/ftest/dfuse/daos_build.py index dceba07d233..c336e0ca8f9 100644 --- a/src/tests/ftest/dfuse/daos_build.py +++ b/src/tests/ftest/dfuse/daos_build.py @@ -1,6 +1,6 @@ """ (C) Copyright 2020-2024 Intel Corporation. - (C) Copyright 2025 Hewlett Packard Enterprise Development LP + (C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP (C) Copyright 2025 Google LLC SPDX-License-Identifier: BSD-2-Clause-Patent @@ -104,7 +104,8 @@ def run_build_test(self, cache_mode, il_lib=None, run_on_vms=False): remote_env['PATH'] = f"{os.path.join(mount_dir, 'venv', 'bin')}:$PATH" remote_env['VIRTUAL_ENV'] = os.path.join(mount_dir, 'venv') remote_env['COVFILE'] = os.environ['COVFILE'] - remote_env['HTTPS_PROXY'] = os.environ['HTTPS_PROXY'] + remote_env['HTTPS_PROXY'] = os.environ.get('HTTPS_PROXY', '') + remote_env['NO_PROXY'] = os.environ.get('NO_PROXY', '') if il_lib is not None: remote_env['LD_PRELOAD'] = os.path.join(self.prefix, 'lib64', il_lib) diff --git a/src/tests/ftest/scripts/main.sh b/src/tests/ftest/scripts/main.sh index 3f3e2c7cb69..b8d0d58ef8f 100755 --- a/src/tests/ftest/scripts/main.sh +++ b/src/tests/ftest/scripts/main.sh @@ -102,6 +102,9 @@ if [ -n "$DAOS_HTTPS_PROXY" ]; then # shellcheck disable=SC2154 export HTTPS_PROXY="${DAOS_HTTPS_PROXY:-""}" fi +if [ -n "$DAOS_NO_PROXY" ]; then + export NO_PROXY="${DAOS_NO_PROXY:-""}" +fi launch_node_args="-ts ${TEST_NODES}" if [ "${STAGE_NAME}" == "Functional Hardware 24" ]; then diff --git a/utils/node_local_test.py b/utils/node_local_test.py index b64ba130a87..724843e87b5 100755 --- a/utils/node_local_test.py +++ b/utils/node_local_test.py @@ -442,6 +442,9 @@ def get_base_env(clean=False): http_proxy = os.environ.get('HTTPS_PROXY') if http_proxy: env['HTTPS_PROXY'] = http_proxy + no_proxy = os.environ.get('NO_PROXY') + if no_proxy: + env['NO_PROXY'] = no_proxy # Enable this to debug memory errors, it has a performance impact but will scan the heap # for corruption. See DAOS-12735 for why this can cause problems in practice. diff --git a/utils/run_utest.py b/utils/run_utest.py index 39261be2a51..f16288d4d79 100755 --- a/utils/run_utest.py +++ b/utils/run_utest.py @@ -2,7 +2,7 @@ """ Copyright 2023-2024 Intel Corporation. Copyright 2025 Google LLC - Copyright 2025 Hewlett Packard Enterprise Development LP + Copyright 2025-2026 Hewlett Packard Enterprise Development LP All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @@ -364,6 +364,9 @@ def __init__(self, suite, config, path_info, args): http_proxy = os.environ.get('HTTPS_PROXY') if http_proxy: self.env['HTTPS_PROXY'] = http_proxy + no_proxy = os.environ.get('NO_PROXY') + if no_proxy: + self.env['NO_PROXY'] = no_proxy def log_dir(self): """Return the log directory"""