(trafficserver) branch master updated: header_rewrite: add debug to accompany parse_line errors (#11238)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 1feaba1235 header_rewrite: add debug to accompany parse_line errors (#11238) 1feaba1235 is described below commit 1feaba123536c14a462a507d12fbd95f3a26f8e4 Author: Brian Olsen AuthorDate: Thu Apr 11 16:03:35 2024 -0600 header_rewrite: add debug to accompany parse_line errors (#11238) --- plugins/header_rewrite/header_rewrite.cc | 7 ++- plugins/header_rewrite/value.cc | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/header_rewrite/header_rewrite.cc b/plugins/header_rewrite/header_rewrite.cc index b6999b3b68..60a1f72f29 100644 --- a/plugins/header_rewrite/header_rewrite.cc +++ b/plugins/header_rewrite/header_rewrite.cc @@ -180,7 +180,12 @@ RulesConfig::parse_config(const std::string , TSHttpHookID default_hook) Parser p; // Tokenize and parse this line -if (!p.parse_line(line) || p.empty()) { +if (!p.parse_line(line)) { + Dbg(dbg_ctl, "Error parsing line '%s'", line.c_str()); + continue; +} + +if (p.empty()) { continue; } diff --git a/plugins/header_rewrite/value.cc b/plugins/header_rewrite/value.cc index 9256565a9d..d5d8f5727a 100644 --- a/plugins/header_rewrite/value.cc +++ b/plugins/header_rewrite/value.cc @@ -60,6 +60,7 @@ Value::set_value(const std::string ) tcond_val->initialize(parser); } else { // TODO: should we produce error here? +Dbg(dbg_ctl, "Error parsing value '%s'", _value.c_str()); } } } else {
(trafficserver) branch master updated: magick.so: explicitly reference wand/core libraries (#11183)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new d90181f88c magick.so: explicitly reference wand/core libraries (#11183) d90181f88c is described below commit d90181f88c4093a9c204108d272f8b2e2d983a6f Author: Brian Olsen AuthorDate: Tue Mar 26 20:38:12 2024 -0600 magick.so: explicitly reference wand/core libraries (#11183) --- CMakeLists.txt | 1 + cmake/magick_target.cmake | 16 plugins/experimental/magick/CMakeLists.txt | 3 ++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b2509604f..d6f6ac6474 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,6 +113,7 @@ auto_option( MagickWand MagickCore ) + auto_option(UNWIND FEATURE_VAR TS_USE_REMOTE_UNWINDING PACKAGE_DEPENDS unwind) # This creates the magic import target if necessary (older cmake) diff --git a/cmake/magick_target.cmake b/cmake/magick_target.cmake index 75aecca6ad..685298ca43 100644 --- a/cmake/magick_target.cmake +++ b/cmake/magick_target.cmake @@ -25,3 +25,19 @@ if(ImageMagick_Magick++_FOUND AND NOT TARGET ImageMagick::Magick++) target_compile_options(ImageMagick::Magick++ INTERFACE -fopenmp) target_compile_definitions(ImageMagick::Magick++ INTERFACE MAGICKCORE_HDRI_ENABLE=0 MAGICKCORE_QUANTUM_DEPTH=16) endif() + +if(ImageMagick_MagickWand_FOUND AND NOT TARGET ImageMagick::MagickWand) + add_library(ImageMagick::MagickWand INTERFACE IMPORTED) + target_include_directories(ImageMagick::MagickWand INTERFACE ${ImageMagick_MagickWand_INCLUDE_DIRS}) + target_link_libraries(ImageMagick::MagickWand INTERFACE ${ImageMagick_LIBRARIES}) + target_compile_options(ImageMagick::MagickWand INTERFACE -fopenmp) + target_compile_definitions(ImageMagick::MagickWand INTERFACE MAGICKCORE_HDRI_ENABLE=0 MAGICKCORE_QUANTUM_DEPTH=16) +endif() + +if(ImageMagick_MagickCore_FOUND AND NOT TARGET ImageMagick::MagickCore) + add_library(ImageMagick::MagickCore INTERFACE IMPORTED) + target_include_directories(ImageMagick::MagickCore INTERFACE ${ImageMagick_MagickCore_INCLUDE_DIRS}) + target_link_libraries(ImageMagick::MagickCore INTERFACE ${ImageMagick_LIBRARIES}) + target_compile_options(ImageMagick::MagickCore INTERFACE -fopenmp) + target_compile_definitions(ImageMagick::MagickCore INTERFACE MAGICKCORE_HDRI_ENABLE=0 MAGICKCORE_QUANTUM_DEPTH=16) +endif() diff --git a/plugins/experimental/magick/CMakeLists.txt b/plugins/experimental/magick/CMakeLists.txt index 205d3a5214..97d07452c5 100644 --- a/plugins/experimental/magick/CMakeLists.txt +++ b/plugins/experimental/magick/CMakeLists.txt @@ -16,6 +16,7 @@ ### add_atsplugin(magick magick.cc) -target_link_libraries(magick PRIVATE ImageMagick::Magick++ ts::tscppapi OpenSSL::Crypto) + +target_link_libraries(magick PRIVATE ImageMagick::MagickWand ImageMagick::MagickCore ts::tscppapi OpenSSL::Crypto) verify_global_plugin(magick)
(trafficserver-ci) branch main updated: ensure all scripts use bash, make nproc more cross platform (#323)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new c2d78d0 ensure all scripts use bash, make nproc more cross platform (#323) c2d78d0 is described below commit c2d78d0b02fb0750b45f762ea2bd7b2c866306b2 Author: Brian Olsen AuthorDate: Mon Mar 11 06:20:44 2024 -0600 ensure all scripts use bash, make nproc more cross platform (#323) --- jenkins/bin/autest.sh | 4 ++-- jenkins/bin/autotools.sh | 2 +- jenkins/bin/cache-tests.sh| 2 +- jenkins/bin/clang-analyzer.sh | 4 ++-- jenkins/bin/cleanup.sh| 2 +- jenkins/bin/cmake.sh | 4 ++-- jenkins/bin/cmake_basic.sh| 4 ++-- jenkins/bin/coverity.sh | 4 ++-- jenkins/bin/docs.sh | 4 ++-- jenkins/bin/environment.sh| 4 ++-- jenkins/bin/extract.sh| 2 +- jenkins/bin/format.sh | 4 ++-- jenkins/bin/gh-mirror.sh | 2 +- jenkins/bin/github.sh | 2 +- jenkins/bin/in_tree.sh| 2 +- jenkins/bin/out_of_tree.sh| 2 +- jenkins/bin/quiche.sh | 4 ++-- jenkins/bin/rat.sh| 2 +- jenkins/bin/regression.sh | 10 +- jenkins/bin/snapshot.sh | 2 +- 20 files changed, 33 insertions(+), 33 deletions(-) diff --git a/jenkins/bin/autest.sh b/jenkins/bin/autest.sh index f684a0f..389ecf7 100755 --- a/jenkins/bin/autest.sh +++ b/jenkins/bin/autest.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -21,7 +21,7 @@ set +x cd src #sleep 30 -NPROC=$(nproc) +NPROC=${NPROC:-$(getconf _NPROCESSORS_ONLN)} git branch --contains ${ghprbActualCommit} > /dev/null if [ $? = 0 -a ! -z "$ghprbActualCommit" ]; then diff --git a/jenkins/bin/autotools.sh b/jenkins/bin/autotools.sh index 6f31766..974a5b5 100755 --- a/jenkins/bin/autotools.sh +++ b/jenkins/bin/autotools.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file diff --git a/jenkins/bin/cache-tests.sh b/jenkins/bin/cache-tests.sh index 21771f9..3d39b19 100755 --- a/jenkins/bin/cache-tests.sh +++ b/jenkins/bin/cache-tests.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file diff --git a/jenkins/bin/clang-analyzer.sh b/jenkins/bin/clang-analyzer.sh index 8827ee0..30bcb9b 100755 --- a/jenkins/bin/clang-analyzer.sh +++ b/jenkins/bin/clang-analyzer.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -21,7 +21,7 @@ set -e grep -q 80010 configure.ac && echo "8.1.x branch detected, stop here!" && exit 0 -NPROC=$(nproc) +NPROC=${NPROC:-$(getconf _NPROCESSORS_ONLN)} WORKSPACE="${WORKSPACE:-..}" GITHUB_BRANCH="${GITHUB_BRANCH:-master}" diff --git a/jenkins/bin/cleanup.sh b/jenkins/bin/cleanup.sh index 39c3de0..4c64334 100755 --- a/jenkins/bin/cleanup.sh +++ b/jenkins/bin/cleanup.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index c3f69cc..82f9c49 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -21,7 +21,7 @@ set -x set -e -NPROC=$(nproc) +NPROC=${NPROC:-$(getconf _NPROCESSORS_ONLN)} if [ ! -d cmake ] then diff --git a/jenkins/bin/cmake_basic.sh b/jenkins/bin/cmake_basic.sh index 2d9e33b..d8e79b2 100755 --- a/jenkins/bin/cmake_basic.sh +++ b/jenkins/bin/cmake_basic.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -20,7 +20,7 @@ set -x -NPROC=$(nproc) +NPROC=${NPROC:-$(getconf _NPROCESSORS_ONLN)} if [ ! -d cmake ] then diff --git a/jenkins/bin/coverity.sh b/jenkins/bin/coverity.sh index dbfb222..67501e8 100755 --- a/jenkins/bin/coverity.sh +++ b/jenkins/bin/coverity.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -18,7 +18,7 @@ cd "${WORKSPACE}/src" -NPROC=$(nproc) +NPROC=${NPROC:-$(getconf _NPROCESSORS_ONLN)} # Get the
(trafficserver-ci) branch main updated: simplify setting json contents for CMakeUserPresets.json (#322)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 63380b4 simplify setting json contents for CMakeUserPresets.json (#322) 63380b4 is described below commit 63380b43fd12e3843d7f10a429ed1aa81a5728ea Author: Brian Olsen AuthorDate: Fri Mar 8 14:29:34 2024 -0700 simplify setting json contents for CMakeUserPresets.json (#322) --- jenkins/bin/cmake.sh | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index 1e4e412..c3f69cc 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -57,17 +57,17 @@ done # comma separate inherits=$(sed 's/ /, /g' <<< "${farray[@]}") -read -d '' contents << EOF +contents=" { - "version": 2, - "configurePresets": [ + \"version\": 2, + \"configurePresets\": [ { - "name": "branch-user-preset", - "inherits": [${inherits}] + \"name\": \"branch-user-preset\", + \"inherits\": [${inherits}] } ] } -EOF +" echo "${contents}" > CMakeUserPresets.json
(trafficserver-ci) branch main updated: `set -e` to regression.sh and cmake.sh (#321)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 67e340f `set -e` to regression.sh and cmake.sh (#321) 67e340f is described below commit 67e340f3ac74c3c0a30ee3c70bf1f1e1dc5edbae Author: Brian Neradt AuthorDate: Thu Mar 7 08:40:55 2024 -0500 `set -e` to regression.sh and cmake.sh (#321) Co-authored-by: bneradt --- jenkins/bin/cmake.sh | 1 + jenkins/bin/regression.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index a689336..1e4e412 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -19,6 +19,7 @@ # This does intentionally not run the regressions, it's primarily a "build" test set -x +set -e NPROC=$(nproc) diff --git a/jenkins/bin/regression.sh b/jenkins/bin/regression.sh index e10ae93..ba9213e 100755 --- a/jenkins/bin/regression.sh +++ b/jenkins/bin/regression.sh @@ -17,6 +17,7 @@ # limitations under the License. set -x +set -e NPROC=$(nproc)
(trafficserver-ci) branch main updated: rocky* explicitly pull in pcre2 devel (#319)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new c0451d1 rocky* explicitly pull in pcre2 devel (#319) c0451d1 is described below commit c0451d112cc2785dc4b012c36d31344e3fa7f0cc Author: Brian Olsen AuthorDate: Tue Mar 5 09:49:46 2024 -0700 rocky* explicitly pull in pcre2 devel (#319) --- docker/rockylinux8/Dockerfile | 40 +--- docker/rockylinux9/Dockerfile | 10 ++ 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/docker/rockylinux8/Dockerfile b/docker/rockylinux8/Dockerfile index 59e7488..041d300 100644 --- a/docker/rockylinux8/Dockerfile +++ b/docker/rockylinux8/Dockerfile @@ -6,32 +6,34 @@ FROM rockylinux:8 RUN <https://bugs.launchpad.net/tripleo/+bug/1953156 dnf -y install --allowerasing \ -openssl-devel expat-devel pcre-devel libcap-devel hwloc-devel libunwind-devel \ -xz-devel libcurl-devel ncurses-devel jemalloc-devel GeoIP-devel luajit-devel brotli-devel \ -ImageMagick-devel ImageMagick-c++-devel hiredis-devel zlib-devel libmaxminddb-devel \ -perl-ExtUtils-MakeMaker perl-Digest-SHA perl-URI perl-IPC-Cmd perl-Pod-Html perl-FindBin \ +openssl-devel expat-devel pcre-devel pcre2-devel libcap-devel \ +hwloc-devel libunwind-devel xz-devel libcurl-devel ncurses-devel \ +jemalloc-devel GeoIP-devel luajit-devel brotli-devel \ +ImageMagick-devel ImageMagick-c++-devel hiredis-devel zlib-devel \ +libmaxminddb-devel perl-ExtUtils-MakeMaker perl-Digest-SHA \ +perl-URI perl-IPC-Cmd perl-Pod-Html perl-FindBin \ curl tcl-devel java # autest stuff
(trafficserver) branch master updated: test_ip: add iterator temporary for gcc release builds (#11124)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 7f32f4eba4 test_ip: add iterator temporary for gcc release builds (#11124) 7f32f4eba4 is described below commit 7f32f4eba4c023971bbdd3e6d448480d3922a5d0 Author: Brian Olsen AuthorDate: Mon Mar 4 09:42:25 2024 -0700 test_ip: add iterator temporary for gcc release builds (#11124) --- lib/swoc/unit_tests/test_ip.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/swoc/unit_tests/test_ip.cc b/lib/swoc/unit_tests/test_ip.cc index bb7eadfc31..178e85b72a 100644 --- a/lib/swoc/unit_tests/test_ip.cc +++ b/lib/swoc/unit_tests/test_ip.cc @@ -1253,7 +1253,8 @@ TEST_CASE("IPSpace Edge", "[libswoc][ipspace][edge]") { auto = *spot; auto = get<1>(v1); - if (auto &&[r, p] = *(cspace.find(a1)); !r.empty()) { + auto const iter = cspace.find(a1); + if (auto &&[r, p] = *iter; !r.empty()) { static_assert(std::is_same_v); IPRange rr = r; swoc::IPRangeView rvv{r};
(trafficserver) branch master updated: autests change perl shasum to cksum (#11118)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new eaae6ca812 autests change perl shasum to cksum (#8) eaae6ca812 is described below commit eaae6ca8126502ce270b8a247204c3b3387cf72b Author: Brian Olsen AuthorDate: Sat Mar 2 11:24:24 2024 -0700 autests change perl shasum to cksum (#8) * autests change perl shasum to sha1sum * change from sha1sum over to more basic cksum --- tests/gold_tests/h2/gold/httpbin_2_stdout.gold | 2 +- tests/gold_tests/h2/gold/priority_0_stdout.gold | 2 +- tests/gold_tests/h2/http2_priority.test.py | 4 ++-- tests/gold_tests/h2/httpbin.test.py | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/gold_tests/h2/gold/httpbin_2_stdout.gold b/tests/gold_tests/h2/gold/httpbin_2_stdout.gold index d24de92221..ba660d0692 100644 --- a/tests/gold_tests/h2/gold/httpbin_2_stdout.gold +++ b/tests/gold_tests/h2/gold/httpbin_2_stdout.gold @@ -1 +1 @@ -7a884625d64511d986423b361d75a5d037d7fa62b9ecf0959b93adda1afe07ef - +3197674613 102400 diff --git a/tests/gold_tests/h2/gold/priority_0_stdout.gold b/tests/gold_tests/h2/gold/priority_0_stdout.gold index 6b6476af34..ebfe364067 100644 --- a/tests/gold_tests/h2/gold/priority_0_stdout.gold +++ b/tests/gold_tests/h2/gold/priority_0_stdout.gold @@ -1 +1 @@ -3d5e50d1d61fb452feb3d0eaada226e52c6dc11af1b3745e0e850146f384b777 - +3332548275 1048576 diff --git a/tests/gold_tests/h2/http2_priority.test.py b/tests/gold_tests/h2/http2_priority.test.py index 28df03d5e4..86e52803f7 100644 --- a/tests/gold_tests/h2/http2_priority.test.py +++ b/tests/gold_tests/h2/http2_priority.test.py @@ -22,7 +22,7 @@ Test a basic remap of a http connection with Stream Priority Feature Test.SkipUnless( Condition.HasCurlFeature('http2'), -Condition.HasProgram("shasum", "shasum need to be installed on system for this test to work"), +Condition.HasProgram("cksum", "cksum need to be installed on system for this test to work"), ) Test.ContinueOnFail = True @@ -69,7 +69,7 @@ ts.Disk.records_config.update( # Test Case 0: tr = Test.AddTestRun() -tr.Processes.Default.Command = 'curl -vs -k --http2 https://127.0.0.1:{0}/bigfile | shasum -a 256'.format(ts.Variables.ssl_port) +tr.Processes.Default.Command = 'curl -vs -k --http2 https://127.0.0.1:{0}/bigfile | cksum'.format(ts.Variables.ssl_port) tr.Processes.Default.ReturnCode = 0 tr.Processes.Default.TimeOut = 5 tr.Processes.Default.StartBefore(server, ready=When.PortOpen(server.Variables.Port)) diff --git a/tests/gold_tests/h2/httpbin.test.py b/tests/gold_tests/h2/httpbin.test.py index a2447758d0..1e48e0da9b 100644 --- a/tests/gold_tests/h2/httpbin.test.py +++ b/tests/gold_tests/h2/httpbin.test.py @@ -28,7 +28,7 @@ Test HTTP/2 with httpbin origin server # Require HTTP/2 enabled Curl Test.SkipUnless( Condition.HasCurlFeature('http2'), -Condition.HasProgram("shasum", "shasum need to be installed on system for this test to work"), +Condition.HasProgram("cksum", "cksum need to be installed on system for this test to work"), ) # Test.ContinueOnFail = True @@ -103,7 +103,7 @@ test_run.StillRunningAfter = httpbin # Test Case 2: Chunked test_run = Test.AddTestRun() -test_run.Processes.Default.Command = 'curl -vs -k --http2 https://127.0.0.1:{0}/stream-bytes/102400?seed=0 | shasum -a 256'.format( +test_run.Processes.Default.Command = 'curl -vs -k --http2 https://127.0.0.1:{0}/stream-bytes/102400?seed=0 | cksum'.format( ts.Variables.ssl_port) test_run.Processes.Default.ReturnCode = 0 test_run.Processes.Default.Streams.stdout = "gold/httpbin_2_stdout.gold"
(trafficserver) branch master updated: Revert "fix race condition with session thread migration (#10897)" (#11101)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 2c1ea0607b Revert "fix race condition with session thread migration (#10897)" (#11101) 2c1ea0607b is described below commit 2c1ea0607b7eb0ddf74b9bd88e5058909f460069 Author: Brian Olsen AuthorDate: Tue Feb 27 17:21:54 2024 -0700 Revert "fix race condition with session thread migration (#10897)" (#11101) This reverts commit 94f366de200d9dab31e3755a188a5e6290b1ade2. --- src/iocore/net/EventIO.cc| 12 +-- src/iocore/net/UnixNetVConnection.cc | 6 ++ src/proxy/http/HttpSessionManager.cc | 154 +-- 3 files changed, 82 insertions(+), 90 deletions(-) diff --git a/src/iocore/net/EventIO.cc b/src/iocore/net/EventIO.cc index 29c9aefcd0..0ec7ff2078 100644 --- a/src/iocore/net/EventIO.cc +++ b/src/iocore/net/EventIO.cc @@ -64,11 +64,7 @@ EventIO::modify(int e) return 0; } - // Session migration may result in this condition. - if (nullptr == event_loop) { -return 1; - } - + ink_assert(event_loop); #if TS_USE_EPOLL && !defined(USE_EDGE_TRIGGER) struct epoll_event ev; memset(, 0, sizeof(ev)); @@ -121,11 +117,7 @@ EventIO::refresh(int e) return 0; } - // Session migration may result in this condition. - if (nullptr == event_loop) { -return 1; - } - + ink_assert(event_loop); #if TS_USE_KQUEUE && defined(USE_EDGE_TRIGGER) e = e & events; struct kevent ev[2]; diff --git a/src/iocore/net/UnixNetVConnection.cc b/src/iocore/net/UnixNetVConnection.cc index 8cec52fd4a..cc5bc933ee 100644 --- a/src/iocore/net/UnixNetVConnection.cc +++ b/src/iocore/net/UnixNetVConnection.cc @@ -1373,6 +1373,12 @@ UnixNetVConnection::migrateToCurrentThread(Continuation *cont, EThread *t) void *arg = this->_prepareForMigration(); + // Do_io_close will signal the VC to be freed on the original thread + // Since we moved the con context, the fd will not be closed + // Go ahead and remove the fd from the original thread's epoll structure, so it is not + // processed on two threads simultaneously + this->ep.stop(); + // Create new VC: UnixNetVConnection *newvc = static_cast(this->_getNetProcessor()->allocate_vc(t)); ink_assert(newvc != nullptr); diff --git a/src/proxy/http/HttpSessionManager.cc b/src/proxy/http/HttpSessionManager.cc index 8c821775b5..9bb015053e 100644 --- a/src/proxy/http/HttpSessionManager.cc +++ b/src/proxy/http/HttpSessionManager.cc @@ -146,58 +146,57 @@ ServerSessionPool::acquireSession(sockaddr const *addr, CryptoHash const HSMresult_t zret = HSM_NOT_FOUND; to_return= nullptr; - // first section, match against fqdn/port if ((TS_SERVER_SESSION_SHARING_MATCH_MASK_HOSTONLY & match_style) && !(TS_SERVER_SESSION_SHARING_MATCH_MASK_IP & match_style)) { Debug("http_ss", "Search for host name only not IP. Pool size %zu", m_fqdn_pool.count()); // This is broken out because only in this case do we check the host hash first. The range must be checked // to verify an upstream that matches port and SNI name is selected. Walk backwards to select oldest. -in_port_t const port = ats_ip_port_cast(addr); -auto iter= m_fqdn_pool.find(hostname_hash); -while (iter != m_fqdn_pool.end() && iter->hostname_hash == hostname_hash) { - Debug("http_ss", "Compare port 0x%x against 0x%x", port, ats_ip_port_cast(iter->get_remote_addr())); - if (port == ats_ip_port_cast(iter->get_remote_addr()) && - (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_SNI) || validate_sni(sm, iter->get_netvc())) && - (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_HOSTSNISYNC) || validate_host_sni(sm, iter->get_netvc())) && - (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_CERT) || validate_cert(sm, iter->get_netvc( { -to_return = iter; +in_port_t port = ats_ip_port_cast(addr); +auto first = m_fqdn_pool.find(hostname_hash); +while (first != m_fqdn_pool.end() && first->hostname_hash == hostname_hash) { + Debug("http_ss", "Compare port 0x%x against 0x%x", port, ats_ip_port_cast(first->get_remote_addr())); + if (port == ats_ip_port_cast(first->get_remote_addr()) && + (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_SNI) || validate_sni(sm, first->get_netvc())) && + (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_HOSTSNISYNC) || validate_host_sni(sm, first->get_netvc())) && + (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_CERT) || validate_cert(s
(trafficserver) branch master updated: TSVConnFd: replace autest wait condition (#11099)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 331ae7e5ab TSVConnFd: replace autest wait condition (#11099) 331ae7e5ab is described below commit 331ae7e5ab5cee118e7c3aecc90bf844810bf44f Author: Brian Olsen AuthorDate: Mon Feb 26 15:57:10 2024 -0700 TSVConnFd: replace autest wait condition (#11099) --- tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.test.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.test.py b/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.test.py index f63b16f546..06b008ae45 100644 --- a/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.test.py +++ b/tests/gold_tests/pluginTest/TSVConnFd/TSVConnFd.test.py @@ -64,7 +64,5 @@ tr.Processes.Default.ReturnCode = 0 # Give tests up to 10 seconds to complete. # tr = Test.AddTestRun() -tr.Processes.Default.Command = ( -"N=10 ; while [ $$N -gt 0 ] ; do " + "if [ ! -f " + InProgressFilePathspec + -" ] ; then exit 0 ; fi ; sleep 1 ; N=$$(( N-1 )) ; " + "done ; echo 'TIMEOUT' ; exit 1") +tr.Processes.Default.Command = (os.path.join(Test.Variables.AtsTestToolsDir, 'condwait') + ' 15 1 -f ' + InProgressFilePathspec) tr.Processes.Default.ReturnCode = 0
(trafficserver) branch master updated (c7b4151e96 -> 293bccb26a)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from c7b4151e96 IPRange.h: resolve compiler error about dangling pointer to temporary (#11090) add 293bccb26a ipspace: introduce intermediate temporary to restore the structed binding decl (#11093) No new revisions were added by this update. Summary of changes: plugins/experimental/txn_box/plugin/src/ip_space.cc | 9 + 1 file changed, 5 insertions(+), 4 deletions(-)
(trafficserver) branch master updated: IPRange.h: resolve compiler error about dangling pointer to temporary (#11090)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new c7b4151e96 IPRange.h: resolve compiler error about dangling pointer to temporary (#11090) c7b4151e96 is described below commit c7b4151e9616751b67bb9dbc0f4f48bb7285f22e Author: Brian Olsen AuthorDate: Fri Feb 23 11:35:27 2024 -0700 IPRange.h: resolve compiler error about dangling pointer to temporary (#11090) --- lib/swoc/include/swoc/IPRange.h | 8 +++- plugins/experimental/txn_box/plugin/src/ip_space.cc | 8 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/swoc/include/swoc/IPRange.h b/lib/swoc/include/swoc/IPRange.h index 547afdb694..b09b879fc2 100644 --- a/lib/swoc/include/swoc/IPRange.h +++ b/lib/swoc/include/swoc/IPRange.h @@ -1985,7 +1985,13 @@ IPRangeView::clear() -> self_type & { inline bool IPRangeView::empty() const { - return AF_INET6 == _family ? _raw._6->empty() : AF_INET == _family ? _raw._4->empty() : true; + if (AF_INET6 == _family) { +return _raw._6->empty(); + } else if (AF_INET == _family) { +return _raw._4->empty(); + } else { +return true; + } } inline bool diff --git a/plugins/experimental/txn_box/plugin/src/ip_space.cc b/plugins/experimental/txn_box/plugin/src/ip_space.cc index 047ed602bd..429db791f7 100644 --- a/plugins/experimental/txn_box/plugin/src/ip_space.cc +++ b/plugins/experimental/txn_box/plugin/src/ip_space.cc @@ -907,10 +907,10 @@ Mod_ip_space::operator()(Context , feature_type_for addr) } Feature value{FeatureView::Literal("")}; if (active._space) { -auto &&[range, payload] = *active._space->space.find(addr); -active._row = range.empty() ? nullptr : -active._addr= addr; -active._drtv= drtv; +auto [range, payload] = *active._space->space.find(addr); +active._row = range.empty() ? nullptr : +active._addr = addr; +active._drtv = drtv; // Current active data. auto *store = Txb_IP_Space::ctx_active_info(ctx);
(trafficserver) branch master updated: ensure dns lookup happens after dns_info.lookup_name changes (#11035)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 6348795248 ensure dns lookup happens after dns_info.lookup_name changes (#11035) 6348795248 is described below commit 6348795248f559faca572c1aa56390cfbf3b50ba Author: Brian Olsen AuthorDate: Fri Feb 23 05:28:25 2024 -0700 ensure dns lookup happens after dns_info.lookup_name changes (#11035) * ensure dns lookup happens after dns_info.lookup_name changes * add autest and exception for TSHttpTxnServerAddrSet API call --- include/iocore/hostdb/HostDBProcessor.h| 3 +- src/proxy/http/HttpTransact.cc | 4 + .../parent_config/parent_config_dest_ip.test.py| 125 + 3 files changed, 131 insertions(+), 1 deletion(-) diff --git a/include/iocore/hostdb/HostDBProcessor.h b/include/iocore/hostdb/HostDBProcessor.h index 3629e72744..f5ef45938f 100644 --- a/include/iocore/hostdb/HostDBProcessor.h +++ b/include/iocore/hostdb/HostDBProcessor.h @@ -863,7 +863,8 @@ ResolveInfo::set_active(std::nullptr_t) inline bool ResolveInfo::set_upstream_address(sockaddr const *sa) { - return resolved_p = addr.assign(sa).isValid(); + resolved_p = addr.assign(sa).isValid(); + return resolved_p; } inline void diff --git a/src/proxy/http/HttpTransact.cc b/src/proxy/http/HttpTransact.cc index cf9447f825..429aeb3b0e 100644 --- a/src/proxy/http/HttpTransact.cc +++ b/src/proxy/http/HttpTransact.cc @@ -546,6 +546,9 @@ update_dns_info(ResolveInfo *dns, HttpTransact::CurrentInfo *from) { dns->looking_up = from->request_to; dns->lookup_name = from->server->name; + if (dns->os_addr_style != ResolveInfo::OS_Addr::USE_API) { +dns->resolved_p = false; + } } inline static HTTPHdr * @@ -5716,6 +5719,7 @@ HttpTransact::initialize_state_variables_from_request(State *s, HTTPHdr *obsolet / s->dns_info.looking_up = ResolveInfo::ORIGIN_SERVER; s->dns_info.lookup_name = s->server_info.name; + s->dns_info.resolved_p = false; } void diff --git a/tests/gold_tests/next_hop/parent_config/parent_config_dest_ip.test.py b/tests/gold_tests/next_hop/parent_config/parent_config_dest_ip.test.py new file mode 100644 index 00..c3f5706a2a --- /dev/null +++ b/tests/gold_tests/next_hop/parent_config/parent_config_dest_ip.test.py @@ -0,0 +1,125 @@ +''' +Verify ATS parent.config dest_ip dns bug fix. +''' +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +Test.Summary = ''' +Verify ATS parent_config with dest_ip=... +''' + +# Create origin +origin = Test.MakeOriginServer("origin") + +# default root +request_header_chk = { +"headers": "GET / HTTP/1.1\r\n" + "Host: ats\r\n" + "\r\n", +"timestamp": "1469733493.993", +"body": "", +} + +response_header_chk = { +"headers": "HTTP/1.1 200 OK\r\n" + "Connection: close\r\n" + "\r\n", +"timestamp": "1469733493.993", +"body": "", +} + +origin.addResponse("sessionlog.json", request_header_chk, response_header_chk) + +request_header = { +"headers": +f"GET /foo.txt HTTP/1.1\r\n" +"Host: does.not.matter\r\n" # But cant be omitted +"\r\n", +"timestamp": "1469733493.993", +"body": "" +} + +response_header = { +"headers": "HTTP/1.1 200 OK\r\n" + "Connection: close\r\n" + "Cache-control: max-age=60\r\n" + "\r\n", +"timestamp": "1469733493.993", +"body": f"This is the body for foo.txt\n" +} +origin.addResponse("sessionlog.json", request_header, response_header) + +# Configure DNS for cache layering +dns = Test.MakeDNSe
(trafficserver-ci) branch main updated: add back in parallel cmake for clang-analyzer (#318)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 404b33b add back in parallel cmake for clang-analyzer (#318) 404b33b is described below commit 404b33b48ce49a019e05cac2f27dc74e25698ffe Author: Brian Olsen AuthorDate: Thu Feb 22 10:44:47 2024 -0700 add back in parallel cmake for clang-analyzer (#318) --- jenkins/bin/clang-analyzer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/bin/clang-analyzer.sh b/jenkins/bin/clang-analyzer.sh index 5a45ed7..8827ee0 100755 --- a/jenkins/bin/clang-analyzer.sh +++ b/jenkins/bin/clang-analyzer.sh @@ -41,7 +41,7 @@ then [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . cmake -B builddir --preset branch-clang-analyzer - cmake --build builddir -v + cmake --build builddir -v -j${NPROC} ${ANAL_BUILD} \ --cdb builddir/compile_commands.json \
(trafficserver) branch master updated: add cmake autest_no_install target to run against and existing install (#11079)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 22851480b2 add cmake autest_no_install target to run against and existing install (#11079) 22851480b2 is described below commit 22851480b26f43b2b110e5f674acbc413b271fd1 Author: Brian Olsen AuthorDate: Thu Feb 15 12:49:18 2024 -0700 add cmake autest_no_install target to run against and existing install (#11079) --- tests/CMakeLists.txt | 10 ++ 1 file changed, 10 insertions(+) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 9083e57e0c..4134ff7839 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -51,3 +51,13 @@ add_custom_target( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} USES_TERMINAL ) + +add_custom_target( + autest_no_install + COMMAND ${RUNPIPENV} install + COMMAND ${RUNPIPENV} run env autest --directory ${CMAKE_CURRENT_SOURCE_DIR}/gold_tests + --ats-bin=${CMAKE_INSTALL_PREFIX}/bin --proxy-verifier-bin ${PROXY_VERIFIER_PATH} --build-root + ${CMAKE_BINARY_DIR} --sandbox ${AUTEST_SANDBOX} ${AUTEST_OPTIONS} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + USES_TERMINAL +)
(trafficserver) branch master updated: move ts/parentselectdef.h contents into ts/apidefs.h (#11047)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 23781107c8 move ts/parentselectdef.h contents into ts/apidefs.h (#11047) 23781107c8 is described below commit 23781107c8c08c563c4cb2d1beba1da176497c80 Author: Brian Olsen AuthorDate: Wed Feb 7 17:53:27 2024 -0700 move ts/parentselectdef.h contents into ts/apidefs.h (#11047) --- .../functions/TSHttpTxnResponseActionGet.en.rst| 44 ++ .../functions/TSHttpTxnResponseActionSet.en.rst| 48 +++ include/proxy/http/HttpTransact.h | 2 +- .../proxy/http/remap/NextHopSelectionStrategy.h| 2 +- include/ts/apidefs.h.in| 24 include/ts/parentselectdefs.h | 71 -- include/ts/ts.h| 1 - src/api/CMakeLists.txt | 6 +- src/proxy/http/HttpTransact.cc | 1 - 9 files changed, 120 insertions(+), 79 deletions(-) diff --git a/doc/developer-guide/api/functions/TSHttpTxnResponseActionGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnResponseActionGet.en.rst new file mode 100644 index 00..ca8d94a943 --- /dev/null +++ b/doc/developer-guide/api/functions/TSHttpTxnResponseActionGet.en.rst @@ -0,0 +1,44 @@ +.. Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright + ownership. The ASF licenses this file to you under the Apache + License, Version 2.0 (the "License"); you may not use this file + except in compliance with the License. You may obtain a copy of + the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + +.. include:: ../../../common.defs + +.. default-domain:: c + +TSHttpTxnResponseActionGet +** + +Synopsis + + +.. code-block:: cpp + +#include + +.. function:: void TSHttpTxnResponseActionGet(TSHttpTxn txnp, TSResponseAction *action) + +Description +=== + +Gets the ResponseAction set by a plugin. + +The action is an out-param and must point to a valid location + +The returned action.hostname must not be modified, and is owned by some plugi +n if not null. + +The action members will always be zero, if no plugin has called TSHttpTxnResp +onseActionSet. diff --git a/doc/developer-guide/api/functions/TSHttpTxnResponseActionSet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnResponseActionSet.en.rst new file mode 100644 index 00..e7d426ea52 --- /dev/null +++ b/doc/developer-guide/api/functions/TSHttpTxnResponseActionSet.en.rst @@ -0,0 +1,48 @@ +.. Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright + ownership. The ASF licenses this file to you under the Apache + License, Version 2.0 (the "License"); you may not use this file + except in compliance with the License. You may obtain a copy of + the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + +.. include:: ../../../common.defs + +.. default-domain:: c + +TSHttpTxnResponseActionSet +** + +Synopsis + + +.. code-block:: cpp + +#include + +.. function:: void TSHttpTxnResponseActionSet(TSHttpTxn txnp, TSResponseAction *action) + +Description +=== + +Takes a ResponseAction and sets it as the behavior for finding the +next parent. + +Be aware ATS will never change this outside a plugin. +Therefore, plugins which set the ResponseAction to retry +must also un-set it after the subsequent success or failure, +or ATS will retry forever! + +The passed *action must not be null, and is copied and may be +destroyed after this call returns. + +Callers must maintain owernship of action.hostname, +and its lifetime must exceed the transaction. diff --git a/include/proxy/http/HttpTransact.h b/include/proxy/http/HttpTransact.h index c089dde2ce..d4029eabb8 100644 --- a/include/proxy
(trafficserver) branch master updated: fix race condition with session thread migration (#10897)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 94f366de20 fix race condition with session thread migration (#10897) 94f366de20 is described below commit 94f366de200d9dab31e3755a188a5e6290b1ade2 Author: Brian Olsen AuthorDate: Thu Feb 1 09:03:40 2024 -0700 fix race condition with session thread migration (#10897) * fix race condition with session thread migration * document why event_loop could be null * do less work if per thread session pool * remove extra unecessasry do_io_write call in critical section --- src/iocore/net/EventIO.cc| 12 ++- src/iocore/net/UnixNetVConnection.cc | 6 -- src/proxy/http/HttpSessionManager.cc | 154 ++- 3 files changed, 90 insertions(+), 82 deletions(-) diff --git a/src/iocore/net/EventIO.cc b/src/iocore/net/EventIO.cc index 0ec7ff2078..29c9aefcd0 100644 --- a/src/iocore/net/EventIO.cc +++ b/src/iocore/net/EventIO.cc @@ -64,7 +64,11 @@ EventIO::modify(int e) return 0; } - ink_assert(event_loop); + // Session migration may result in this condition. + if (nullptr == event_loop) { +return 1; + } + #if TS_USE_EPOLL && !defined(USE_EDGE_TRIGGER) struct epoll_event ev; memset(, 0, sizeof(ev)); @@ -117,7 +121,11 @@ EventIO::refresh(int e) return 0; } - ink_assert(event_loop); + // Session migration may result in this condition. + if (nullptr == event_loop) { +return 1; + } + #if TS_USE_KQUEUE && defined(USE_EDGE_TRIGGER) e = e & events; struct kevent ev[2]; diff --git a/src/iocore/net/UnixNetVConnection.cc b/src/iocore/net/UnixNetVConnection.cc index cc5bc933ee..8cec52fd4a 100644 --- a/src/iocore/net/UnixNetVConnection.cc +++ b/src/iocore/net/UnixNetVConnection.cc @@ -1373,12 +1373,6 @@ UnixNetVConnection::migrateToCurrentThread(Continuation *cont, EThread *t) void *arg = this->_prepareForMigration(); - // Do_io_close will signal the VC to be freed on the original thread - // Since we moved the con context, the fd will not be closed - // Go ahead and remove the fd from the original thread's epoll structure, so it is not - // processed on two threads simultaneously - this->ep.stop(); - // Create new VC: UnixNetVConnection *newvc = static_cast(this->_getNetProcessor()->allocate_vc(t)); ink_assert(newvc != nullptr); diff --git a/src/proxy/http/HttpSessionManager.cc b/src/proxy/http/HttpSessionManager.cc index 9bb015053e..8c821775b5 100644 --- a/src/proxy/http/HttpSessionManager.cc +++ b/src/proxy/http/HttpSessionManager.cc @@ -146,57 +146,58 @@ ServerSessionPool::acquireSession(sockaddr const *addr, CryptoHash const HSMresult_t zret = HSM_NOT_FOUND; to_return= nullptr; + // first section, match against fqdn/port if ((TS_SERVER_SESSION_SHARING_MATCH_MASK_HOSTONLY & match_style) && !(TS_SERVER_SESSION_SHARING_MATCH_MASK_IP & match_style)) { Debug("http_ss", "Search for host name only not IP. Pool size %zu", m_fqdn_pool.count()); // This is broken out because only in this case do we check the host hash first. The range must be checked // to verify an upstream that matches port and SNI name is selected. Walk backwards to select oldest. -in_port_t port = ats_ip_port_cast(addr); -auto first = m_fqdn_pool.find(hostname_hash); -while (first != m_fqdn_pool.end() && first->hostname_hash == hostname_hash) { - Debug("http_ss", "Compare port 0x%x against 0x%x", port, ats_ip_port_cast(first->get_remote_addr())); - if (port == ats_ip_port_cast(first->get_remote_addr()) && - (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_SNI) || validate_sni(sm, first->get_netvc())) && - (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_HOSTSNISYNC) || validate_host_sni(sm, first->get_netvc())) && - (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_CERT) || validate_cert(sm, first->get_netvc( { -zret = HSM_DONE; +in_port_t const port = ats_ip_port_cast(addr); +auto iter= m_fqdn_pool.find(hostname_hash); +while (iter != m_fqdn_pool.end() && iter->hostname_hash == hostname_hash) { + Debug("http_ss", "Compare port 0x%x against 0x%x", port, ats_ip_port_cast(iter->get_remote_addr())); + if (port == ats_ip_port_cast(iter->get_remote_addr()) && + (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_SNI) || validate_sni(sm, iter->get_netvc())) && + (!(match_style & TS_SERVER_SESSION_SHARING_MATCH_MASK_HOSTSNISYNC) || validate_host_sni(sm, iter-&
(trafficserver) branch master updated: restore IntrusiveHashMap insert code to tscore (#10992)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new dc8d761352 restore IntrusiveHashMap insert code to tscore (#10992) dc8d761352 is described below commit dc8d761352ef6aecb106d4b160d2583a5591d36e Author: Brian Olsen AuthorDate: Wed Jan 24 10:55:43 2024 -0700 restore IntrusiveHashMap insert code to tscore (#10992) --- lib/swoc/include/swoc/IntrusiveHashMap.h | 9 - 1 file changed, 9 deletions(-) diff --git a/lib/swoc/include/swoc/IntrusiveHashMap.h b/lib/swoc/include/swoc/IntrusiveHashMap.h index 4bbe3b6361..201f093e71 100644 --- a/lib/swoc/include/swoc/IntrusiveHashMap.h +++ b/lib/swoc/include/swoc/IntrusiveHashMap.h @@ -514,15 +514,6 @@ IntrusiveHashMap::insert(value_type *v) { if (spot != bucket->_v) { mixed_p = true; // found some other key, it's going to be mixed. } -if (spot != limit) { - // If an equal key was found, walk past those to insert at the upper end of the range. - do { -spot = H::next_ptr(spot); - } while (spot != limit && H::equal(key, H::key_of(spot))); - if (spot != limit) { // something not equal past last equivalent, it's going to be mixed. -mixed_p = true; - } -} _list.insert_before(spot, v); if (spot == bucket->_v) { // added before the bucket start, update the start.
(trafficserver) branch master updated: move session pool metrics calls outside critical section (#10996)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new e964cb73e3 move session pool metrics calls outside critical section (#10996) e964cb73e3 is described below commit e964cb73e33fc19a9b758e816923b6f3b32cb574 Author: Brian Olsen AuthorDate: Tue Jan 23 09:28:32 2024 -0700 move session pool metrics calls outside critical section (#10996) --- src/proxy/http/HttpSessionManager.cc | 49 ++-- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/src/proxy/http/HttpSessionManager.cc b/src/proxy/http/HttpSessionManager.cc index 9f4a28e4e9..9bb015053e 100644 --- a/src/proxy/http/HttpSessionManager.cc +++ b/src/proxy/http/HttpSessionManager.cc @@ -419,6 +419,7 @@ HttpSessionManager::_acquire_session(sockaddr const *ip, CryptoHash const { PoolableSession *to_return = nullptr; HSMresult_t retval = HSM_NOT_FOUND; + bool acquired = false; // Extend the mutex window until the acquired Server session is attached // to the SM. Releasing the mutex before that results in race conditions @@ -435,10 +436,12 @@ HttpSessionManager::_acquire_session(sockaddr const *ip, CryptoHash const if (locked) { if (TS_SERVER_SESSION_SHARING_POOL_THREAD == pool_type) { -retval = ethread->server_session_pool->acquireSession(ip, hostname_hash, match_style, sm, to_return); +retval = ethread->server_session_pool->acquireSession(ip, hostname_hash, match_style, sm, to_return); +acquired = (HSM_DONE == retval); Debug("http_ss", "[acquire session] thread pool search %s", to_return ? "successful" : "failed"); } else { -retval = m_g_pool->acquireSession(ip, hostname_hash, match_style, sm, to_return); +retval = m_g_pool->acquireSession(ip, hostname_hash, match_style, sm, to_return); +acquired = (HSM_DONE == retval); Debug("http_ss", "[acquire session] global pool search %s", to_return ? "successful" : "failed"); // At this point to_return has been removed from the pool. Do we need to move it // to the same thread? @@ -491,6 +494,11 @@ HttpSessionManager::_acquire_session(sockaddr const *ip, CryptoHash const } } } + + if (acquired) { +Metrics::Gauge::decrement(http_rsb.pooled_server_connections); + } + return retval; } @@ -504,20 +512,26 @@ HttpSessionManager::release_session(PoolableSession *to_release) // The per thread lock looks like it should not be needed but if it's not locked the close checking I/O op will crash. - MutexLock mlock; - MutexTryLock tlock; - bool const locked = lockSessionPool(pool->mutex, ethread, this->get_pool_type(), , ); + { +MutexLock mlock; +MutexTryLock tlock; +bool const locked = lockSessionPool(pool->mutex, ethread, this->get_pool_type(), , ); - if (locked) { -pool->releaseSession(to_release); - } else if (this->get_pool_type() == TS_SERVER_SESSION_SHARING_POOL_HYBRID) { -// Try again with the thread pool -to_release->sharing_pool = TS_SERVER_SESSION_SHARING_POOL_THREAD; -return release_session(to_release); - } else { -Debug("http_ss", "[%" PRId64 "] [release session] could not release session due to lock contention", - to_release->connection_id()); -released_p = false; +if (locked) { + pool->releaseSession(to_release); +} else if (this->get_pool_type() == TS_SERVER_SESSION_SHARING_POOL_HYBRID) { + // Try again with the thread pool + to_release->sharing_pool = TS_SERVER_SESSION_SHARING_POOL_THREAD; + return release_session(to_release); +} else { + Debug("http_ss", "[%" PRId64 "] [release session] could not release session due to lock contention", +to_release->connection_id()); + released_p = false; +} + } + + if (released_p) { +Metrics::Gauge::increment(http_rsb.pooled_server_connections); } return released_p ? HSM_DONE : HSM_RETRY; @@ -535,9 +549,7 @@ ServerSessionPool::removeSession(PoolableSession *to_remove) m_ip_pool.count()); } m_fqdn_pool.erase(to_remove); - if (m_ip_pool.erase(to_remove)) { -Metrics::Gauge::decrement(http_rsb.pooled_server_connections); - } + m_ip_pool.erase(to_remove); if (is_debug_tag_set("http_ss")) { Debug("http_ss", "After Remove session %p m_fqdn_pool size=%zu m_ip_pool_size=%zu", to_remove, m_fqdn_pool.count(), m_ip_pool.count()); @@ -552,7 +564,6 @@ ServerSessionPool::addSession(PoolableSession *ss) // put it in the pools. m_ip_pool.insert(ss); m_fqdn_pool.insert(ss); - Metrics::Gauge::increment(http_rsb.pooled_server_connections); if (is_debug_tag_set("http_ss")) { char peer_ip[INET6_ADDRPORTSTRLEN];
(trafficserver) branch master updated: cmake/Findluajit: don't require luajit_LIBRARY_DIRS for rockylinux builds (#10977)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 65042e7086 cmake/Findluajit: don't require luajit_LIBRARY_DIRS for rockylinux builds (#10977) 65042e7086 is described below commit 65042e7086a347792ffaea8273b8bc3eb0f8ed62 Author: Brian Olsen AuthorDate: Tue Jan 9 11:02:31 2024 -0700 cmake/Findluajit: don't require luajit_LIBRARY_DIRS for rockylinux builds (#10977) --- cmake/Findluajit.cmake | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake/Findluajit.cmake b/cmake/Findluajit.cmake index 9af2126efc..7ca7969b9f 100644 --- a/cmake/Findluajit.cmake +++ b/cmake/Findluajit.cmake @@ -32,7 +32,7 @@ pkg_check_modules(luajit luajit) include(FindPackageHandleStandardArgs) find_package_handle_standard_args( luajit - REQUIRED_VARS luajit_INCLUDE_DIRS luajit_LINK_LIBRARIES luajit_LIBRARIES luajit_LIBRARY_DIRS + REQUIRED_VARS luajit_INCLUDE_DIRS luajit_LINK_LIBRARIES luajit_LIBRARIES HANDLE_COMPONENTS ) @@ -43,6 +43,8 @@ endif() if(luajit_FOUND AND NOT TARGET luajit::luajit) add_library(luajit::luajit INTERFACE IMPORTED) target_include_directories(luajit::luajit INTERFACE ${luajit_INCLUDE_DIRS}) - target_link_directories(luajit::luajit INTERFACE ${luajit_LIBRARY_DIRS}) + if(luajit_LIBRARY_DIRS) +target_link_directories(luajit::luajit INTERFACE ${luajit_LIBRARY_DIRS}) + endif() target_link_libraries(luajit::luajit INTERFACE ${luajit_LIBRARIES}) endif()
(trafficserver) branch 9.2.x updated: add stdint.h included needed by rocky9 clang16 (#10962)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch 9.2.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.2.x by this push: new 1b4607d2ce add stdint.h included needed by rocky9 clang16 (#10962) 1b4607d2ce is described below commit 1b4607d2cee4e1ac72edd52296309144047d020a Author: Brian Olsen AuthorDate: Thu Jan 4 13:44:21 2024 -0700 add stdint.h included needed by rocky9 clang16 (#10962) --- include/tscore/ink_file.h | 4 1 file changed, 4 insertions(+) diff --git a/include/tscore/ink_file.h b/include/tscore/ink_file.h index 6cb656f458..8b6d62ab54 100644 --- a/include/tscore/ink_file.h +++ b/include/tscore/ink_file.h @@ -50,6 +50,10 @@ #include #endif +#ifdef HAVE_STDINT_H +#include // NOLINT(modernize-deprecated-headers) +#endif + /*===* Function Prototypes
(trafficserver-ci) branch main updated: reinstall openssl-devel at the end for older branch builds (#310)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 0eb1e50 reinstall openssl-devel at the end for older branch builds (#310) 0eb1e50 is described below commit 0eb1e50db83dfe45e58bee12bc1d29f2683d3d4a Author: Brian Olsen AuthorDate: Thu Jan 4 08:55:38 2024 -0700 reinstall openssl-devel at the end for older branch builds (#310) --- docker/rockylinux9/Dockerfile | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docker/rockylinux9/Dockerfile b/docker/rockylinux9/Dockerfile index 3209387..f2ac436 100644 --- a/docker/rockylinux9/Dockerfile +++ b/docker/rockylinux9/Dockerfile @@ -118,7 +118,7 @@ RUN <
(trafficserver-ci) branch main updated: remove override CMakePresets.json (#309)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new fae1fff remove override CMakePresets.json (#309) fae1fff is described below commit fae1fff4900dcf4de0244b45a20cc655eb404164 Author: Brian Olsen AuthorDate: Tue Dec 19 08:10:34 2023 -0700 remove override CMakePresets.json (#309) --- jenkins/branch/CMakePresets.json | 383 --- 1 file changed, 383 deletions(-) diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json deleted file mode 100644 index ff50df2..000 --- a/jenkins/branch/CMakePresets.json +++ /dev/null @@ -1,383 +0,0 @@ -{ - "version": 2, - "cmakeMinimumRequired": { -"major": 3, -"minor": 20, -"patch": 0 - }, - "configurePresets": [ -{ - "name": "default", - "displayName": "Default build with ninja", - "description": "Default build using Ninja generator", - "generator": "Ninja", - "binaryDir": "${sourceDir}/build-default", - "cacheVariables": { -"CMAKE_BUILD_TYPE": "Debug", -"CMAKE_COMPILE_WARNING_AS_ERROR": "ON" - } -}, -{ - "name": "layout-defaults", - "displayName": "Default install layout paths template", - "hidden": true, - "cacheVariables": { -"CMAKE_INSTALL_BINDIR": "bin", -"CMAKE_INSTALL_SBINDIR": "bin", -"CMAKE_INSTALL_LIBDIR": "lib", -"CMAKE_INSTALL_SYSCONFDIR": "etc/trafficserver", -"CMAKE_INSTALL_DATADIR": "share/trafficserver", -"CMAKE_INSTALL_INCLUDEDIR": "include", -"CMAKE_INSTALL_LIBEXECDIR": "libexec/trafficserver", -"CMAKE_INSTALL_RUNSTATEDIR": "var/trafficserver", -"CMAKE_INSTALL_INFODIR": "share/info", -"CMAKE_INSTALL_MANDIR": "share/man", -"CMAKE_INSTALL_LOGDIR": "var/log/trafficserver", -"CMAKE_INSTALL_CACHEDIR": "var/trafficserver" - } -}, -{ - "name": "release", - "displayName": "Release build", - "description": "Release build with Ninja generator", - "generator": "Ninja", - "binaryDir": "${sourceDir}/build-release", - "cacheVariables": { -"CMAKE_BUILD_TYPE": "Release", -"CMAKE_COMPILE_WARNING_AS_ERROR": "OFF", -"CMAKE_INSTALL_PREFIX": "/opt/ats", -"BUILD_EXPERIMENTAL_PLUGINS": "ON" - } -}, -{ - "name": "autest", - "inherits": ["default"], - "binaryDir": "${sourceDir}/build-autest", - "cacheVariables": { -"ENABLE_AUTEST": "ON", -"CMAKE_INSTALL_PREFIX": "/tmp/ts-autest", -"BUILD_EXPERIMENTAL_PLUGINS": "ON", -"ENABLE_EXAMPLE": "ON" - } -}, -{ - "name": "dev", - "displayName": "development", - "description": "Development Presets", - "inherits": ["default"], - "binaryDir": "${sourceDir}/build-${presetName}", - "generator": "Ninja", - "cacheVariables": { -"CMAKE_COLOR_DIAGNOSTICS": "ON", -"CMAKE_EXPORT_COMPILE_COMMANDS": "ON", -"CMAKE_INSTALL_PREFIX": "/tmp/ats-dev" - } -}, -{ - "name": "asan", - "hidden": true, - "cacheVariables": { -"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address,undefined", -"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address,undefined" - } -}, -{ - "name": "hardened", - "hidden": true, - "cacheVariables": { -"CMAKE_CXX_FLAGS": "-D_FORTIFY_SOURCE=2 -fPIE -fstack-protector", -"CMAKE_EXE_LINKER_FLAGS": "-pie -Wl,-z,relro -Wl,-z,now" - } -}, -{ - "name": "dev-asan", - "displayName&q
(trafficserver) branch master updated (05113dc903 -> 822f571ab1)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 05113dc903 clear up plugin string usage ambiguities (#10942) add 822f571ab1 add branch- presets into CMakePresets.json (#10943) No new revisions were added by this update. Summary of changes: CMakePresets.json | 149 +- 1 file changed, 148 insertions(+), 1 deletion(-)
(trafficserver) branch master updated (a34df6e214 -> 05113dc903)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from a34df6e214 Arena: Avoid use of temporary. (#10941) add 05113dc903 clear up plugin string usage ambiguities (#10942) No new revisions were added by this update. Summary of changes: plugins/cachekey/cachekey.cc | 2 +- plugins/experimental/rate_limit/limiter.h| 9 ++--- plugins/experimental/rate_limit/utilities.cc | 3 ++- plugins/prefetch/evaluate.cc | 2 +- plugins/traffic_dump/json_utils.cc | 6 +++--- plugins/traffic_dump/session_data.cc | 4 ++-- plugins/traffic_dump/transaction_data.cc | 2 +- 7 files changed, 16 insertions(+), 12 deletions(-)
(trafficserver-ci) branch main updated: change correct preset asan for branch (#308)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new be07084 change correct preset asan for branch (#308) be07084 is described below commit be07084cef03530f88d58a4017ee1604cb0849e8 Author: Brian Olsen AuthorDate: Mon Dec 18 07:24:58 2023 -0700 change correct preset asan for branch (#308) --- jenkins/branch/CMakePresets.json | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index e060d22..ff50df2 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -77,8 +77,8 @@ "name": "asan", "hidden": true, "cacheVariables": { -"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address", -"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address" +"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address,undefined", +"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address,undefined" } }, { @@ -252,8 +252,8 @@ "description": "Inherit to enable asan, build feature", "hidden": true, "cacheVariables": { -"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address,undefined", -"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address,undefined" +"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address", +"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address" } }, {
(trafficserver-ci) branch main updated: remove undefined from branch asan (#307)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 01bdcd3 remove undefined from branch asan (#307) 01bdcd3 is described below commit 01bdcd35c5f23c0991e89551134763748fc5eea8 Author: Brian Olsen AuthorDate: Mon Dec 18 07:13:10 2023 -0700 remove undefined from branch asan (#307) --- jenkins/branch/CMakePresets.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index fe40b88..e060d22 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -77,8 +77,8 @@ "name": "asan", "hidden": true, "cacheVariables": { -"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address,undefined", -"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address,undefined" +"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address", +"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address" } }, {
(trafficserver-ci) branch main updated: osx/freebsd: check out trafficserver-ci (#306)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 2594b7b osx/freebsd: check out trafficserver-ci (#306) 2594b7b is described below commit 2594b7b5c13bbb0046722f9ecfb9c769ec73dca6 Author: Brian Olsen AuthorDate: Wed Dec 13 07:38:59 2023 -0700 osx/freebsd: check out trafficserver-ci (#306) --- jenkins/branch/freebsd.pipeline | 7 ++- jenkins/branch/osx-m1.pipeline | 5 + jenkins/branch/osx.pipeline | 5 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/jenkins/branch/freebsd.pipeline b/jenkins/branch/freebsd.pipeline index 415482d..2cad8d0 100644 --- a/jenkins/branch/freebsd.pipeline +++ b/jenkins/branch/freebsd.pipeline @@ -3,6 +3,11 @@ pipeline { stages { stage('Clone') { steps { + echo 'Starting Clone' + dir('ci') { + git url: 'https://github.com/apache/trafficserver-ci', + branch: 'main' + } dir('src') { script { String branch = env.SHA1 @@ -28,7 +33,7 @@ pipeline { set -x set -e - NPROC=$(nproc) + NPROC=3 if [ -d cmake ] then diff --git a/jenkins/branch/osx-m1.pipeline b/jenkins/branch/osx-m1.pipeline index 07764a9..01d7c7d 100644 --- a/jenkins/branch/osx-m1.pipeline +++ b/jenkins/branch/osx-m1.pipeline @@ -3,6 +3,11 @@ pipeline { stages { stage('Clone') { steps { + echo 'Starting Clone' + dir('ci') { + git url: 'https://github.com/apache/trafficserver-ci', + branch: 'main' + } dir('src') { script { String branch = env.SHA1 diff --git a/jenkins/branch/osx.pipeline b/jenkins/branch/osx.pipeline index bff0f65..4d68f0c 100644 --- a/jenkins/branch/osx.pipeline +++ b/jenkins/branch/osx.pipeline @@ -3,6 +3,11 @@ pipeline { stages { stage('Clone') { steps { + echo 'Starting Clone' + dir('ci') { + git url: 'https://github.com/apache/trafficserver-ci', + branch: 'main' + } dir('src') { script { String branch = env.SHA1
(trafficserver-ci) branch main updated: add check for override cmake presets, clean up nproc (#305)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new c5ea065 add check for override cmake presets, clean up nproc (#305) c5ea065 is described below commit c5ea065c7cd730e9228a3eb5e0b8ffd40f67c7af Author: Brian Olsen AuthorDate: Wed Dec 13 07:18:15 2023 -0700 add check for override cmake presets, clean up nproc (#305) --- jenkins/bin/clang-analyzer.sh | 3 +++ jenkins/bin/cmake_basic.sh | 22 ++ jenkins/bin/format.sh | 12 ++-- jenkins/branch/autest.pipeline | 6 -- jenkins/branch/cache-tests.pipeline | 9 + jenkins/branch/coverage.pipeline| 10 ++ jenkins/branch/coverity.pipeline| 11 +-- jenkins/branch/freebsd.pipeline | 13 +++-- jenkins/branch/osx-m1.pipeline | 16 jenkins/branch/osx.pipeline | 13 +++-- 10 files changed, 81 insertions(+), 34 deletions(-) diff --git a/jenkins/bin/clang-analyzer.sh b/jenkins/bin/clang-analyzer.sh index 2ee684a..5a45ed7 100755 --- a/jenkins/bin/clang-analyzer.sh +++ b/jenkins/bin/clang-analyzer.sh @@ -34,6 +34,7 @@ mkdir -p ${RPTDIR} if [ -d cmake ] then + echo "Building with CMake" # copy in CMakePresets.json presetpath="${WORKSPACE}/ci/jenkins/branch/CMakePresets.json" @@ -55,6 +56,8 @@ then --html-title="clang-analyzer: ${GITHUB_BRANCH}" else + echo "Building with autotools" + autoreconf -fiv ${SCAN_BUILD} --keep-cc \ ./configure --enable-experimental-plugins --with-luajit diff --git a/jenkins/bin/cmake_basic.sh b/jenkins/bin/cmake_basic.sh index 7da0935..2d9e33b 100755 --- a/jenkins/bin/cmake_basic.sh +++ b/jenkins/bin/cmake_basic.sh @@ -20,7 +20,7 @@ set -x -NPROC=`nproc` +NPROC=$(nproc) if [ ! -d cmake ] then @@ -30,17 +30,15 @@ fi cd "${WORKSPACE}/src" -cmake -B cmake-build-release\ - -GNinja \ - -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_EXPERIMENTAL_PLUGINS=ON \ - -DCMAKE_INSTALL_PREFIX=/tmp/ats -# -DOPENSSL_ROOT_DIR=/opt/openssl-quic -cmake --build cmake-build-release -j${NPROC} -v -cmake --install cmake-build-release - -pushd cmake-build-release +# copy in CMakePresets.json +presetpath="${WORKSPACE}/ci/jenkins/branch/CMakePresets.json" +[ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . + +cmake -B build --preset=branch-release +cmake --build build -j${NPROC} -v +cmake --install build + +pushd build ctest -j${NPROC} --output-on-failure --no-compress-output -T Test /tmp/ats/bin/traffic_server -K -k -R 1 popd diff --git a/jenkins/bin/format.sh b/jenkins/bin/format.sh index 716bfd4..0aef7f4 100755 --- a/jenkins/bin/format.sh +++ b/jenkins/bin/format.sh @@ -43,13 +43,21 @@ echo "Success! No DOS carriage return" set -x +NPROC=$(nproc) + if [ -d cmake ] then + echo "Building with CMake" + + presetpath="${WORKSPACE}/ci/jenkins/branch/CMakePresets.json" + [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . - cmake -B build - cmake --build build --target format -j`nproc` -v || exit 1 + cmake -B build --preset=branch + cmake --build build --target format -j${NPROC} -v || exit 1 else + echo "Building with autotools" + autoreconf -if ./configure diff --git a/jenkins/branch/autest.pipeline b/jenkins/branch/autest.pipeline index 3b033ff..31be194 100644 --- a/jenkins/branch/autest.pipeline +++ b/jenkins/branch/autest.pipeline @@ -87,6 +87,8 @@ pipeline { # depend upon this, so update the PATH accordingly. export PATH=/opt/bin:${PATH} + NPROC=$(nproc) + if [ -d cmake ] then echo "Building with CMake" @@ -95,7 +97,7 @@ pipeline { [ -f "${presetpath}" ] && cp -f "${presetpath}" . cmake -B build --preset branch-autest - cmake --build build -j`nproc` -v + cmake --build build -j${NPROC} -v cmake --install build -v else @@ -113,7 +115,7 @@ pipeline { --enable-wccp \
(trafficserver-ci) branch main updated: Branch pipelines other (#304)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 8fb7185 Branch pipelines other (#304) 8fb7185 is described below commit 8fb718552f195f8e9049ee89a6f7bd97699f9f62 Author: Brian Olsen AuthorDate: Wed Dec 13 06:43:22 2023 -0700 Branch pipelines other (#304) * fix pipelines for branch- prefix * update pipelines with branch- presets --- jenkins/branch/CMakePresets.json | 38 ++ jenkins/branch/autest.pipeline | 2 +- jenkins/branch/freebsd.pipeline | 4 +--- jenkins/branch/osx-m1.pipeline | 12 +--- jenkins/branch/osx.pipeline | 13 + 5 files changed, 42 insertions(+), 27 deletions(-) diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index 5499c8b..fe40b88 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -229,12 +229,7 @@ "displayName": "CI branch defaults", "inherits": ["ci"], "binaryDir": "${sourceDir}/build", - "generator": "Unix Makefiles", - "cacheVariables": { -"CMAKE_BUILD_TYPE": "Debug", -"CMAKE_INSTALL_PREFIX": "/tmp/ats", -"BUILD_EXPERIMENTAL_PLUGINS": "ON" - } + "generator": "Unix Makefiles" }, { "name": "branch-release", @@ -257,8 +252,8 @@ "description": "Inherit to enable asan, build feature", "hidden": true, "cacheVariables": { -"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address", -"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address" +"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address,undefined", +"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address,undefined" } }, { @@ -316,6 +311,33 @@ "ENABLE_EXAMPLE": "ON" } }, +{ + "name": "branch-freebsd", + "displayName": "CI branch freebsd", + "description": "Defaults for branch freebsd builds", + "inherits": ["branch"], + "generator": "Unix Makefiles" +}, +{ + "name": "branch-osx", + "displayName": "CI branch OSX", + "description": "Defaults for branch osx builds", + "inherits": ["branch"], + "generator": "Unix Makefiles", + "cacheVariables": { +"OPENSSL_ROOT_DIR": "/usr/local/opt/openssl" + } +}, +{ + "name": "branch-osx-m1", + "displayName": "CI branch OSX m1", + "description": "Defaults for branch osx-m1 builds", + "inherits": ["branch"], + "generator": "Unix Makefiles", + "cacheVariables": { +"OPENSSL_ROOT_DIR": "/opt/homebrew/opt/openssl" + } +}, { "name": "branch-clang-analyzer", "displayName": "CI branch clang analyzer", diff --git a/jenkins/branch/autest.pipeline b/jenkins/branch/autest.pipeline index 4aa9ca9..3b033ff 100644 --- a/jenkins/branch/autest.pipeline +++ b/jenkins/branch/autest.pipeline @@ -94,7 +94,7 @@ pipeline { presetpath="../ci/jenkins/branch/CMakePresets.json" [ -f "${presetpath}" ] && cp -f "${presetpath}" . - cmake -B build --preset autest + cmake -B build --preset branch-autest cmake --build build -j`nproc` -v cmake --install build -v diff --git a/jenkins/branch/freebsd.pipeline b/jenkins/branch/freebsd.pipeline index 4e75457..1344880 100644 --- a/jenkins/branch/freebsd.pipeline +++ b/jenkins/branch/freebsd.pipeline @@ -30,9 +30,7 @@ pipeline { if [ -d cmake ] then - cmake -B build \ - -DBUILD_EXPERIMENTAL_PLUGINS=ON \ -
(trafficserver-ci) branch main updated: fix pipelines for branch- prefix (#303)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new b157c74 fix pipelines for branch- prefix (#303) b157c74 is described below commit b157c74968097d0f4623f972e4f18ece7c3edf41 Author: Brian Olsen AuthorDate: Wed Dec 13 06:09:29 2023 -0700 fix pipelines for branch- prefix (#303) --- jenkins/branch/coverage.pipeline | 2 +- jenkins/branch/coverity.pipeline | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jenkins/branch/coverage.pipeline b/jenkins/branch/coverage.pipeline index 9b7adfc..1346935 100644 --- a/jenkins/branch/coverage.pipeline +++ b/jenkins/branch/coverage.pipeline @@ -87,7 +87,7 @@ pipeline { presetpath="../ci/jenkins/branch/CMakePresets.json" [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . - cmake -B build --preset coverage -DCMAKE_INSTALL_PREFIX="/tmp/ats" + cmake -B build --preset branch-coverage -DCMAKE_INSTALL_PREFIX="/tmp/ats" cmake --build build -j`nproc` -v cmake --install build -v diff --git a/jenkins/branch/coverity.pipeline b/jenkins/branch/coverity.pipeline index 3fa096f..5e72cf6 100644 --- a/jenkins/branch/coverity.pipeline +++ b/jenkins/branch/coverity.pipeline @@ -42,7 +42,7 @@ pipeline { then presetpath="../ci/jenkins/branch/CMakePresets.json" [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . - cmake -B build --preset coverity + cmake -B build --preset branch-coverity pushd build ../cov_tools/bin/cov-build --dir ../cov-int make -j`nproc` popd
(trafficserver-ci) branch main updated: add missing comma from cmakepresets.json (#302)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 2fd2244 add missing comma from cmakepresets.json (#302) 2fd2244 is described below commit 2fd2244e6ceb911e0934f67e34e2d4a04cd238c8 Author: Brian Olsen AuthorDate: Tue Dec 12 13:54:40 2023 -0700 add missing comma from cmakepresets.json (#302) --- jenkins/branch/CMakePresets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index cc0280b..5499c8b 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -231,7 +231,7 @@ "binaryDir": "${sourceDir}/build", "generator": "Unix Makefiles", "cacheVariables": { -"CMAKE_BUILD_TYPE": "Debug" +"CMAKE_BUILD_TYPE": "Debug", "CMAKE_INSTALL_PREFIX": "/tmp/ats", "BUILD_EXPERIMENTAL_PLUGINS": "ON" }
(trafficserver-ci) branch main updated: add missing branch-clang-analyzer preset (#301)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 59d3dfe add missing branch-clang-analyzer preset (#301) 59d3dfe is described below commit 59d3dfe65b1dbbd5f2d73a27262894f81166c438 Author: Brian Olsen AuthorDate: Tue Dec 12 13:44:11 2023 -0700 add missing branch-clang-analyzer preset (#301) --- jenkins/branch/CMakePresets.json | 13 + 1 file changed, 13 insertions(+) diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index 14ea097..cc0280b 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -231,6 +231,7 @@ "binaryDir": "${sourceDir}/build", "generator": "Unix Makefiles", "cacheVariables": { +"CMAKE_BUILD_TYPE": "Debug" "CMAKE_INSTALL_PREFIX": "/tmp/ats", "BUILD_EXPERIMENTAL_PLUGINS": "ON" } @@ -315,6 +316,18 @@ "ENABLE_EXAMPLE": "ON" } }, +{ + "name": "branch-clang-analyzer", + "displayName": "CI branch clang analyzer", + "description": "Defaults for branch clang analyzer builds", + "inherits": ["branch"], + "cacheVariables": { +"CMAKE_EXPORT_COMPILE_COMMANDS": "ON", +"ENABLE_CCACHE": "OFF", +"ENABLE_EXAMPLE": "OFF", +"BUILD_TESTING": "OFF" + } +}, { "name": "branch-coverity", "displayName": "CI branch coverity",
(trafficserver-ci) branch main updated: branch builds to generate makefiles by default for compatibility (#300)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 2a3d395 branch builds to generate makefiles by default for compatibility (#300) 2a3d395 is described below commit 2a3d3953fc2800d65ca0a92fc770f0fe0c4ffbd4 Author: Brian Olsen AuthorDate: Tue Dec 12 13:17:41 2023 -0700 branch builds to generate makefiles by default for compatibility (#300) --- jenkins/branch/CMakePresets.json | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index 6cbd394..14ea097 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -229,6 +229,7 @@ "displayName": "CI branch defaults", "inherits": ["ci"], "binaryDir": "${sourceDir}/build", + "generator": "Unix Makefiles", "cacheVariables": { "CMAKE_INSTALL_PREFIX": "/tmp/ats", "BUILD_EXPERIMENTAL_PLUGINS": "ON" @@ -316,9 +317,8 @@ }, { "name": "branch-coverity", - "displayName": "CI Branch coverity", - "description": "Defaults for coverity builds", - "generator": "Unix Makefiles", + "displayName": "CI branch coverity", + "description": "Defaults for branch coverity builds", "inherits": ["branch"], "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", @@ -328,7 +328,7 @@ }, { "name": "branch-coverage", - "displayName": "CI Branch coverage", + "displayName": "CI branch coverage", "description": "Defaults for branch coverage builds", "inherits": ["branch-autest"], "cacheVariables": {
(trafficserver-ci) branch main updated: Cmake branch prefix (#299)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 3589415 Cmake branch prefix (#299) 3589415 is described below commit 3589415cd7e3e5a3466162863a8f8b336e742af7 Author: Brian Olsen AuthorDate: Tue Dec 12 12:40:34 2023 -0700 Cmake branch prefix (#299) * prepend branch build cmake presets with branch- * move release/debug inherits to front --- jenkins/bin/clang-analyzer.sh| 2 +- jenkins/bin/cmake.sh | 28 ++-- jenkins/bin/quiche.sh| 2 +- jenkins/branch/CMakePresets.json | 301 +-- 4 files changed, 268 insertions(+), 65 deletions(-) diff --git a/jenkins/bin/clang-analyzer.sh b/jenkins/bin/clang-analyzer.sh index c6c8e2f..2ee684a 100755 --- a/jenkins/bin/clang-analyzer.sh +++ b/jenkins/bin/clang-analyzer.sh @@ -39,7 +39,7 @@ then presetpath="${WORKSPACE}/ci/jenkins/branch/CMakePresets.json" [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . - cmake -B builddir --preset clang-analyzer + cmake -B builddir --preset branch-clang-analyzer cmake --build builddir -v ${ANAL_BUILD} \ diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index d4824ce..a689336 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -20,15 +20,6 @@ set -x -# join function -join() { - local separator="$1" - shift - local first="$1" - shift - printf "%s" "$first" "${@/#/$separator}" -} - NPROC=$(nproc) if [ ! -d cmake ] @@ -49,23 +40,28 @@ then fi FEATURES="${FEATURES:=""}" -[ -n "${FEATURES}" ] && FEATURES="${FEATURES} ${btype}" +[ -n "${FEATURES}" ] && FEATURES="${btype} ${FEATURES}" [ -z "${FEATURES}" ] && FEATURES="${btype}" # build CMakeUserPresets.json -# split -IFS=' ' read -ra farray <<< "$FEATURES" +# split, handles extra spaces +IFS=' ' read -ra farray <<< "${FEATURES}" + +# prepend with 'branch-' and quote +for ((ind=0 ; ind < ${#farray[@]} ; ++ind)); do + farray[$ind]=\"branch-${farray[$ind]}\" +done -# join -inherits=\"$(join '", "' "${farray[@]}")\" +# comma separate +inherits=$(sed 's/ /, /g' <<< "${farray[@]}") read -d '' contents << EOF { "version": 2, "configurePresets": [ { - "name": "ci-preset", + "name": "branch-user-preset", "inherits": [${inherits}] } ] @@ -74,7 +70,7 @@ EOF echo "${contents}" > CMakeUserPresets.json -cmake -B build --preset ci-preset +cmake -B build --preset branch-user-preset cmake --build build -j${NPROC} -v cmake --install build diff --git a/jenkins/bin/quiche.sh b/jenkins/bin/quiche.sh index 7fa3b2e..2a5fa60 100755 --- a/jenkins/bin/quiche.sh +++ b/jenkins/bin/quiche.sh @@ -34,7 +34,7 @@ cd "${WORKSPACE}/src" presetpath="../ci/jenkins/branch/CMakePresets.json" [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . -cmake -B build --preset quiche +cmake -B build --preset branch-quiche cmake --build build -j${NPROC} -v cmake --install build diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index c30cf7d..6cbd394 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -6,41 +6,253 @@ "patch": 0 }, "configurePresets": [ +{ + "name": "default", + "displayName": "Default build with ninja", + "description": "Default build using Ninja generator", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build-default", + "cacheVariables": { +"CMAKE_BUILD_TYPE": "Debug", +"CMAKE_COMPILE_WARNING_AS_ERROR": "ON" + } +}, +{ + "name": "layout-defaults", + "displayName": "Default install layout paths template", + "hidden": true, + "cacheVariables": { +"CMAKE_INSTALL_BINDIR": "bin", +"CMAKE_INSTALL_SBINDIR": "bin", +"CMAKE_INSTALL_LIBDIR": "lib", +"CMAKE_INSTALL_SYSCONFDIR": "etc/trafficserver", +"CMAKE_INSTALL_DATADIR": "share/trafficserver", +"CMAKE_INSTALL_INCLUDEDIR": "include", +"CMAK
(trafficserver) branch master updated (196697152c -> be86589222)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 196697152c Display auto_option hint in all cases (#10762) add be86589222 uri_signing cmake: clean up unit test cmake and change suggested github repo (#10723) No new revisions were added by this update. Summary of changes: doc/admin-guide/plugins/uri_signing.en.rst | 4 ++-- plugins/experimental/uri_signing/Makefile.inc | 2 +- plugins/experimental/uri_signing/common.cc | 2 +- plugins/experimental/uri_signing/common.h | 2 +- plugins/experimental/uri_signing/unit_tests/CMakeLists.txt | 1 - 5 files changed, 5 insertions(+), 6 deletions(-)
(trafficserver-ci) branch main updated: rename clang format to format for files (#292)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 28a5713 rename clang format to format for files (#292) 28a5713 is described below commit 28a5713576ad88bc9b32429b7ae6644ef1e5f52d Author: Brian Olsen AuthorDate: Wed Nov 15 09:07:44 2023 -0700 rename clang format to format for files (#292) --- jenkins/bin/{clang-format.sh => format.sh}| 0 jenkins/branch/branch_build.pipeline | 6 +++--- jenkins/branch/{clang_format.pipeline => format.pipeline} | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jenkins/bin/clang-format.sh b/jenkins/bin/format.sh similarity index 100% rename from jenkins/bin/clang-format.sh rename to jenkins/bin/format.sh diff --git a/jenkins/branch/branch_build.pipeline b/jenkins/branch/branch_build.pipeline index 97107a4..82cbe46 100644 --- a/jenkins/branch/branch_build.pipeline +++ b/jenkins/branch/branch_build.pipeline @@ -187,11 +187,11 @@ pipeline { } } } - stage('clang format') { + stage('format') { steps { script { - echo "clang_format" - buildJob(env.JOB_DIR + '/clang_format', 'clang_format') + echo "format" + buildJob(env.JOB_DIR + '/format', 'format') } } } diff --git a/jenkins/branch/clang_format.pipeline b/jenkins/branch/format.pipeline similarity index 97% rename from jenkins/branch/clang_format.pipeline rename to jenkins/branch/format.pipeline index fd031f0..9963684 100644 --- a/jenkins/branch/clang_format.pipeline +++ b/jenkins/branch/format.pipeline @@ -62,7 +62,7 @@ pipeline { set -x set -e source ../ci/jenkins/bin/environment.sh - ../ci/jenkins/bin/clang-format.sh + ../ci/jenkins/bin/format.sh ''' } }
(trafficserver-ci) branch main updated: docs: fix installed files for cmake target (#286)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 46c7698 docs: fix installed files for cmake target (#286) 46c7698 is described below commit 46c7698526dc9e4f5a80f5748e8271c9ecf0b5b7 Author: Brian Olsen AuthorDate: Tue Nov 14 08:34:38 2023 -0700 docs: fix installed files for cmake target (#286) --- jenkins/bin/docs.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jenkins/bin/docs.sh b/jenkins/bin/docs.sh index 8a09dd2..3a107c5 100755 --- a/jenkins/bin/docs.sh +++ b/jenkins/bin/docs.sh @@ -55,14 +55,14 @@ then cmake -B docbuild -DDOC_LANG:STRING='en' -DENABLE_DOCS=ON cmake --build docbuild --target generate_docs -v || exit 1 mkdir -p "${enoutdir}" - /bin/cp -rf "${docbuilddir}"/html "${enoutdir}" + /bin/cp -rf "${docbuilddir}"/html/* "${enoutdir}" # japanese rm -rf docbuild cmake -B docbuild -DDOC_LANG:STRING='ja' -DENABLE_DOCS=ON cmake --build docbuild --target generate_docs -v || exit 1 mkdir -p "${jaoutdir}" - /bin/cp -rf "${docbuilddir}"/html "${jaoutdir}" + /bin/cp -rf "${docbuilddir}"/html/* "${jaoutdir}" else
(trafficserver-ci) branch main updated: fix for missing brace in branch quiche pipeline (#285)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 70e8dbf fix for missing brace in branch quiche pipeline (#285) 70e8dbf is described below commit 70e8dbf32579e3071bcb0e1c639b53715e5c26c7 Author: Brian Olsen AuthorDate: Tue Nov 7 08:33:37 2023 -0700 fix for missing brace in branch quiche pipeline (#285) --- jenkins/branch/quiche.pipeline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/branch/quiche.pipeline b/jenkins/branch/quiche.pipeline index a7e48ed..b13f344 100644 --- a/jenkins/branch/quiche.pipeline +++ b/jenkins/branch/quiche.pipeline @@ -126,7 +126,7 @@ pipeline { // We exclude socket files because archiveArtifacts doesn't deal well with // their file type. archiveArtifacts artifacts: 'output/**/*', fingerprint: false, allowEmptyArchive: true, excludes: '**/*.sock, **/cache.db' - + } cleanup { cleanWs() }
(trafficserver-ci) branch main updated: reenalbe autest for quiche branch build (#284)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 235c826 reenalbe autest for quiche branch build (#284) 235c826 is described below commit 235c826058d769b9fa16a53e728c82833611 Author: Brian Olsen AuthorDate: Tue Nov 7 08:19:16 2023 -0700 reenalbe autest for quiche branch build (#284) --- jenkins/branch/CMakePresets.json | 1 + jenkins/branch/quiche.pipeline | 38 ++ 2 files changed, 39 insertions(+) diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index 47c0fa2..c30cf7d 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -77,6 +77,7 @@ "description": "CI Pipeline quiche build", "inherits": ["ci"], "cacheVariables": { +"ENABLE_AUTEST": "ON", "OPENSSL_ROOT_DIR": "/opt/boringssl", "quiche_ROOT": "/opt/quiche", "ENABLE_QUICHE": true diff --git a/jenkins/branch/quiche.pipeline b/jenkins/branch/quiche.pipeline index b4d37d7..a7e48ed 100644 --- a/jenkins/branch/quiche.pipeline +++ b/jenkins/branch/quiche.pipeline @@ -87,8 +87,46 @@ pipeline { echo 'Finished Tests' } } + stage('AuTest') { + steps { + echo 'Starting AuTest' + dir('src/build/tests') { + sh '''#!/bin/bash + #set +e + set -x + # We want to pick up the OpenSSL-QUIC version of curl in /opt/bin. + # The HTTP/3 AuTests depend upon this, so update the PATH accordingly. + export PATH=/opt/bin:${PATH} + export PATH=/opt/go/bin:${PATH} + + export_dir="${WORKSPACE}/output/${GITHUB_BRANCH}" + mkdir -p ${export_dir} + + pipenv install + ./autest.sh --sandbox /tmp/sandbox || true + + if [ -n "$(ls -A /tmp/sandbox/)" ]; then + touch ${export_dir}/Autest_failures + cp -rf /tmp/sandbox/ "${export_dir}" + ls "${export_dir}" + sudo chmod -R 777 ${WORKSPACE} + exit 1 + else + touch ${export_dir}/No_autest_failures + sudo chmod -R 777 ${WORKSPACE} + exit 0 + fi + ''' + } + } + } } post { + always { + // We exclude socket files because archiveArtifacts doesn't deal well with + // their file type. + archiveArtifacts artifacts: 'output/**/*', fingerprint: false, allowEmptyArchive: true, excludes: '**/*.sock, **/cache.db' + cleanup { cleanWs() }
(trafficserver-ci) branch main updated: restore branch quiche build (#283)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 9600a1b restore branch quiche build (#283) 9600a1b is described below commit 9600a1b7d4eee1cf93376f073b85fe1fb8a2cbed Author: Brian Olsen AuthorDate: Tue Nov 7 06:44:26 2023 -0700 restore branch quiche build (#283) --- jenkins/bin/quiche.sh | 44 ++ .../{cmake_quiche.pipeline => quiche.pipeline} | 20 -- 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/jenkins/bin/quiche.sh b/jenkins/bin/quiche.sh new file mode 100755 index 000..7fa3b2e --- /dev/null +++ b/jenkins/bin/quiche.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This does intentionally not run the regressions, it's primarily a "build" test + +set -x + +NPROC=$(nproc) + +if [ ! -d cmake ] +then + echo "CMake builds are not supported on pre 10.x branch." + exit 0 +fi + +cd "${WORKSPACE}/src" + +# copy in CMakePresets.json +presetpath="../ci/jenkins/branch/CMakePresets.json" +[ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . + +cmake -B build --preset quiche +cmake --build build -j${NPROC} -v +cmake --install build + +#pushd cmake-build-quiche +#ctest -j${NPROC} --output-on-failure --no-compress-output -T Test +#/tmp/ats_quiche/bin/traffic_server -K -k -R 1 +#popd diff --git a/jenkins/branch/cmake_quiche.pipeline b/jenkins/branch/quiche.pipeline similarity index 82% rename from jenkins/branch/cmake_quiche.pipeline rename to jenkins/branch/quiche.pipeline index aceaa0a..b4d37d7 100644 --- a/jenkins/branch/cmake_quiche.pipeline +++ b/jenkins/branch/quiche.pipeline @@ -59,7 +59,7 @@ pipeline { } } - stage('Build/Test') { + stage('Build') { steps { dir('src') { echo "Building" @@ -68,14 +68,28 @@ pipeline { set -e export PATH=/opt/bin:${PATH} source ../ci/jenkins/bin/environment.sh - ../ci/jenkins/bin/cmake_quiche.sh + ../ci/jenkins/bin/quiche.sh ''' } } } + stage('Tests') { + steps { + echo 'Starting Tests' + dir('src') { + sh ''' + set -x + set -e + source ../ci/jenkins/bin/environment.sh + ../ci/jenkins/bin/regression.sh + ''' + } + echo 'Finished Tests' + } + } } post { - always { + cleanup { cleanWs() } }
(trafficserver-ci) branch main updated: fedora39/rocky8 add cjose-devel package
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 77e26e6 fedora39/rocky8 add cjose-devel package new 8f33227 Merge pull request #282 from traeak/cjose-devel 77e26e6 is described below commit 77e26e6c81d3d2dfce96d18336b8950efefb3f9b Author: Brian Olsen AuthorDate: Mon Nov 6 21:09:59 2023 + fedora39/rocky8 add cjose-devel package --- docker/fedora39/Dockerfile| 4 ++-- docker/rockylinux8/Dockerfile | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docker/fedora39/Dockerfile b/docker/fedora39/Dockerfile index 282ca64..c25ba82 100644 --- a/docker/fedora39/Dockerfile +++ b/docker/fedora39/Dockerfile @@ -56,8 +56,8 @@ RUN pip3 install pipenv httpbin # Install the HTTP/3 build tools, including openssl-quic. #--- RUN dnf -y install libev-devel jemalloc-devel libxml2-devel \ -c-ares-devel libevent-devel jansson-devel zlib-devel systemd-devel \ -perl-FindBin cargo +c-ares-devel libevent-devel cjose-devel jansson-devel zlib-devel \ +systemd-devel perl-FindBin cargo # go will be installed by build_h3_tools. RUN dnf remove -y golang diff --git a/docker/rockylinux8/Dockerfile b/docker/rockylinux8/Dockerfile index 8df5dc5..191897f 100644 --- a/docker/rockylinux8/Dockerfile +++ b/docker/rockylinux8/Dockerfile @@ -74,7 +74,8 @@ RUN <
(trafficserver) branch master updated: logcat/CMakeLists: add inkevent as library dependency (#10733)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 4d176c050b logcat/CMakeLists: add inkevent as library dependency (#10733) 4d176c050b is described below commit 4d176c050bf16b7ff2b4c532c4d153d3dc0bdf82 Author: Brian Olsen AuthorDate: Mon Nov 6 08:59:23 2023 -0700 logcat/CMakeLists: add inkevent as library dependency (#10733) --- src/traffic_logcat/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/traffic_logcat/CMakeLists.txt b/src/traffic_logcat/CMakeLists.txt index 811685f5d8..db737dd85a 100644 --- a/src/traffic_logcat/CMakeLists.txt +++ b/src/traffic_logcat/CMakeLists.txt @@ -27,6 +27,7 @@ target_link_libraries( ts::http ts::tsapicore ts::diagsconfig + ts::inkevent ts::configmanager libswoc )
(trafficserver) branch master updated: Add CMake support for building uri_signing plugin (#10702)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new e554d8545f Add CMake support for building uri_signing plugin (#10702) e554d8545f is described below commit e554d8545f07d4375399b010d238b7bee3be20f3 Author: Brian Olsen AuthorDate: Thu Nov 2 09:23:33 2023 -0600 Add CMake support for building uri_signing plugin (#10702) * add CMakeLists for uri_signing and unit tests * add cmake finders for cjose/jansson * check if cjose/jansson found * uri_signing remove pcre and make jansson public * get the uri_signing uni t test to build * uri_signing: refactor the main continuation to remove all but fail goto * add back in libraries that make the unit test link --- CMakeLists.txt | 2 + .../CMakeLists.txt => cmake/Findcjose.cmake| 58 --- cmake/Findjansson.cmake| 49 ++ plugins/experimental/CMakeLists.txt| 3 + .../experimental/{ => uri_signing}/CMakeLists.txt | 52 +++--- .../uri_signing/unit_tests/CMakeLists.txt | 51 ++ .../uri_signing/unit_tests/uri_signing_test.cc | 4 + plugins/experimental/uri_signing/uri_signing.cc| 183 + .../pluginTest/uri_signing/uri_signing.test.py | 4 +- 9 files changed, 248 insertions(+), 158 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 84a49f340a..7e50734a5b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,6 +104,8 @@ auto_option( ) auto_option(LUAJIT PACKAGE_DEPENDS LuaJIT) auto_option(UNWIND FEATURE_VAR TS_USE_REMOTE_UNWINDING PACKAGE_DEPENDS unwind) +auto_option(CJOSE PACKAGE_DEPENDS cjose) +auto_option(JANSSON PACKAGE_DEPENDS jansson) option(ENABLE_ASAN "Use address sanitizer (default OFF)") option(ENABLE_FUZZING "Enable fuzzing (default OFF)") diff --git a/plugins/experimental/CMakeLists.txt b/cmake/Findcjose.cmake similarity index 51% copy from plugins/experimental/CMakeLists.txt copy to cmake/Findcjose.cmake index 539c502f4c..641eb302ee 100644 --- a/plugins/experimental/CMakeLists.txt +++ b/cmake/Findcjose.cmake @@ -15,29 +15,35 @@ # ### -add_subdirectory(access_control) -add_subdirectory(block_errors) -add_subdirectory(cache_fill) -add_subdirectory(cert_reporting_tool) -add_subdirectory(cookie_remap) -add_subdirectory(custom_redirect) -add_subdirectory(fq_pacing) -add_subdirectory(geoip_acl) -add_subdirectory(header_freq) -add_subdirectory(hook-trace) -add_subdirectory(http_stats) -add_subdirectory(icap) -add_subdirectory(inliner) -add_subdirectory(maxmind_acl) -add_subdirectory(memcache) -add_subdirectory(memory_profile) -add_subdirectory(money_trace) -add_subdirectory(mp4) -add_subdirectory(rate_limit) -add_subdirectory(redo_cache_lookup) -add_subdirectory(sslheaders) -add_subdirectory(stek_share) -add_subdirectory(stream_editor) -add_subdirectory(system_stats) -add_subdirectory(tls_bridge) -add_subdirectory(url_sig) +# Findcjose.cmake +# +# This will define the following variables +# +# cjose_FOUND +# cjose_LIBRARY +# cjose_INCLUDE_DIRS +# +# and the following imported targets +# +# cjose::cjose +# + +find_library(cjose_LIBRARY NAMES cjose) +find_path(cjose_INCLUDE_DIR NAMES cjose/cjose.h) + +mark_as_advanced(cjose_FOUND cjose_LIBRARY cjose_INCLUDE_DIR) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(cjose +REQUIRED_VARS cjose_LIBRARY cjose_INCLUDE_DIR +) + +if(cjose_FOUND) +set(cjose_INCLUDE_DIRS ${cjose_INCLUDE_DIR}) +endif() + +if(cjose_FOUND AND NOT TARGET cjose::cjose) +add_library(cjose::cjose INTERFACE IMPORTED) +target_include_directories(cjose::cjose INTERFACE ${cjose_INCLUDE_DIRS}) +target_link_libraries(cjose::cjose INTERFACE "${cjose_LIBRARY}") +endif() diff --git a/cmake/Findjansson.cmake b/cmake/Findjansson.cmake new file mode 100644 index 00..ce00d4d873 --- /dev/null +++ b/cmake/Findjansson.cmake @@ -0,0 +1,49 @@ +### +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor license +# agreements. See the NOTICE file distributed with this work for additional information regarding +# copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software distributed under the License +# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express +# or implied. See the
(trafficserver-ci) branch main updated: autest: github build parallel, branch build run in /tmp/sandbox
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new b9f8e46 autest: github build parallel, branch build run in /tmp/sandbox new fdf947e Merge pull request #280 from traeak/autest_tweaks b9f8e46 is described below commit b9f8e46252b205e11c315277a5cd112a774c6dfe Author: Brian Olsen AuthorDate: Thu Nov 2 12:50:15 2023 + autest: github build parallel, branch build run in /tmp/sandbox --- jenkins/branch/autest.pipeline | 1 + jenkins/github/autest.pipeline | 13 ++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/jenkins/branch/autest.pipeline b/jenkins/branch/autest.pipeline index 892e578..4aa9ca9 100644 --- a/jenkins/branch/autest.pipeline +++ b/jenkins/branch/autest.pipeline @@ -144,6 +144,7 @@ pipeline { then cd ../build/tests pipenv install + autest_args="--sandbox /tmp/sandbox" else autest_args="--ats-bin /tmp/ats/bin/ --sandbox /tmp/sandbox" fi diff --git a/jenkins/github/autest.pipeline b/jenkins/github/autest.pipeline index d2e496f..3512ca6 100644 --- a/jenkins/github/autest.pipeline +++ b/jenkins/github/autest.pipeline @@ -79,10 +79,9 @@ pipeline { then echo "Building with CMake." cmake -B build --preset ci-fedora-autest - cmake --build build -v + cmake --build build -j4 -v cmake --install build else -# Pre 10 branches only supported autotools. echo "CMake builds are not supported for this branch." echo "Building with autotools instead." @@ -90,7 +89,15 @@ pipeline { # (default user umask may change and make these unreadable) sudo chmod -R o+r . autoreconf -fiv - ./configure --with-openssl=/opt/openssl-quic --enable-experimental-plugins --enable-example-plugins --prefix=/tmp/ats --enable-werror --enable-debug --enable-wccp --enable-ccache + ./configure \ + --with-openssl=/opt/openssl-quic \ + --enable-experimental-plugins \ + --enable-example-plugins \ + --prefix=/tmp/ats \ + --enable-werror \ + --enable-debug \ + --enable-wccp \ + --enable-ccache make -j4 make install fi
(trafficserver) branch master updated: Fix release builds on linux (#10700)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 1306496ce3 Fix release builds on linux (#10700) 1306496ce3 is described below commit 1306496ce3d007e582823cc6a2be43a2f298e024 Author: Chris McFarlen AuthorDate: Wed Nov 1 09:00:03 2023 -0500 Fix release builds on linux (#10700) Co-authored-by: Chris McFarlen --- src/tests/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index 1c029502b4..c46ab791a8 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -130,7 +130,7 @@ set(LIBINKNET_UNIT_TEST_DIR "${CMAKE_SOURCE_DIR}/src/iocore/net/unit_tests") target_compile_definitions(test_net PRIVATE LIBINKNET_UNIT_TEST_DIR=${LIBINKNET_UNIT_TEST_DIR}) target_link_libraries(test_net PRIVATE hdrs proxy) -add_stubbed_test(EventSystem ${CMAKE_SOURCE_DIR}/src/iocore/eventsystem/unit_tests/test_EventSystem.cc) +add_stubbed_test(EventSystem ${CMAKE_SOURCE_DIR}/src/iocore/net/NetVCTest.cc ${CMAKE_SOURCE_DIR}/src/iocore/eventsystem/unit_tests/test_EventSystem.cc) add_stubbed_test(IOBuffer ${CMAKE_SOURCE_DIR}/src/iocore/eventsystem/unit_tests/test_IOBuffer.cc) add_stubbed_test(
(trafficserver-ci) branch main updated: add path exports to cache-tests.pipeline
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 53f0f80 add path exports to cache-tests.pipeline new e006db6 Merge pull request #278 from traeak/main 53f0f80 is described below commit 53f0f802c6637126d4f381e8990e3f7013241ae0 Author: Brian Olsen AuthorDate: Tue Oct 31 11:47:02 2023 -0600 add path exports to cache-tests.pipeline --- jenkins/branch/cache-tests.pipeline | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jenkins/branch/cache-tests.pipeline b/jenkins/branch/cache-tests.pipeline index 3b01e97..b89ee03 100644 --- a/jenkins/branch/cache-tests.pipeline +++ b/jenkins/branch/cache-tests.pipeline @@ -52,6 +52,7 @@ pipeline { } sh ''' + export PATH=/opt/bin:${PATH} chmod -R o+r . if [ -d cmake ] @@ -79,6 +80,7 @@ pipeline { dir('src') { script { sh ''' + export PATH=/opt/bin:${PATH} cd /cache-tests mkdir -p ${WORKSPACE}/output if [ -x /opt/ats/bin/traffic_manager ]
(trafficserver-ci) branch main updated: open up permissions to run cache tests
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new d60ee79 open up permissions to run cache tests new 2d793e3 Merge pull request #277 from traeak/cache_test_permissions d60ee79 is described below commit d60ee79e7e64dfa9ac2385602a07462c2aa5f364 Author: Brian Olsen AuthorDate: Tue Oct 31 08:17:44 2023 -0600 open up permissions to run cache tests --- jenkins/branch/cache-tests.pipeline | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jenkins/branch/cache-tests.pipeline b/jenkins/branch/cache-tests.pipeline index 38b18fe..3b01e97 100644 --- a/jenkins/branch/cache-tests.pipeline +++ b/jenkins/branch/cache-tests.pipeline @@ -69,6 +69,8 @@ pipeline { echo 'map / https://ci.trafficserver.apache.org/cache-tests/' >> \ /opt/ats/etc/trafficserver/remap.config + + chmod -R go+w /opt/ats ''' } }
(trafficserver-ci) branch main updated: fix cmake install directory and removed traffic_manager
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 6ac0bb1 fix cmake install directory and removed traffic_manager new 8cc638f Merge pull request #276 from traeak/cmake_cache_tests 6ac0bb1 is described below commit 6ac0bb1510e354a05eff8ee6d3dbf7a4d37e025e Author: Brian Olsen AuthorDate: Tue Oct 31 07:17:56 2023 -0600 fix cmake install directory and removed traffic_manager --- jenkins/branch/cache-tests.pipeline | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/jenkins/branch/cache-tests.pipeline b/jenkins/branch/cache-tests.pipeline index ad7e1dd..38b18fe 100644 --- a/jenkins/branch/cache-tests.pipeline +++ b/jenkins/branch/cache-tests.pipeline @@ -57,7 +57,7 @@ pipeline { if [ -d cmake ] then cmake -B build \ - -DCMAKE_INSTALL_PREFIX=/tmp/ats + -DCMAKE_INSTALL_PREFIX=/opt/ats cmake --build build -j`nproc` -v cmake --install build else @@ -79,7 +79,12 @@ pipeline { sh ''' cd /cache-tests mkdir -p ${WORKSPACE}/output - /opt/ats/bin/traffic_manager & + if [ -x /opt/ats/bin/traffic_manager ] + then + /opt/ats/bin/traffic_manager & + else + /opt/ats/bin/trafficserver start + fi sleep 2 npm run --silent cli --base=http://localhost:8080/ > ${WORKSPACE}/output/ats-${GITHUB_BRANCH}.json chmod 644 ${WORKSPACE}/output/ats-${GITHUB_BRANCH}.json
(trafficserver-ci) branch main updated: changes to get coverage to run
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 6f1690c changes to get coverage to run new a45a53e Merge pull request #275 from traeak/cmake_coverage 6f1690c is described below commit 6f1690cf20745f6c0d3fcfd37a7e78bbe8378526 Author: Brian Olsen AuthorDate: Mon Oct 30 11:35:45 2023 -0600 changes to get coverage to run --- jenkins/bin/docs.sh | 1 - jenkins/branch/CMakePresets.json | 10 ++ jenkins/branch/coverage.pipeline | 12 +--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/jenkins/bin/docs.sh b/jenkins/bin/docs.sh index 9b02d19..8a09dd2 100755 --- a/jenkins/bin/docs.sh +++ b/jenkins/bin/docs.sh @@ -48,7 +48,6 @@ sudo chmod -R ugo+w . || exit 1 if [ -d cmake ] then - docbuilddir="docbuild/doc/docbuild" # english diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index d9914c1..47c0fa2 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -124,6 +124,16 @@ "BUILD_EXPERIMENTAL_PLUGINS": "ON", "ENABLE_EXAMPLE": "ON" } +}, +{ + "name": "coverage", + "displayName": "coverage defaults", + "description": "Defaults for coverage builds", + "inherits": ["autest"], + "cacheVariables": { +"CMAKE_CXX_FLAGS_DEBUG": "--coverage", +"CMAKE_C_FLAGS_DEBUG": "--coverage" + } } ] } diff --git a/jenkins/branch/coverage.pipeline b/jenkins/branch/coverage.pipeline index 13fb672..9b7adfc 100644 --- a/jenkins/branch/coverage.pipeline +++ b/jenkins/branch/coverage.pipeline @@ -85,16 +85,12 @@ pipeline { echo "Building with CMake" presetpath="../ci/jenkins/branch/CMakePresets.json" - [ -f "${presetpath}" ] && cp -f "${presetpath}" . - - echo "Currently skipping." - exit 0 + [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . cmake -B build --preset coverage -DCMAKE_INSTALL_PREFIX="/tmp/ats" cmake --build build -j`nproc` -v cmake --install build -v - s else echo "Building with autotools" @@ -167,6 +163,8 @@ pipeline { set -x set -e [ "${RUN_REGRESSION_TESTS}" == "true" ] || exit 0 + chmod -R go+w . + chmod -R go+w /tmp/ats/ /tmp/ats/bin/traffic_server -K -k -R 1 ''' } @@ -239,8 +237,8 @@ pipeline { /tmp/lcov_tracefile_filtered.info cp -rf /tmp/lcov-report ${WORKSPACE}/output/ - sudo chmod -R 777 ${WORKSPACE} -''' + chmod -R 777 ${WORKSPACE} + ''' } } }
(trafficserver) branch master updated: make doc lang configurable with cmake (#10685)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 496a256693 make doc lang configurable with cmake (#10685) 496a256693 is described below commit 496a256693701baf33706571d69b93c6d28231b8 Author: Brian Olsen AuthorDate: Sat Oct 28 19:47:11 2023 -0600 make doc lang configurable with cmake (#10685) * make doc lang configurable with cmake * cmake: only print DOC_LANG config if ENABLE_DOCS defined --- CMakeLists.txt | 4 doc/conf.cmake.in.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a3ea44a36..97d2eb19ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -615,6 +615,7 @@ if(ENABLE_EXAMPLE) endif() if(ENABLE_DOCS) + set(DOC_LANG en CACHE STRING "Document language option") add_subdirectory(doc) endif() add_subdirectory(rc) @@ -716,5 +717,8 @@ cmake_print_variables(TS_PKGSYSGROUP) cmake_print_variables(BUILD_MACHINE) cmake_print_variables(DEFAULT_STACK_SIZE) cmake_print_variables(CMAKE_INSTALL_RPATH) +if(DEFINED DOC_LANG) + cmake_print_variables(DOC_LANG) +endif(DEFINED DOC_LANG) print_auto_options_summary() diff --git a/doc/conf.cmake.in.py b/doc/conf.cmake.in.py index e5f534bbff..a5761d7b12 100644 --- a/doc/conf.cmake.in.py +++ b/doc/conf.cmake.in.py @@ -110,7 +110,7 @@ version = '@TS_VERSION_STRING@' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. -#language = None +language = '@DOC_LANG@' locale_dirs = ['locale/'] gettext_compact = False
(trafficserver-ci) branch main updated: rework cmake docs to use new cmake doc_lang variable
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new ea1753a rework cmake docs to use new cmake doc_lang variable new f9faf7c Merge pull request #274 from traeak/docs_fix2 ea1753a is described below commit ea1753aa40d7f9a3c30e68cffacbbe792227c46a Author: Brian Olsen AuthorDate: Fri Oct 27 09:45:33 2023 -0600 rework cmake docs to use new cmake doc_lang variable --- jenkins/bin/docs.sh | 36 +--- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/jenkins/bin/docs.sh b/jenkins/bin/docs.sh index f8f945a..9b02d19 100755 --- a/jenkins/bin/docs.sh +++ b/jenkins/bin/docs.sh @@ -36,8 +36,8 @@ test -z "${ATS_MAKE}" && ATS_MAKE="make" # fi #fi -vername=${GITHUB_PR_NUMBER} -test -z "${GITHUB_PR_NUMBER}" && vername=${GITHUB_BRANCH} +vername="${GITHUB_PR_NUMBER:=""}" +[ -z "${GITHUB_PR_NUMBER}" ] && vername="${GITHUB_BRANCH}" outputdir="${PWD}/output" enoutdir="${outputdir}/en/${vername}" @@ -48,8 +48,22 @@ sudo chmod -R ugo+w . || exit 1 if [ -d cmake ] then - cmake -B docbuild -DENABLE_DOCS=ON + + docbuilddir="docbuild/doc/docbuild" + + # english + rm -rf docbuild + cmake -B docbuild -DDOC_LANG:STRING='en' -DENABLE_DOCS=ON cmake --build docbuild --target generate_docs -v || exit 1 + mkdir -p "${enoutdir}" + /bin/cp -rf "${docbuilddir}"/html "${enoutdir}" + + # japanese + rm -rf docbuild + cmake -B docbuild -DDOC_LANG:STRING='ja' -DENABLE_DOCS=ON + cmake --build docbuild --target generate_docs -v || exit 1 + mkdir -p "${jaoutdir}" + /bin/cp -rf "${docbuilddir}"/html "${jaoutdir}" else @@ -93,22 +107,6 @@ _END_OF_DOC_ fi -# If we made it here, the doc build ran and succeeded. Let's copy out the -# docbuild contents so it can be published. -mkdir -p ${outputdir} -docbuilddir="docbuild" -if [ -d docbuild ] -then - docbuilddir="docbuild" -elif [ -d docbuild/doc/docbuild ] -then - docbuilddir="docbuild/doc/docbuild" -else - echo "Could not find build docs." - exit 1 -fi - -cp -rf "${docbuilddir}" "${outputdir}" ls "${outputdir}/docbuild" sudo chmod -R u=rwX,g=rX,o=rX "${outputdir}" || exit 1
[trafficserver-ci] branch main updated: fix source dir for install
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 8daf0fd fix source dir for install new ba03f15 Merge pull request #273 from traeak/docs_fix2 8daf0fd is described below commit 8daf0fda2fa2aeec8630c4265dcd140003d5b26a Author: Brian Olsen AuthorDate: Thu Oct 26 14:42:28 2023 -0600 fix source dir for install --- jenkins/bin/docs.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jenkins/bin/docs.sh b/jenkins/bin/docs.sh index cdccde8..f8f945a 100755 --- a/jenkins/bin/docs.sh +++ b/jenkins/bin/docs.sh @@ -100,9 +100,9 @@ docbuilddir="docbuild" if [ -d docbuild ] then docbuilddir="docbuild" -elif [ -d docs-build/doc/docbuild ] +elif [ -d docbuild/doc/docbuild ] then - docbuilddir="docs-build/doc/docbuild" + docbuilddir="docbuild/doc/docbuild" else echo "Could not find build docs." exit 1
[trafficserver-ci] branch main updated: docs.sh: fix for bad env var
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new b5848a5 docs.sh: fix for bad env var new 4229dde Merge pull request #272 from traeak/docs_fix b5848a5 is described below commit b5848a5e1884ab2f125fd88a62ead20473385b9d Author: Brian Olsen AuthorDate: Thu Oct 26 14:24:13 2023 -0600 docs.sh: fix for bad env var --- jenkins/bin/docs.sh | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/jenkins/bin/docs.sh b/jenkins/bin/docs.sh index 0da63eb..cdccde8 100755 --- a/jenkins/bin/docs.sh +++ b/jenkins/bin/docs.sh @@ -95,23 +95,23 @@ fi # If we made it here, the doc build ran and succeeded. Let's copy out the # docbuild contents so it can be published. -mkdir -p ${output_dir} -docbuild_dir="docbuild" +mkdir -p ${outputdir} +docbuilddir="docbuild" if [ -d docbuild ] then - docbuild_dir="docbuild" + docbuilddir="docbuild" elif [ -d docs-build/doc/docbuild ] then - docbuild_dir="docs-build/doc/docbuild" + docbuilddir="docs-build/doc/docbuild" else echo "Could not find build docs." exit 1 fi -cp -rf "${docbuild_dir}" "${output_dir}" -ls "${output_dir}/docbuild" +cp -rf "${docbuilddir}" "${outputdir}" +ls "${outputdir}/docbuild" -sudo chmod -R u=rwX,g=rX,o=rX "${output_dir}" || exit 1 +sudo chmod -R u=rwX,g=rX,o=rX "${outputdir}" || exit 1 #if [ "${PUBLISH_DOCS}" == "true" ]; then # sudo cp -avx ja /home/docs
[trafficserver-ci] branch main updated: fix for deb11, docs fix for clang output
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new f76ec70 fix for deb11, docs fix for clang output new 53e2255 Merge pull request #271 from traeak/cmake_deb11 f76ec70 is described below commit f76ec705326a59c6bca9b24e69b26e831286e5b2 Author: Brian Olsen AuthorDate: Thu Oct 26 14:15:43 2023 -0600 fix for deb11, docs fix for clang output --- jenkins/bin/clang-analyzer.sh| 2 +- jenkins/bin/cmake.sh | 2 +- jenkins/bin/docs.sh | 23 ++- jenkins/branch/coverity.pipeline | 2 +- jenkins/branch/docs.pipeline | 2 +- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/jenkins/bin/clang-analyzer.sh b/jenkins/bin/clang-analyzer.sh index c57611d..c6c8e2f 100755 --- a/jenkins/bin/clang-analyzer.sh +++ b/jenkins/bin/clang-analyzer.sh @@ -37,7 +37,7 @@ then # copy in CMakePresets.json presetpath="${WORKSPACE}/ci/jenkins/branch/CMakePresets.json" - [ -f "${presetpath}" ] && /usr/bin/cp -f "${presetpath}" . + [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . cmake -B builddir --preset clang-analyzer cmake --build builddir -v diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index 3476eed..d4824ce 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -39,7 +39,7 @@ fi # copy in CMakePresets.json presetpath="../ci/jenkins/branch/CMakePresets.json" -[ -f "${presetpath}" ] && /usr/bin/cp -f "${presetpath}" . +[ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . # debug/release become a feature btype="release" diff --git a/jenkins/bin/docs.sh b/jenkins/bin/docs.sh index cde5b48..0da63eb 100755 --- a/jenkins/bin/docs.sh +++ b/jenkins/bin/docs.sh @@ -75,14 +75,14 @@ fi make -j${NPROC} -e SPHINXOPTS="${sphinxopts}" html mkdir -p "${enoutdir}" -/usr/bin/cp -rf docbuild/html/* "${enoutdir}" +/bin/cp -rf docbuild/html/* "${enoutdir}" echo "Building JA Docs" rm -rf docbuild/html make -j${NPROC} -e SPHINXOPTS="-D language='ja'" html mkdir -p "${jaoutdir}" -/usr/bin/cp -rf docbuild/html/* "${jaoutdir}" +/bin/cp -rf docbuild/html/* "${jaoutdir}" _END_OF_DOC_ chmod 755 ${tmpfile} @@ -95,10 +95,23 @@ fi # If we made it here, the doc build ran and succeeded. Let's copy out the # docbuild contents so it can be published. -ls "${outputdir}" -cd "${outputdir}" +mkdir -p ${output_dir} +docbuild_dir="docbuild" +if [ -d docbuild ] +then + docbuild_dir="docbuild" +elif [ -d docs-build/doc/docbuild ] +then + docbuild_dir="docs-build/doc/docbuild" +else + echo "Could not find build docs." + exit 1 +fi + +cp -rf "${docbuild_dir}" "${output_dir}" +ls "${output_dir}/docbuild" -sudo chmod -R u=rwX,g=rX,o=rX . || exit 1 +sudo chmod -R u=rwX,g=rX,o=rX "${output_dir}" || exit 1 #if [ "${PUBLISH_DOCS}" == "true" ]; then # sudo cp -avx ja /home/docs diff --git a/jenkins/branch/coverity.pipeline b/jenkins/branch/coverity.pipeline index 0e36fe8..25d1577 100644 --- a/jenkins/branch/coverity.pipeline +++ b/jenkins/branch/coverity.pipeline @@ -40,7 +40,7 @@ pipeline { if [ -d cmake ] then presetpath="../ci/jenkins/branch/CMakePresets.json" - [ -f "${presetpath}" ] && /usr/bin/cp -f "${presetpath}" . + [ -f "${presetpath}" ] && /bin/cp -f "${presetpath}" . cmake -B build --preset coverity pushd build ../cov_tools/bin/cov-build --dir ../cov-int make -j`nproc` diff --git a/jenkins/branch/docs.pipeline b/jenkins/branch/docs.pipeline index 71e5b2e..6ada3b5 100644 --- a/jenkins/branch/docs.pipeline +++ b/jenkins/branch/docs.pipeline @@ -58,7 +58,7 @@ pipeline { set -x set -e source ../ci/jenkins/bin/environment.sh - bash -x ../ci/jenkins/bin/docs.sh + ../ci/jenkins/bin/docs.sh ''' }
[trafficserver-ci] branch main updated: remove unknown from cmake asan args
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 98eb409 remove unknown from cmake asan args new e6082a9 Merge pull request #270 from traeak/cmake_asan 98eb409 is described below commit 98eb409f144fec82ffbc400347b337def977d30f Author: Brian Olsen AuthorDate: Thu Oct 26 13:26:55 2023 -0600 remove unknown from cmake asan args --- jenkins/branch/CMakePresets.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index f4f4c1d..d9914c1 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -43,8 +43,8 @@ "name": "asan", "hidden": true, "cacheVariables": { -"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address,undefined", -"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address,undefined" +"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address", +"CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address" } }, {
[trafficserver-ci] branch main updated: m1 fix, remove toolset-8/9 from consideration
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new f92b26f m1 fix, remove toolset-8/9 from consideration new 7ae5c62 Merge pull request #268 from traeak/rhel_gcc10 f92b26f is described below commit f92b26f208f8d78a805793872fc8e47ddc486fe6 Author: Brian Olsen AuthorDate: Thu Oct 26 11:01:05 2023 -0600 m1 fix, remove toolset-8/9 from consideration --- jenkins/bin/environment.sh | 12 +++- jenkins/branch/osx-m1.pipeline | 2 -- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/jenkins/bin/environment.sh b/jenkins/bin/environment.sh index 305b9df..3b644d4 100755 --- a/jenkins/bin/environment.sh +++ b/jenkins/bin/environment.sh @@ -107,16 +107,10 @@ else # Default is gcc / g++ export CC=gcc export CXX=g++ -if test -f "/opt/rh/devtoolset-8/enable"; then -# This changes the path such that gcc / g++ is the right version. This is for CentOS 6 / 7. -source /opt/rh/devtoolset-8/enable -echo "Enabling devtoolset-8" -elif test -f "/opt/rh/devtoolset-9/enable"; then -# This changes the path such that gcc / g++ is the right version. This is for CentOS 6 / 7. -source /opt/rh/devtoolset-9/enable -echo "Enabling devtoolset-9" +if test -f "/opt/rh/devtoolset-10/enable"; then +source /opt/rh/devtoolset-10/enable +echo "Enabling devtoolset-10" elif test -f "/opt/rh/gcc-toolset-11/enable"; then -# This changes the path such that gcc / g++ is the right version. This is for Rockylinux 8 source /opt/rh/gcc-toolset-11/enable echo "Enabling gcc-toolset-11" elif test -x "/usr/bin/g++-9"; then diff --git a/jenkins/branch/osx-m1.pipeline b/jenkins/branch/osx-m1.pipeline index 4994f2f..6feb2e3 100644 --- a/jenkins/branch/osx-m1.pipeline +++ b/jenkins/branch/osx-m1.pipeline @@ -35,7 +35,6 @@ pipeline { CXXFLAGS="-Qunused-arguments" \ WITH_LIBCPLUSPLUS="yes" \ cmake -B build \ - --preset ci \ -G "Unix Makefiles" \ -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl cmake --build build -j3 -v @@ -46,7 +45,6 @@ pipeline { CXXFLAGS="-Qunused-arguments" \ WITH_LIBCPLUSPLUS="yes" \ ./configure \ - --enable-experimental-plugins \ --with-openssl=/opt/homebrew/opt/openssl make -j3 fi
[trafficserver-ci] branch main updated: revert location of openssl to homebrew loc
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 6687afe revert location of openssl to homebrew loc new 2a6dd51 Merge pull request #267 from traeak/m1_ssl 6687afe is described below commit 6687afe8cb7a845fb8c6dcf06d61e3b51254bad1 Author: Brian Olsen AuthorDate: Thu Oct 26 10:33:10 2023 -0600 revert location of openssl to homebrew loc --- jenkins/branch/osx-m1.pipeline | 31 +-- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/jenkins/branch/osx-m1.pipeline b/jenkins/branch/osx-m1.pipeline index c2befc2..4994f2f 100644 --- a/jenkins/branch/osx-m1.pipeline +++ b/jenkins/branch/osx-m1.pipeline @@ -30,29 +30,24 @@ pipeline { if [ -d cmake ] then - export CC="clang" - export CXX="clang++" - export CXXFLAGS="-Qunused-arguments" - export WITH_LIBCPLUSPLUS="yes" - cmake -B build \ + CC="clang" \ + CXX="clang++" \ + CXXFLAGS="-Qunused-arguments" \ + WITH_LIBCPLUSPLUS="yes" \ + cmake -B build \ + --preset ci \ -G "Unix Makefiles" \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_INSTALL_PREFIX=/tmp/ats" \ - -DENABLE_CCACHE=ON" \ - -DBUILD_EXPERIMENTAL_PLUGINS=ON" \ - -DBUILD_REGRESSION_TESTING=ON" \ - -DENABLE_EXAMPLE=ON \ - -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl - cmake --build build -j3 -v + -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl + cmake --build build -j3 -v else autoreconf -fiv - export CC="clang" - export CXX="clang++" - export CXXFLAGS="-Qunused-arguments" - export WITH_LIBCPLUSPLUS="yes" + CC="clang" \ + CXX="clang++" \ + CXXFLAGS="-Qunused-arguments" \ + WITH_LIBCPLUSPLUS="yes" \ ./configure \ --enable-experimental-plugins \ - --with-openssl=/usr/local/opt/openssl + --with-openssl=/opt/homebrew/opt/openssl make -j3 fi '''
[trafficserver-ci] branch main updated: try to fix cmake osx m1 build
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new dfd9393 try to fix cmake osx m1 build new 60f3d9f Merge pull request #266 from traeak/cmake_m1 dfd9393 is described below commit dfd9393688fddb77545401b5d26440fc0a8fe6ef Author: Brian Olsen AuthorDate: Thu Oct 26 10:19:57 2023 -0600 try to fix cmake osx m1 build --- jenkins/branch/osx-m1.pipeline | 31 ++- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/jenkins/branch/osx-m1.pipeline b/jenkins/branch/osx-m1.pipeline index af700f0..c2befc2 100644 --- a/jenkins/branch/osx-m1.pipeline +++ b/jenkins/branch/osx-m1.pipeline @@ -30,22 +30,27 @@ pipeline { if [ -d cmake ] then - CC="clang" \ - CXX="clang++" \ - CXXFLAGS="-Qunused-arguments" \ - WITH_LIBCPLUSPLUS="yes" \ - cmake -B build \ - --preset ci \ - -G "Unix Makefiles" \ - -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl + export CC="clang" + export CXX="clang++" + export CXXFLAGS="-Qunused-arguments" + export WITH_LIBCPLUSPLUS="yes" + cmake -B build \ + -G "Unix Makefiles" \ + -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_INSTALL_PREFIX=/tmp/ats" \ + -DENABLE_CCACHE=ON" \ + -DBUILD_EXPERIMENTAL_PLUGINS=ON" \ + -DBUILD_REGRESSION_TESTING=ON" \ + -DENABLE_EXAMPLE=ON \ + -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl cmake --build build -j3 -v else autoreconf -fiv - CC="clang" \ - CXX="clang++" \ - CXXFLAGS="-Qunused-arguments" \ - WITH_LIBCPLUSPLUS="yes" \ - ./configure \ + export CC="clang" + export CXX="clang++" + export CXXFLAGS="-Qunused-arguments" + export WITH_LIBCPLUSPLUS="yes" + ./configure \ --enable-experimental-plugins \ --with-openssl=/usr/local/opt/openssl make -j3
[trafficserver-ci] branch main updated: fix regression.sh script
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 568f9ae fix regression.sh script new 2d010e3 Merge pull request #265 from traeak/branch_regression 568f9ae is described below commit 568f9aedaf0acc9d12b33aabbad9fa6faa4069f4 Author: Brian Olsen AuthorDate: Wed Oct 25 13:55:18 2023 -0600 fix regression.sh script --- jenkins/bin/autotools.sh | 2 +- jenkins/bin/cmake.sh | 12 ++-- jenkins/bin/regression.sh| 19 +++ jenkins/branch/os_build.pipeline | 2 +- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/jenkins/bin/autotools.sh b/jenkins/bin/autotools.sh index 32d3404..6f31766 100755 --- a/jenkins/bin/autotools.sh +++ b/jenkins/bin/autotools.sh @@ -61,7 +61,7 @@ set -x #../configure \ ./configure \ ---prefix="${ATS_BUILD_BASEDIR}/install" \ +--prefix="/tmp/ats" \ --enable-experimental-plugins \ --enable-example-plugins \ --with-user=jenkins \ diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index 1ee10e3..3476eed 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -76,11 +76,11 @@ echo "${contents}" > CMakeUserPresets.json cmake -B build --preset ci-preset cmake --build build -j${NPROC} -v +cmake --install build -pushd build -ctest -B build -j${NPROC} --output-on-failure --no-compress-output -T Test -popd +#pushd build +#ctest -B build -j${NPROC} --output-on-failure --no-compress-output -T Test +#popd -cmake --install build -chmod -R go+w /tmp/ats -/tmp/ats/bin/traffic_server -K -k -R 1 +#chmod -R go+w /tmp/ats +#/tmp/ats/bin/traffic_server -K -k -R 1 diff --git a/jenkins/bin/regression.sh b/jenkins/bin/regression.sh index 674d8fd..e10ae93 100755 --- a/jenkins/bin/regression.sh +++ b/jenkins/bin/regression.sh @@ -22,17 +22,28 @@ NPROC=$(nproc) #cd "${ATS_BUILD_BASEDIR}/build" #cd "${ATS_BUILD_BASEDIR}" -[ -d BUILDS ] && cd BUILDS +#[ -d BUILDS ] && cd BUILDS + +#chmod -R go+w /tmp/ats +#/tmp/ats/bin/traffic_server -K -k -R 1 echo echo -n "Unit tests started at " && date -${ATS_MAKE} -j${NPROC} check VERBOSE=Y V=1 || exit 1 + +if [ -d cmake ] +then + pushd build + ctest -B build -j${NPROC} --output-on-failure --no-compress-output -T Test + popd +else + ${ATS_MAKE} -j${NPROC} check VERBOSE=Y V=1 || exit 1 +fi + echo -n "Unit tests finished at " && date -${ATS_MAKE} install || exit 1 echo echo -n "Regression tests started at " && date -"${ATS_BUILD_BASEDIR}/install/bin/traffic_server" -k -K -R 1 +/tmp/ats/bin/traffic_server -k -K -R 1 rval=$? echo -n "Regression tests finished at " && date exit $rval diff --git a/jenkins/branch/os_build.pipeline b/jenkins/branch/os_build.pipeline index e4930e0..69c4a9f 100644 --- a/jenkins/branch/os_build.pipeline +++ b/jenkins/branch/os_build.pipeline @@ -81,7 +81,7 @@ pipeline { set -x set -e source ../ci/jenkins/bin/environment.sh - source ../ci/jenkins/bin/regression.sh + ../ci/jenkins/bin/regression.sh ''' } echo 'Finished Tests'
[trafficserver-ci] branch main updated: change branch build install loc
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 1c03ea8 change branch build install loc new b238011 Merge pull request #264 from traeak/cmake_regression 1c03ea8 is described below commit 1c03ea8177c32f38d3fafe45c731a17250781d39 Author: Brian Olsen AuthorDate: Wed Oct 25 13:30:23 2023 -0600 change branch build install loc --- jenkins/bin/cmake.sh | 24 jenkins/branch/CMakePresets.json | 2 +- jenkins/branch/os_build.pipeline | 2 ++ 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index e99a10b..1ee10e3 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -74,21 +74,13 @@ EOF echo "${contents}" > CMakeUserPresets.json -#cmake -B cmake-build-release\ -# -GNinja \ -# -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ -# -DCMAKE_BUILD_TYPE=Release \ -# -DBUILD_EXPERIMENTAL_PLUGINS=ON \ -# -DCMAKE_INSTALL_PREFIX=/tmp/ats -# -DOPENSSL_ROOT_DIR=/opt/openssl-quic - -cmake -B builddir --preset ci-preset -cmake --build builddir -j${NPROC} -v - -pushd builddir -ctest -B builddir -j${NPROC} --output-on-failure --no-compress-output -T Test +cmake -B build --preset ci-preset +cmake --build build -j${NPROC} -v + +pushd build +ctest -B build -j${NPROC} --output-on-failure --no-compress-output -T Test popd -cmake --install builddir -chmod -R go+w installdir -installdir/bin/traffic_server -K -k -R 1 +cmake --install build +chmod -R go+w /tmp/ats +/tmp/ats/bin/traffic_server -K -k -R 1 diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index 7404f69..f4f4c1d 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -14,7 +14,7 @@ "binaryDir": "${sourceDir}/builddir", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", -"CMAKE_INSTALL_PREFIX": "${sourceDir}/installdir", +"CMAKE_INSTALL_PREFIX": "/tmp/ats", "ENABLE_CCACHE": "ON", "BUILD_EXPERIMENTAL_PLUGINS": "ON", "BUILD_REGRESSION_TESTING": "ON", diff --git a/jenkins/branch/os_build.pipeline b/jenkins/branch/os_build.pipeline index a82fa61..e4930e0 100644 --- a/jenkins/branch/os_build.pipeline +++ b/jenkins/branch/os_build.pipeline @@ -62,8 +62,10 @@ pipeline { if [ -d cmake ] then + echo "Building with CMake." ../ci/jenkins/bin/cmake.sh else + echo "Building with autotools." ../ci/jenkins/bin/autotools.sh fi '''
[trafficserver-ci] branch main updated: cmake.sh: fix for changed location of ats install
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 014c009 cmake.sh: fix for changed location of ats install new e6353d9 Merge pull request #263 from traeak/more_cov_fixes 014c009 is described below commit 014c009ed31c857d7da4337ea7a5d2cd7ad272c3 Author: Brian Olsen AuthorDate: Wed Oct 25 12:59:10 2023 -0600 cmake.sh: fix for changed location of ats install --- jenkins/bin/cmake.sh | 6 +++--- jenkins/branch/coverity.pipeline | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index 53d9760..e99a10b 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -84,11 +84,11 @@ echo "${contents}" > CMakeUserPresets.json cmake -B builddir --preset ci-preset cmake --build builddir -j${NPROC} -v -cmake --install builddir pushd builddir ctest -B builddir -j${NPROC} --output-on-failure --no-compress-output -T Test popd -chmod -R go+w /tmp/ats/ -/tmp/ats/bin/traffic_server -K -k -R 1 +cmake --install builddir +chmod -R go+w installdir +installdir/bin/traffic_server -K -k -R 1 diff --git a/jenkins/branch/coverity.pipeline b/jenkins/branch/coverity.pipeline index 425464d..0e36fe8 100644 --- a/jenkins/branch/coverity.pipeline +++ b/jenkins/branch/coverity.pipeline @@ -66,8 +66,8 @@ pipeline { set -x if [ -d cmake ] - rm -rf build then + rm -rf build else make distclean fi
[trafficserver-ci] branch main updated: updates to fix coverity pipeline, also do all branch builds with make instead of ninja
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new e1092bb updates to fix coverity pipeline, also do all branch builds with make instead of ninja new 47b4b7f Merge pull request #262 from traeak/coverity_fixes e1092bb is described below commit e1092bb821850c663e1f9657b7a5c6abbad3cb4a Author: Brian Olsen AuthorDate: Wed Oct 25 12:48:29 2023 -0600 updates to fix coverity pipeline, also do all branch builds with make instead of ninja --- jenkins/bin/clang-analyzer.sh| 2 +- jenkins/bin/cmake.sh | 2 +- jenkins/bin/docs.sh | 4 ++-- jenkins/branch/CMakePresets.json | 2 +- jenkins/branch/coverity.pipeline | 14 ++ 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/jenkins/bin/clang-analyzer.sh b/jenkins/bin/clang-analyzer.sh index dac4707..c57611d 100755 --- a/jenkins/bin/clang-analyzer.sh +++ b/jenkins/bin/clang-analyzer.sh @@ -37,7 +37,7 @@ then # copy in CMakePresets.json presetpath="${WORKSPACE}/ci/jenkins/branch/CMakePresets.json" - [ -f "${presetpath}" ] && cp -f "${presetpath}" . + [ -f "${presetpath}" ] && /usr/bin/cp -f "${presetpath}" . cmake -B builddir --preset clang-analyzer cmake --build builddir -v diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index 174f9b9..53d9760 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -39,7 +39,7 @@ fi # copy in CMakePresets.json presetpath="../ci/jenkins/branch/CMakePresets.json" -[ -f "${presetpath}" ] && cp -f "${presetpath}" . +[ -f "${presetpath}" ] && /usr/bin/cp -f "${presetpath}" . # debug/release become a feature btype="release" diff --git a/jenkins/bin/docs.sh b/jenkins/bin/docs.sh index 4c47d52..cde5b48 100755 --- a/jenkins/bin/docs.sh +++ b/jenkins/bin/docs.sh @@ -75,14 +75,14 @@ fi make -j${NPROC} -e SPHINXOPTS="${sphinxopts}" html mkdir -p "${enoutdir}" -cp -rf docbuild/html/* "${enoutdir}" +/usr/bin/cp -rf docbuild/html/* "${enoutdir}" echo "Building JA Docs" rm -rf docbuild/html make -j${NPROC} -e SPHINXOPTS="-D language='ja'" html mkdir -p "${jaoutdir}" -cp -rf docbuild/html/* "${jaoutdir}" +/usr/bin/cp -rf docbuild/html/* "${jaoutdir}" _END_OF_DOC_ chmod 755 ${tmpfile} diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index d963b8c..7404f69 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -10,7 +10,7 @@ "name": "ci", "displayName": "CI defaults", "description": "Defaults for CI Pipeline builds", - "generator": "Ninja", + "generator": "Unix Makefiles", "binaryDir": "${sourceDir}/builddir", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", diff --git a/jenkins/branch/coverity.pipeline b/jenkins/branch/coverity.pipeline index bec8922..425464d 100644 --- a/jenkins/branch/coverity.pipeline +++ b/jenkins/branch/coverity.pipeline @@ -15,6 +15,10 @@ pipeline { stages { stage('Initialization') { steps { + dir('ci') { + git url: 'https://github.com/apache/trafficserver-ci', + branch: 'main' + } dir('src') { sh '''#!/bin/bash set +x @@ -36,17 +40,19 @@ pipeline { if [ -d cmake ] then presetpath="../ci/jenkins/branch/CMakePresets.json" - [ -f "${presetpath}" ] && cp -f "${presetpath}" . - cmake -B . --preset coverity + [ -f "${presetpath}" ] && /usr/bin/cp -f "${presetpath}" . + cmake -B build --preset coverity + pushd build + ../cov_tools/bin/cov-build --dir ../cov-int make -j`nproc` + popd
[trafficserver-ci] branch main updated: add coverity preset
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new ff74ade add coverity preset new 8f9ab4e Merge pull request #261 from traeak/cmake_fixes ff74ade is described below commit ff74ade6bc620a1f7d9dc70a3627a1853f463b51 Author: Brian Olsen AuthorDate: Wed Oct 25 11:14:11 2023 -0600 add coverity preset --- jenkins/bin/in_tree.sh | 18 +- jenkins/bin/out_of_tree.sh | 20 ++- jenkins/branch/CMakePresets.json | 12 +++ jenkins/branch/coverity.pipeline | 73 4 files changed, 106 insertions(+), 17 deletions(-) diff --git a/jenkins/bin/in_tree.sh b/jenkins/bin/in_tree.sh index a859e65..77ad498 100755 --- a/jenkins/bin/in_tree.sh +++ b/jenkins/bin/in_tree.sh @@ -22,16 +22,18 @@ set -x cd "${WORKSPACE}/src" -autoreconf -fi -./configure \ +if [ -d cmake ] +then + echo "Not supported under cmake" +else + echo "autotools build" + autoreconf -fi + ./configure \ --with-user=jenkins \ --enable-ccache \ --enable-werror \ --enable-wccp -#--enable-experimental-plugins \ -#--enable-example-plugins \ - -${ATS_MAKE} ${ATS_MAKE_FLAGS} V=1 -#${ATS_MAKE} check VERBOSE=Y -${ATS_MAKE} clean + ${ATS_MAKE} ${ATS_MAKE_FLAGS} V=1 + ${ATS_MAKE} clean +fi diff --git a/jenkins/bin/out_of_tree.sh b/jenkins/bin/out_of_tree.sh index 7c57a95..5c611b1 100755 --- a/jenkins/bin/out_of_tree.sh +++ b/jenkins/bin/out_of_tree.sh @@ -22,17 +22,19 @@ set -x cd "${WORKSPACE}/src" -autoreconf -fi -mkdir -p BUILDS && cd BUILDS -../configure \ +if [ -d cmake ] +then + echo "not supported under cmake" +else + echo "autotools build" + autoreconf -fi + mkdir -p BUILDS && cd BUILDS + ../configure \ --with-user=jenkins \ --enable-ccache \ --enable-werror \ --enable-wccp -#--enable-experimental-plugins \ -#--enable-example-plugins \ - -${ATS_MAKE} -j5 V=1 -#${ATS_MAKE} check VERBOSE=Y -${ATS_MAKE} clean + ${ATS_MAKE} -j5 V=1 + ${ATS_MAKE} clean +fi diff --git a/jenkins/branch/CMakePresets.json b/jenkins/branch/CMakePresets.json index debfe8d..d963b8c 100644 --- a/jenkins/branch/CMakePresets.json +++ b/jenkins/branch/CMakePresets.json @@ -112,6 +112,18 @@ "BUILD_EXPERIMENTAL_PLUGINS": "ON", "ENABLE_EXAMPLE": "ON" } +}, +{ + "name": "coverity", + "displayName": "coverity defaults", + "description": "Defaults for coverity builds", + "generator": "Unix Makefiles", + "binaryDir": "${sourceDir}/build", + "cacheVariables": { +"CMAKE_BUILD_TYPE": "Debug", +"BUILD_EXPERIMENTAL_PLUGINS": "ON", +"ENABLE_EXAMPLE": "ON" + } } ] } diff --git a/jenkins/branch/coverity.pipeline b/jenkins/branch/coverity.pipeline new file mode 100644 index 000..bec8922 --- /dev/null +++ b/jenkins/branch/coverity.pipeline @@ -0,0 +1,73 @@ +pipeline { + agent { + docker { + registryUrl 'https://ci.trafficserver.apache.org/' + image 'ci.trafficserver.apache.org/ats/rockylinux:8' + args '--init --cap-add=SYS_PTRACE --network=host -v ${HOME}/ccache:/tmp/ccache:rw' + label 'branch' + } + } + + environment { + CCACHE_DIR = "/tmp/ccache" + } + + stages { + stage('Initialization') { + steps { + dir('src') { + sh '''#!/bin/bash + set +x + rm -rf * + set -x + ''' + git 'https://github.com/apache/trafficserver.git' + sh '''#!/bin/bash + set +x + rm -rf cov_tools + rm -rf cov-int + mkdir cov_tools + wget https://scan.coverity.com/download/linux64 \ + --post-data "token=SCRUBBED=Apache+Traffic+Server" \
[trafficserver-ci] branch main updated (7d432de -> 08692d0)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git from 7d432de centos CI: use toolset 10 (#259) new 8517d8c convert master branch builds over to using cmake by default new 5a025a5 add cache-tests, clang-format, autest new bf6ade7 partial coverage update[ new 08692d0 Merge pull request #260 from traeak/branch_cmake The 462 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: jenkins/bin/autest.sh | 6 +- jenkins/bin/{build.sh => autotools.sh} | 2 + jenkins/bin/clang-analyzer.sh | 71 jenkins/bin/clang-format.sh | 26 +++-- jenkins/bin/cmake.sh| 83 ++--- jenkins/bin/{cmake_quiche.sh => cmake_basic.sh} | 27 ++--- jenkins/bin/coverity.sh | 4 +- jenkins/bin/docs.sh | 58 ++ jenkins/bin/environment.sh | 4 +- jenkins/bin/in_tree.sh | 5 +- jenkins/bin/out_of_tree.sh | 5 +- jenkins/bin/rat.sh | 24 +++- jenkins/bin/regression.sh | 4 +- jenkins/branch/CMakePresets.json| 118 +++ jenkins/branch/autest.pipeline | 86 ++ jenkins/branch/branch_build.pipeline| 1 - jenkins/branch/cache-tests.pipeline | 17 ++- jenkins/branch/clang_format.pipeline| 9 +- jenkins/branch/cmake.pipeline | 2 +- jenkins/branch/coverage.pipeline| 116 +-- jenkins/branch/freebsd.pipeline | 18 ++- jenkins/branch/in_tree.pipeline | 7 +- jenkins/branch/os_build.pipeline| 9 +- jenkins/branch/osx-m1.pipeline | 35 -- jenkins/branch/osx.pipeline | 36 -- jenkins/branch/quiche.pipeline | 148 jenkins/branch/rat.pipeline | 7 +- 27 files changed, 582 insertions(+), 346 deletions(-) rename jenkins/bin/{build.sh => autotools.sh} (99%) rename jenkins/bin/{cmake_quiche.sh => cmake_basic.sh} (64%) create mode 100644 jenkins/branch/CMakePresets.json delete mode 100644 jenkins/branch/quiche.pipeline
[trafficserver] branch master updated (a6cf7dcbe8 -> 26670befdc)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from a6cf7dcbe8 cmake: Support external yaml-cpp (#10554) add 26670befdc background fetch plugin docs for origins that can't do range requests (#10526) No new revisions were added by this update. Summary of changes: doc/admin-guide/plugins/background_fetch.en.rst | 35 + 1 file changed, 35 insertions(+)
[trafficserver-ci] branch main updated: cmake build to fall back to system openssl and not use openssl-quic for branch
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 1e020e3 cmake build to fall back to system openssl and not use openssl-quic for branch new 3f127eb Merge pull request #220 from traeak/cmake_branch_rocky8 1e020e3 is described below commit 1e020e3b2585416876045438fe08980f6604169c Author: Brian Olsen AuthorDate: Thu Sep 28 19:30:15 2023 + cmake build to fall back to system openssl and not use openssl-quic for branch --- jenkins/bin/cmake.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index ef84983..293561b 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -36,8 +36,8 @@ cmake -B cmake-build-release\ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_EXPERIMENTAL_PLUGINS=ON \ - -DOPENSSL_ROOT_DIR=/opt/openssl-quic \ -DCMAKE_INSTALL_PREFIX=/tmp/ats +# -DOPENSSL_ROOT_DIR=/opt/openssl-quic cmake --build cmake-build-release -j4 -v cmake --install cmake-build-release
[trafficserver-ci] branch main updated: split out cmake_quiche for branch builds
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 2883393 split out cmake_quiche for branch builds new 1d3fd55 Merge pull request #219 from traeak/branch_cmake_quiche 2883393 is described below commit 2883393eab5075b8ea7cc146115bb2b642ea016c Author: Brian Olsen AuthorDate: Thu Sep 28 17:12:26 2023 + split out cmake_quiche for branch builds --- jenkins/bin/cmake.sh | 20 +--- jenkins/bin/{cmake.sh => cmake_quiche.sh}| 18 +- jenkins/branch/cmake.pipeline| 2 +- .../branch/{cmake.pipeline => cmake_quiche.pipeline} | 4 ++-- 4 files changed, 5 insertions(+), 39 deletions(-) diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index 8d73b45..ef84983 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -22,7 +22,7 @@ set -x if [ "${ATS_BRANCH}" == "9.0.x" -o \ "${ATS_BRANCH}" == "9.1.x" -o \ - "${ATS_BRANCH}" == "9.2.x" -o ] + "${ATS_BRANCH}" == "9.2.x" ] then echo "CMake builds are not supported for the 9.x branch." echo "No need to test it to show that it fails." @@ -45,21 +45,3 @@ pushd cmake-build-release ctest -j4 --output-on-failure --no-compress-output -T Test /tmp/ats/bin/traffic_server -K -k -R 1 popd - -# quiche build -cmake -B cmake-build-quiche \ - -GNinja \ - -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ - -DENABLE_QUICHE=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_EXPERIMENTAL_PLUGINS=ON \ - -Dquiche_ROOT=/opt/quiche \ - -DOPENSSL_ROOT_DIR=/opt/boringssl \ - -DCMAKE_INSTALL_PREFIX=/tmp/ats_quiche -cmake --build cmake-build-quiche -j4 -v -cmake --install cmake-build-quiche - -pushd cmake-build-quiche -ctest -j4 --output-on-failure --no-compress-output -T Test -/tmp/ats_quiche/bin/traffic_server -K -k -R 1 -popd diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake_quiche.sh similarity index 76% copy from jenkins/bin/cmake.sh copy to jenkins/bin/cmake_quiche.sh index 8d73b45..f19c6f0 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake_quiche.sh @@ -22,7 +22,7 @@ set -x if [ "${ATS_BRANCH}" == "9.0.x" -o \ "${ATS_BRANCH}" == "9.1.x" -o \ - "${ATS_BRANCH}" == "9.2.x" -o ] + "${ATS_BRANCH}" == "9.2.x" ] then echo "CMake builds are not supported for the 9.x branch." echo "No need to test it to show that it fails." @@ -31,22 +31,6 @@ fi cd "${WORKSPACE}/src" -cmake -B cmake-build-release\ - -GNinja \ - -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_EXPERIMENTAL_PLUGINS=ON \ - -DOPENSSL_ROOT_DIR=/opt/openssl-quic \ - -DCMAKE_INSTALL_PREFIX=/tmp/ats -cmake --build cmake-build-release -j4 -v -cmake --install cmake-build-release - -pushd cmake-build-release -ctest -j4 --output-on-failure --no-compress-output -T Test -/tmp/ats/bin/traffic_server -K -k -R 1 -popd - -# quiche build cmake -B cmake-build-quiche \ -GNinja \ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ diff --git a/jenkins/branch/cmake.pipeline b/jenkins/branch/cmake.pipeline index 3d8098d..f4353b6 100644 --- a/jenkins/branch/cmake.pipeline +++ b/jenkins/branch/cmake.pipeline @@ -59,7 +59,7 @@ pipeline { } } - stage('Build') { + stage('Build/Test') { steps { dir('src') { echo "Building" diff --git a/jenkins/branch/cmake.pipeline b/jenkins/branch/cmake_quiche.pipeline similarity index 96% copy from jenkins/branch/cmake.pipeline copy to jenkins/branch/cmake_quiche.pipeline index 3d8098d..aceaa0a 100644 --- a/jenkins/branch/cmake.pipeline +++ b/jenkins/branch/cmake_quiche.pipeline @@ -59,7 +59,7 @@ pipeline { } } - stage('Build') { + stage('Build/Test') { steps { dir('src') { echo "Building" @@ -68,7 +68,7 @@ pipeline { set -e export PATH=/opt/bin:${PATH} source ../ci/jenkins/bin/environment.sh - ../ci/jenkins/bin/cmake.sh + ../ci/jenkins/bin/cmake_quiche.sh ''' } }
[trafficserver-ci] branch main updated: update cmake build, add quiche build
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 6de8a34 update cmake build, add quiche build new 7ea00e8 Merge pull request #218 from traeak/branch_cmake 6de8a34 is described below commit 6de8a340c7f8501680304c40380be4f5efb21fde Author: Brian Olsen AuthorDate: Thu Sep 28 16:50:07 2023 + update cmake build, add quiche build --- jenkins/bin/cmake.sh | 44 +++- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/jenkins/bin/cmake.sh b/jenkins/bin/cmake.sh index 31b3d9d..8d73b45 100755 --- a/jenkins/bin/cmake.sh +++ b/jenkins/bin/cmake.sh @@ -20,12 +20,46 @@ set -x +if [ "${ATS_BRANCH}" == "9.0.x" -o \ + "${ATS_BRANCH}" == "9.1.x" -o \ + "${ATS_BRANCH}" == "9.2.x" -o ] +then + echo "CMake builds are not supported for the 9.x branch." + echo "No need to test it to show that it fails." + exit 0 +fi + cd "${WORKSPACE}/src" -mkdir cmake-build-release -cd cmake-build-release -cmake -GNinja -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_EXPERIMENTAL_PLUGINS=ON -DOPENSSL_ROOT_DIR=/opt/openssl-quic -DCMAKE_INSTALL_PREFIX=/tmp/ats .. -cmake --build . -j4 -v -cmake --install . +cmake -B cmake-build-release\ + -GNinja \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_EXPERIMENTAL_PLUGINS=ON \ + -DOPENSSL_ROOT_DIR=/opt/openssl-quic \ + -DCMAKE_INSTALL_PREFIX=/tmp/ats +cmake --build cmake-build-release -j4 -v +cmake --install cmake-build-release + +pushd cmake-build-release ctest -j4 --output-on-failure --no-compress-output -T Test /tmp/ats/bin/traffic_server -K -k -R 1 +popd + +# quiche build +cmake -B cmake-build-quiche \ + -GNinja \ + -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ + -DENABLE_QUICHE=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_EXPERIMENTAL_PLUGINS=ON \ + -Dquiche_ROOT=/opt/quiche \ + -DOPENSSL_ROOT_DIR=/opt/boringssl \ + -DCMAKE_INSTALL_PREFIX=/tmp/ats_quiche +cmake --build cmake-build-quiche -j4 -v +cmake --install cmake-build-quiche + +pushd cmake-build-quiche +ctest -j4 --output-on-failure --no-compress-output -T Test +/tmp/ats_quiche/bin/traffic_server -K -k -R 1 +popd
[trafficserver] branch master updated: NextHopHealthStatus: CID 1518604: Use of 32-bit time_t (#10536)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 0284df6d80 NextHopHealthStatus: CID 1518604: Use of 32-bit time_t (#10536) 0284df6d80 is described below commit 0284df6d8052a3edd71579df565caf247bbc329d Author: Brian Olsen AuthorDate: Wed Sep 27 10:39:41 2023 -0600 NextHopHealthStatus: CID 1518604: Use of 32-bit time_t (#10536) --- proxy/http/remap/NextHopHealthStatus.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxy/http/remap/NextHopHealthStatus.cc b/proxy/http/remap/NextHopHealthStatus.cc index 7cff756187..9d5b16d805 100644 --- a/proxy/http/remap/NextHopHealthStatus.cc +++ b/proxy/http/remap/NextHopHealthStatus.cc @@ -131,7 +131,7 @@ NextHopHealthStatus::markNextHop(TSHttpTxn txn, const char *hostname, const int // if the last failure was outside the retry window, set the failcount to 1 and failedAt to now. { // lock guard std::lock_guard lock(h->_mutex); -if ((h->failedAt.load() + retry_time) < static_cast(_now)) { +if ((h->failedAt.load() + retry_time) < _now) { new_fail_count = h->failCount = 1; h->failedAt = _now; } else {
[trafficserver] branch master updated: NextHopRoundRobin.cc: fix for cid 1518590 (#10534)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new fd8797345b NextHopRoundRobin.cc: fix for cid 1518590 (#10534) fd8797345b is described below commit fd8797345b946711c4b0847794181e9391cfd086 Author: Brian Olsen AuthorDate: Wed Sep 27 10:39:17 2023 -0600 NextHopRoundRobin.cc: fix for cid 1518590 (#10534) * NextHopRoundRobin.cc: fix for cid 1518590 * use PRIdMAX for format specifier --- proxy/http/remap/NextHopRoundRobin.cc | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/proxy/http/remap/NextHopRoundRobin.cc b/proxy/http/remap/NextHopRoundRobin.cc index 508228e00b..87bcbd9566 100644 --- a/proxy/http/remap/NextHopRoundRobin.cc +++ b/proxy/http/remap/NextHopRoundRobin.cc @@ -132,24 +132,23 @@ NextHopRoundRobin::findNextHop(TSHttpTxn txnp, void *ih, time_t now) } NH_Debug(NH_DEBUG_TAG, - "[%" PRIu64 "] Selected a parent, %s, failCount (faileAt: %d failCount: %d), FailThreshold: %" PRIu64 + "[%" PRIu64 "] Selected a parent, %s, failCount (failedAt: %" PRIdMAX " failCount: %d), FailThreshold: %" PRIu64 ", request_info->xact_start: %ld", - sm_id, cur_host->hostname.c_str(), (unsigned)cur_host->failedAt, cur_host->failCount.load(), fail_threshold, + sm_id, cur_host->hostname.c_str(), (intmax_t)cur_host->failedAt, cur_host->failCount.load(), fail_threshold, request_info.xact_start); // check if 'cur_host' is available, mark it up if it is. if ((cur_host->failedAt == 0) || (cur_host->failCount.load() < fail_threshold)) { if (cur_host->available.load() && host_stat == TS_HOST_STATUS_UP) { NH_Debug(NH_DEBUG_TAG, - "[%" PRIu64 - "] Selecting a parent, %s, due to little failCount (faileAt: %d failCount: %d), FailThreshold: %" PRIu64, - sm_id, cur_host->hostname.c_str(), (unsigned)cur_host->failedAt, cur_host->failCount.load(), fail_threshold); + "[%" PRIu64 "] Selecting a parent, %s, due to little failCount (failedAt: %" PRIdMAX + " failCount: %d), FailThreshold: %" PRIu64, + sm_id, cur_host->hostname.c_str(), (intmax_t)cur_host->failedAt, cur_host->failCount.load(), fail_threshold); parentUp = true; } } else { // if not available, check to see if it can be retried. If so, set the retry flag and temporairly mark it as // available. _now == 0 ? _now = time(nullptr) : _now = now; - if (((result->wrap_around) || (cur_host->failedAt + retry_time) < static_cast(_now)) && - host_stat == TS_HOST_STATUS_UP) { + if (((result->wrap_around) || (cur_host->failedAt + retry_time) < _now) && host_stat == TS_HOST_STATUS_UP) { // Reuse the parent parentUp= true; parentRetry = true;
[trafficserver] branch master updated: HttpSessionManager: implement global_locked session pool option (#10117)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 994e02e395 HttpSessionManager: implement global_locked session pool option (#10117) 994e02e395 is described below commit 994e02e395df323db0a3aa2bf8b81dfb28d69c07 Author: Brian Olsen AuthorDate: Sat Sep 23 08:06:15 2023 -0600 HttpSessionManager: implement global_locked session pool option (#10117) Use only when transaction loads starve the session pool to the point that the pool is mostly bypassed. Co-authored-by: Brian Olsen --- doc/admin-guide/files/records.yaml.en.rst | 48 iocore/eventsystem/I_Lock.h | 74 --- proxy/http/HttpConfig.cc | 7 +-- proxy/http/HttpProxyAPIEnums.h| 5 ++- proxy/http/HttpSessionManager.cc | 50 ++--- 5 files changed, 149 insertions(+), 35 deletions(-) diff --git a/doc/admin-guide/files/records.yaml.en.rst b/doc/admin-guide/files/records.yaml.en.rst index 633eb2ef8f..f87157ac52 100644 --- a/doc/admin-guide/files/records.yaml.en.rst +++ b/doc/admin-guide/files/records.yaml.en.rst @@ -1070,24 +1070,36 @@ allow-plain Control the scope of server session re-use if it is enabled by :ts:cv:`proxy.config.http.server_session_sharing.match`. Valid values are: - == = - Value Description - == = - ``global`` Re-use sessions from a global pool of all server sessions. - ``thread`` Re-use sessions from a per-thread pool. - ``hybrid`` Try to work as a global pool, but release server sessions to the - per-thread pool if there is lock contention on the global pool. - == = - - - Setting :ts:cv:`proxy.config.http.server_session_sharing.pool` to global can reduce - the number of connections to origin for some traffic loads. However, if many - execute threads are active, the thread contention on the global pool can reduce the - lifetime of connections to origin and reduce effective origin connection reuse. - - For a hybrid pool, the operation starts as the global pool, but sessons are returned - to the local thread pool if the global pool lock is not acquired rather than just - closing the origin connection as is the case in standard global mode. + = == + Value Description + = == + ``global``Re-use sessions from a global pool of all server sessions. + ``thread``Re-use sessions from a per-thread pool. + ``hybrid``Try to work as a global pool, but release server sessions + to the per-thread pool if there is lock contention on the + global pool. + ``global_locked`` Similar to global, except that the session pool is + managed by a blocking mutex. + = == + + + Setting :ts:cv:`proxy.config.http.server_session_sharing.pool` + to global can reduce the number of connections to origin for some + traffic loads. However, if many execute threads are active, the thread + contention on the global pool can reduce the lifetime of connections + to origin and reduce effective origin connection reuse. + + For a hybrid pool, the operation starts as the global pool, but sessons + are returned to the local thread pool if the global pool lock is not + acquired rather than just closing the origin connection as is the + case in standard global mode. + + For a ``global_locked`` pool connections are managed by a blocking + mutex instead of the normal try mutex. Under extreme transaction + loads the connection pool starvation may result in most transactions + bypassing the connection pool resulting in runaway upstream + connections. This option will avoid this condition at the cost of + latency and ttfb (time to first byte) performance). .. ts:cv:: CONFIG proxy.config.http.attach_server_session_to_client INT 0 :overridable: diff --git a/iocore/eventsystem/I_Lock.h b/iocore/eventsystem/I_Lock.h index b26a623e47..f79248bbfb 100644 --- a/iocore/eventsystem/I_Lock.h +++ b/iocore/eventsystem/I_Lock.h @@ -389,9 +389,11 @@ class WeakMutexLock { private: Ptr m; - bool locked_p; + bool locked_p{false}; public: + WeakMutexLock() = default; + WeakMutexLock( #ifdef DEBUG const SourceLocation , const char *ahandler, @@ -408,6 +410,20 @@ public: } } + WeakMutexLock
[trafficserver] branch master updated: slice/Data.h: CID 1508924: Uninitialized scalar field (#10470)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 84502fa369 slice/Data.h: CID 1508924: Uninitialized scalar field (#10470) 84502fa369 is described below commit 84502fa3696c246bc8324e8ec05e556a26194ba6 Author: Brian Olsen AuthorDate: Wed Sep 20 06:51:21 2023 -0600 slice/Data.h: CID 1508924: Uninitialized scalar field (#10470) --- plugins/slice/Data.h | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/slice/Data.h b/plugins/slice/Data.h index 175171aed9..0cce74249a 100644 --- a/plugins/slice/Data.h +++ b/plugins/slice/Data.h @@ -106,6 +106,7 @@ struct Data { m_hostname[0] = '\0'; m_etag[0] = '\0'; m_lastmodified[0] = '\0'; +memset(_client_ip, 0, sizeof(m_client_ip)); } ~Data()
[trafficserver] branch master updated (ac849aa9a9 -> 752ab5a0e3)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from ac849aa9a9 cmake: Add remaining plugins without external deps (#10395) add 752ab5a0e3 include/ts: comma on all last enum elements (#10400) No new revisions were added by this update. Summary of changes: include/ts/apidefs.h.in | 49 --- include/ts/experimental.h | 2 +- include/ts/remap.h| 4 ++-- 3 files changed, 32 insertions(+), 23 deletions(-)
[trafficserver] branch master updated (18b3d553b9 -> 10081d6b22)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 18b3d553b9 fix: check whether a protocol is enabled during the length calculation in create_npn_advertisement (#10381) add 10081d6b22 make alternate tests wait a multiple of cache_config_mutex_retry_delay (#10378) No new revisions were added by this update. Summary of changes: iocore/cache/test/test_Alternate_S_to_L_remove_L.cc | 2 +- iocore/cache/test/test_Alternate_S_to_L_remove_S.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
[trafficserver] branch master updated: URL.cc: url_length_get consider ipv6 address with added [] (#10387)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 48862f272d URL.cc: url_length_get consider ipv6 address with added [] (#10387) 48862f272d is described below commit 48862f272d8701aaf58940418e59d3a9a822c9a3 Author: Brian Olsen AuthorDate: Fri Sep 8 11:12:49 2023 -0600 URL.cc: url_length_get consider ipv6 address with added [] (#10387) --- proxy/hdrs/URL.cc| 8 src/traffic_server/InkAPITest.cc | 30 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/proxy/hdrs/URL.cc b/proxy/hdrs/URL.cc index 3b053699e2..73c85666af 100644 --- a/proxy/hdrs/URL.cc +++ b/proxy/hdrs/URL.cc @@ -856,6 +856,14 @@ url_length_get(URLImpl *url, unsigned normalization_flags) } if (url->m_ptr_host) { +// Force brackets for IPv6. Note colon must occur in first 5 characters. +// But it can be less (e.g. "::1"). +int const n = url->m_len_host; +bool const bracket_p = '[' != *url->m_ptr_host && (nullptr != memchr(url->m_ptr_host, ':', n > 5 ? 5 : n)); +if (bracket_p) { + length += 2; +} + length += url->m_len_host; if (url->m_ptr_port && url->m_port) { length += url->m_len_port + 1; // +1 for ":" diff --git a/src/traffic_server/InkAPITest.cc b/src/traffic_server/InkAPITest.cc index b07b02fd8f..e922c132be 100644 --- a/src/traffic_server/InkAPITest.cc +++ b/src/traffic_server/InkAPITest.cc @@ -35,6 +35,7 @@ #include #include #include +#include #include "tscore/ink_config.h" #include "tscore/ink_sprintf.h" @@ -3804,6 +3805,7 @@ REGRESSION_TEST(SDK_API_TSUrl)(RegressionTest *test, int /* atype ATS_UNUSED */, int type = 'a'; int type_get; int tmp_len; + char const *const hostipv6 = "2345:0425:2CA1::0567:5673:23b5"; bool test_passed_create = false; bool test_passed_scheme = false; @@ -3823,6 +3825,7 @@ REGRESSION_TEST(SDK_API_TSUrl)(RegressionTest *test, int /* atype ATS_UNUSED */, bool test_passed_length1 = false; bool test_passed_length2 = false; bool test_passed_type = false; + bool test_passed_ipv6 = false; int length; @@ -4071,6 +4074,30 @@ REGRESSION_TEST(SDK_API_TSUrl)(RegressionTest *test, int /* atype ATS_UNUSED */, } } + // test url_print correctly add surrounding [] for ipv6 address + if (TSUrlHostSet(bufp2, url_loc2, hostipv6, -1) != TS_SUCCESS) { +SDK_RPRINT(test, "TSUrlHostSet", hostipv6, TC_FAIL, "Returned TS_ERROR"); + } else { +int len = 0; +char *const temp = TSUrlStringGet(bufp2, url_loc2, ); +if (nullptr == temp) { + SDK_RPRINT(test, "TSUrlStringGet", hostipv6, TC_FAIL, "Returned nullptr"); +} else { + std::string const got(temp, len); + std::string const hipv6 = std::string("[") + hostipv6 + "]"; + std::string const exp = std::regex_replace(url_expected_string, std::regex(host), hipv6); + + if (got != exp) { +SDK_RPRINT(test, "TSUrlStringGet", got.c_str(), TC_FAIL, "Returned unexpected result"); + } else { +SDK_RPRINT(test, "TSUrlStringGet_ipv6", exp.c_str(), TC_PASS, "ok"); +test_passed_ipv6 = true; + } + + TSfree(temp); +} + } + SDK_RPRINT(test, "TSUrlCreate", "TestCase1&2", TC_PASS, "ok"); TSHandleMLocRelease(bufp1, TS_NULL_MLOC, url_loc1); TSHandleMLocRelease(bufp2, TS_NULL_MLOC, url_loc2); @@ -4102,7 +4129,8 @@ print_results: (test_passed_path == false) || (test_passed_params == false) || (test_passed_query == false) || (test_passed_fragment == false) || (test_passed_copy == false) || (test_passed_clone == false) || (test_passed_string1 == false) || (test_passed_string2 == false) || (test_passed_print == false) || - (test_passed_length1 == false) || (test_passed_length2 == false) || (test_passed_type == false)) { + (test_passed_length1 == false) || (test_passed_length2 == false) || (test_passed_type == false) || + (test_passed_ipv6 == false)) { /*** Debugging the test itself (test_passed_create == false)?printf("test_passed_create is false\n"):printf(""); (test_passed_destroy == false)?printf("test_passed_destroy is false\n"):printf("");
[trafficserver] branch master updated (62abe06545 -> 964cd49fe5)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 62abe06545 Give a chance to send a response before receiving next request on H2 (#9997) add 964cd49fe5 prefetch_cmcd: make autests more robust by removing need for gold file wildcard (#10382) No new revisions were added by this update. Summary of changes: .../pluginTest/prefetch/prefetch_cmcd.test.py | 4 ++-- .../pluginTest/prefetch/prefetch_cmcd0.gold| 26 +++--- .../pluginTest/prefetch/prefetch_cmcd1.gold| 24 ++-- 3 files changed, 27 insertions(+), 27 deletions(-)
[trafficserver] branch master updated: money_trace cid 1518569: string not null terminated (#10373)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new fb41acc0c8 money_trace cid 1518569: string not null terminated (#10373) fb41acc0c8 is described below commit fb41acc0c8a3014fe4145787d278a7b9c158f9a5 Author: Brian Olsen AuthorDate: Wed Sep 6 06:18:18 2023 -0600 money_trace cid 1518569: string not null terminated (#10373) --- plugins/experimental/money_trace/money_trace.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/experimental/money_trace/money_trace.cc b/plugins/experimental/money_trace/money_trace.cc index 7c0aa4e27a..785fc7d3e8 100644 --- a/plugins/experimental/money_trace/money_trace.cc +++ b/plugins/experimental/money_trace/money_trace.cc @@ -209,7 +209,7 @@ next_trace(std::string_view const request_hdr, TSHttpTxn const txnp) bwriter.write(spanid); bwriter.print("{}", TSHttpTxnIdGet(txnp)); - nexttrace.assign(bwriter.view()); + nexttrace = std::string(bwriter.data(), bwriter.size()); return nexttrace; } @@ -237,7 +237,7 @@ create_trace(TSHttpTxn const txnp) bwriter.write(spanid); bwriter.print("{}", TSHttpTxnIdGet(txnp)); -header = std::string{bwriter.view()}; +header = std::string(bwriter.data(), bwriter.size()); } else { LOG_ERROR("Error getting uuid string"); }
[trafficserver] branch master updated: Fix lua plugin build (#10319)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 70e2127e3a Fix lua plugin build (#10319) 70e2127e3a is described below commit 70e2127e3a6ef69ff677acc15f45b450c2350647 Author: Masaori Koshiba AuthorDate: Thu Aug 31 22:39:51 2023 +0900 Fix lua plugin build (#10319) --- plugins/lua/ts_lua_log.cc | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/lua/ts_lua_log.cc b/plugins/lua/ts_lua_log.cc index ceeaf644cf..eb6446c1d0 100644 --- a/plugins/lua/ts_lua_log.cc +++ b/plugins/lua/ts_lua_log.cc @@ -18,7 +18,7 @@ #include "ts_lua_util.h" -static TSTextLogObject log; +static TSTextLogObject ts_log; static int ts_lua_log_object_creat(lua_State *L); static int ts_lua_log_object_write(lua_State *L); @@ -64,9 +64,9 @@ ts_lua_log_object_creat(lua_State *L) log_mode = luaL_checknumber(L, 3); } - error = TSTextLogObjectCreate(log_name, log_mode, ); + error = TSTextLogObjectCreate(log_name, log_mode, _log); - if (!log || error == TS_ERROR) { + if (!ts_log || error == TS_ERROR) { TSError("[ts_lua][%s] Unable to create log <%s>", __FUNCTION__, log_name); return -1; } @@ -87,8 +87,8 @@ ts_lua_log_object_write(lua_State *L) size_t text_len; text = luaL_checklstring(L, 1, _len); - if (log) { -TSTextLogObjectWrite(log, (char *)text, nullptr); + if (ts_log) { +TSTextLogObjectWrite(ts_log, (char *)text, nullptr); } else { TSError("[ts_lua][%s] log object does not exist for write", __FUNCTION__); } @@ -106,7 +106,7 @@ ts_lua_inject_log_object_destroy_api(lua_State *L) static int ts_lua_log_object_destroy(lua_State *L ATS_UNUSED) { - if (TSTextLogObjectDestroy(log) != TS_SUCCESS) { + if (TSTextLogObjectDestroy(ts_log) != TS_SUCCESS) { TSError("[ts_lua][%s] TSTextLogObjectDestroy error!", __FUNCTION__); }
[trafficserver] branch master updated (d43823bb75 -> 3269bdc471)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from d43823bb75 Make remap API compatibility checks consistent. (#10253) add 3269bdc471 CID 1508887 fix parent_select plugin stat Time of check. (#10260) No new revisions were added by this update. Summary of changes: .../parent_select/consistenthash_config.cc | 115 ++--- 1 file changed, 55 insertions(+), 60 deletions(-)
[trafficserver] branch master updated (3fe05c806d -> 1d8a6e5786)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 3fe05c806d regex_revalidate: CID 1216305/1497374 file stat fixes (#10262) add 1d8a6e5786 Fix CID 1518143: String not null terminated money_trace plugin (#10265) No new revisions were added by this update. Summary of changes: plugins/experimental/money_trace/money_trace.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[trafficserver] branch master updated (06519e83ad -> 3fe05c806d)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 06519e83ad Python 3.12: Make autest regex strings raw strings (#10257) add 3fe05c806d regex_revalidate: CID 1216305/1497374 file stat fixes (#10262) No new revisions were added by this update. Summary of changes: plugins/regex_revalidate/regex_revalidate.cc | 73 +++- 1 file changed, 40 insertions(+), 33 deletions(-)
[trafficserver-ci] branch main updated (2ae0f7d -> e604f93)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git from 2ae0f7d Remove the setting of LD_LIBRARY_PATH for boring (#201) new 3caeaf1 make clang analyzer distro and ca version configurable new 874f03c env variable fixes in clang_analyzer pipeline new 5c3406a scan for clang-analyzer executable in shell script new e604f93 Merge pull request #202 from traeak/ca_ver The 396 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: jenkins/bin/clang-analyzer.sh | 13 - jenkins/branch/clang_analyzer.pipeline | 7 +-- 2 files changed, 13 insertions(+), 7 deletions(-)
[trafficserver] branch master updated (8a1e0fdebd -> b391b25a2c)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 8a1e0fdebd Don't throw exceptions if io_uring cannot be initialized. (#9702) add b391b25a2c tools/check-unused-dependencies: make exceptions for tools under clang+asan (#10093) No new revisions were added by this update. Summary of changes: tools/check-unused-dependencies | 27 +++ 1 file changed, 23 insertions(+), 4 deletions(-)
[trafficserver] branch master updated (91b62d9c1f -> 1d0f042931)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 91b62d9c1f Do not set @SECLEVEL with boringssl. (#10090) add 1d0f042931 Add more debug to the regex_revalidate main handler. (#9934) No new revisions were added by this update. Summary of changes: doc/admin-guide/plugins/regex_revalidate.en.rst| 12 +++ plugins/regex_revalidate/regex_revalidate.c| 116 + .../regex_revalidate/gold/regex_reval-hit.gold | 10 -- .../regex_revalidate/gold/regex_reval-miss.gold| 10 -- .../regex_revalidate/gold/regex_reval-stale.gold | 10 -- .../regex_revalidate/regex_revalidate.test.py | 78 -- .../regex_revalidate/regex_revalidate_miss.test.py | 63 +++ 7 files changed, 196 insertions(+), 103 deletions(-) delete mode 100644 tests/gold_tests/pluginTest/regex_revalidate/gold/regex_reval-hit.gold delete mode 100644 tests/gold_tests/pluginTest/regex_revalidate/gold/regex_reval-miss.gold delete mode 100644 tests/gold_tests/pluginTest/regex_revalidate/gold/regex_reval-stale.gold
[trafficserver] branch master updated (0cd6732de2 -> 240025962c)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 0cd6732de2 Extract opening a pre_warm connection (#9859) add 240025962c compress plugin: add minimum-content-length default value to docs (#10086) No new revisions were added by this update. Summary of changes: doc/admin-guide/plugins/compress.en.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[trafficserver-ci] branch main updated: run clang-analyzer on ubuntu 22.04, clang-14
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 6bfe505 run clang-analyzer on ubuntu 22.04, clang-14 new e4876df Merge pull request #196 from traeak/analyzer_ubuntu_2204 6bfe505 is described below commit 6bfe505b47494bf255161cb44cd6c970deda85cc Author: Brian Olsen AuthorDate: Wed Jul 19 15:41:08 2023 + run clang-analyzer on ubuntu 22.04, clang-14 --- jenkins/bin/clang-analyzer.sh | 4 ++-- jenkins/branch/clang_analyzer.pipeline | 2 +- jenkins/github/clang-analyzer.pipeline | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/jenkins/bin/clang-analyzer.sh b/jenkins/bin/clang-analyzer.sh index 2dbc1e7..b6742a6 100755 --- a/jenkins/bin/clang-analyzer.sh +++ b/jenkins/bin/clang-analyzer.sh @@ -24,14 +24,14 @@ mkdir -p ${WORKSPACE}/output/${GITHUB_BRANCH} grep -q 80010 configure.ac && echo "8.1.x branch detected, stop here!" && exit 0 autoreconf -fiv -scan-build-10 --keep-cc \ +scan-build-14 --keep-cc \ ./configure --enable-experimental-plugins --with-luajit # build things like yamlcpp without the analyzer make -j4 -C lib all-local V=1 Q= rptdir="${WORKSPACE}/output/${GITHUB_BRANCH}" -scan-build-10 --keep-cc \ +scan-build-14 --keep-cc \ -enable-checker alpha.unix.cstring.BufferOverlap \ -enable-checker alpha.core.BoolAssignment \ -enable-checker alpha.core.CastSize \ diff --git a/jenkins/branch/clang_analyzer.pipeline b/jenkins/branch/clang_analyzer.pipeline index 93883db..c16655f 100644 --- a/jenkins/branch/clang_analyzer.pipeline +++ b/jenkins/branch/clang_analyzer.pipeline @@ -2,7 +2,7 @@ pipeline { agent { docker { registryUrl 'https://ci.trafficserver.apache.org/' - image 'ci.trafficserver.apache.org/ats/ubuntu:20.04' + image 'ci.trafficserver.apache.org/ats/ubuntu:22.04' args '-v /home/jenkins/clang-analyzer:/tmp/clang-analyzer:rw --network=host' label 'branch' } diff --git a/jenkins/github/clang-analyzer.pipeline b/jenkins/github/clang-analyzer.pipeline index 65891d9..cc35d66 100644 --- a/jenkins/github/clang-analyzer.pipeline +++ b/jenkins/github/clang-analyzer.pipeline @@ -1,7 +1,7 @@ pipeline { agent { docker { -image 'ci.trafficserver.apache.org/ats/ubuntu:20.04' +image 'ci.trafficserver.apache.org/ats/ubuntu:22.04' registryUrl 'https://ci.trafficserver.apache.org/' args '-v /home/rooter/clang-analyzer:/tmp/clang-analyzer:rw' label 'docker' @@ -44,9 +44,9 @@ pipeline { set -x set -e autoreconf -fiv -scan-build-10 --keep-cc ./configure --enable-experimental-plugins --with-luajit +scan-build-14 --keep-cc ./configure --enable-experimental-plugins --with-luajit make -j4 -C lib all-local V=1 Q= -scan-build-10 --keep-cc -enable-checker alpha.unix.cstring.BufferOverlap -enable-checker \ +scan-build-14 --keep-cc -enable-checker alpha.unix.cstring.BufferOverlap -enable-checker \ alpha.core.BoolAssignment -enable-checker alpha.core.CastSize -enable-checker alpha.core.SizeofPtr \ --status-bugs --keep-empty \ -o ${WORKSPACE}/output/${GITHUB_PR_NUMBER} --html-title="clang-analyzer: ${GITHUB_PR_NUMBER}" \
[trafficserver-ci] branch main updated: change to debian 12 for github pr builds
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new 509cc4c change to debian 12 for github pr builds new ebe7696 Merge pull request #195 from traeak/pr_debian_12 509cc4c is described below commit 509cc4c89701dda4fb07ce70b4ccb34a26fd3a67 Author: Brian Olsen AuthorDate: Wed Jul 19 13:43:51 2023 + change to debian 12 for github pr builds --- jenkins/github/debian.pipeline | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/github/debian.pipeline b/jenkins/github/debian.pipeline index aa152c0..8f9e026 100644 --- a/jenkins/github/debian.pipeline +++ b/jenkins/github/debian.pipeline @@ -1,7 +1,7 @@ pipeline { agent { docker { -image 'ci.trafficserver.apache.org/ats/debian:10' +image 'ci.trafficserver.apache.org/ats/debian:12' registryUrl 'https://ci.trafficserver.apache.org/' label 'docker' args '-v ${HOME}/ccache:/tmp/ccache:rw'
[trafficserver-ci] branch main updated: debian dockerfile to debian 12
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git The following commit(s) were added to refs/heads/main by this push: new e5d1ec1 debian dockerfile to debian 12 new 5327750 Merge pull request #194 from traeak/debian12 e5d1ec1 is described below commit e5d1ec147c9208cb53f5b7f8504c6ae28eecb996 Author: Brian Olsen AuthorDate: Wed Jul 19 13:34:21 2023 + debian dockerfile to debian 12 --- docker/debian/Dockerfile | 24 +++- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/docker/debian/Dockerfile b/docker/debian/Dockerfile index f60186c..c9e3d1c 100644 --- a/docker/debian/Dockerfile +++ b/docker/debian/Dockerfile @@ -1,14 +1,20 @@ -FROM debian:8 +# syntax=docker/dockerfile:1 -RUN apt-get update; \ -DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential llvm ccache \ +FROM debian:12 + +RUN <
[trafficserver] branch master updated (04f0ef346f -> 2a06fe79f8)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 04f0ef346f Add host_override NH option (#9984) add 2a06fe79f8 prefetch: widen evaluations from 32 to 64 bits (#9985) No new revisions were added by this update. Summary of changes: doc/admin-guide/plugins/prefetch.en.rst| 16 ++ plugins/prefetch/configs.cc| 40 +++ plugins/prefetch/configs.h | 20 +- plugins/prefetch/evaluate.cc | 270 +++-- plugins/prefetch/evaluate.h| 8 +- plugins/prefetch/plugin.cc | 6 +- plugins/prefetch/test/test_evaluate.cc | 43 +++- .../pluginTest/prefetch/prefetch_bignum.gold | 4 + ...etch_simple.test.py => prefetch_bignum.test.py} | 17 +- .../pluginTest/prefetch/prefetch_overflow.gold | 4 + ...ch_simple.test.py => prefetch_overflow.test.py} | 15 +- .../pluginTest/prefetch/prefetch_simple.test.py| 6 +- 12 files changed, 395 insertions(+), 54 deletions(-) create mode 100644 tests/gold_tests/pluginTest/prefetch/prefetch_bignum.gold copy tests/gold_tests/pluginTest/prefetch/{prefetch_simple.test.py => prefetch_bignum.test.py} (84%) create mode 100644 tests/gold_tests/pluginTest/prefetch/prefetch_overflow.gold copy tests/gold_tests/pluginTest/prefetch/{prefetch_simple.test.py => prefetch_overflow.test.py} (87%)
[trafficserver] branch master updated: Add TSHttpTxnNextHopPortGet, add NEXT-HOP to header rewrite (#9829)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 0363ab6291 Add TSHttpTxnNextHopPortGet, add NEXT-HOP to header rewrite (#9829) 0363ab6291 is described below commit 0363ab6291f2f25cf282ce35bd9acb08b67058d2 Author: Brian Olsen AuthorDate: Thu Jun 29 09:37:42 2023 -0600 Add TSHttpTxnNextHopPortGet, add NEXT-HOP to header rewrite (#9829) * add TSHttpTxnNextHopPortGet to api add header rewrite support for NEXT-HOP:HOST and NEXT-HOP:PORT * add to header rewrite documentation and other doc fixes - Co-authored-by: Brian Olsen --- doc/admin-guide/plugins/header_rewrite.en.rst | 26 + doc/admin-guide/plugins/lua.en.rst | 21 .../api/functions/TSHttpTxnNextHopPortGet.en.rst | 42 +++ include/ts/ts.h| 10 plugins/header_rewrite/conditions.cc | 62 +++-- plugins/header_rewrite/conditions.h| 25 + plugins/header_rewrite/factory.cc | 2 + plugins/header_rewrite/header_rewrite.cc | 2 +- plugins/header_rewrite/operators.cc| 5 +- plugins/header_rewrite/resources.cc| 1 + plugins/header_rewrite/statement.cc| 17 ++ plugins/header_rewrite/statement.h | 11 +++- plugins/lua/ts_lua_server_request.c| 16 ++ src/traffic_server/InkAPI.cc | 14 + src/traffic_server/InkAPITest.cc | 63 +- 15 files changed, 306 insertions(+), 11 deletions(-) diff --git a/doc/admin-guide/plugins/header_rewrite.en.rst b/doc/admin-guide/plugins/header_rewrite.en.rst index eae64d9458..c45f14c536 100644 --- a/doc/admin-guide/plugins/header_rewrite.en.rst +++ b/doc/admin-guide/plugins/header_rewrite.en.rst @@ -236,6 +236,32 @@ Per-Mapping`_ above. The allows the operand to match against just a component of the URL, as documented in `URL Parts`_ below. +NEXT-HOP + +:: + +cond %{NEXT-HOP:} + +Returns next hop current selected parent information. The following qualifiers +are supported:: + +%{NEXT-HOP:HOST} Name of the current selected parent. +%{NEXT-HOP:PORT} Port of the current selected parent. + +Note that the of NEXT-HOP will likely not be available unless +an origin server connection is attempted at which point it will available +as part of the ``SEND_REQUEST_HDR_HOOK``. + +For example:: + +cond %{SEND_RESPONSE_HDR_HOOK} [AND] +cond %{NEXT-HOP:HOST} =www.firstparent.com +set-header HOST vhost.firstparent.com + +cond %{SEND_RESPONSE_HDR_HOOK} [AND] +cond %{NEXT-HOP:HOST} =www.secondparent.com +set-header HOST vhost.secondparent.com + GEO ~~~ :: diff --git a/doc/admin-guide/plugins/lua.en.rst b/doc/admin-guide/plugins/lua.en.rst index 3873827189..f24642cab3 100644 --- a/doc/admin-guide/plugins/lua.en.rst +++ b/doc/admin-guide/plugins/lua.en.rst @@ -1962,6 +1962,27 @@ Here is an example: `TOP <#ts-lua-plugin>`_ +ts.server_request.server_addr.get_nexthop_port +-- +**syntax:** *ts.server_request.server_addr.get_nexthop_port()* + +**context:** function @ TS_LUA_HOOK_SEND_REQUEST_HDR hook point or later + +**description**: This function can be used to get the port name of the next hop to the origin server. + +The ts.server_request.server_addr.get_nexthop_port function returns the port as an integer . + +Here is an example: + +:: + +function do_global_send_request() +port = ts.server_request.server_addr.get_nexthop_port() +print(name) -- test +end + +`TOP <#ts-lua-plugin>`_ + ts.sha256 - **syntax:** *digest = ts.sha256(str)* diff --git a/doc/developer-guide/api/functions/TSHttpTxnNextHopPortGet.en.rst b/doc/developer-guide/api/functions/TSHttpTxnNextHopPortGet.en.rst new file mode 100644 index 00..c90e5f1092 --- /dev/null +++ b/doc/developer-guide/api/functions/TSHttpTxnNextHopPortGet.en.rst @@ -0,0 +1,42 @@ +.. Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright + ownership. The ASF licenses this file to you under the Apache + License, Version 2.0 (the "License"); you may not use this file + except in compliance with the License. You may obtain a copy of + the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDIT
[trafficserver] branch master updated (903102581c -> b248de4cb0)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git from 903102581c Use strncpy() in regex_remap plugin to make Coverity happy (#9802) add b248de4cb0 parent selection coverity driven fixes (#9810) No new revisions were added by this update. Summary of changes: proxy/ParentConsistentHash.cc | 4 ++-- proxy/ParentSelection.cc | 3 +-- proxy/ParentSelection.h | 6 +++--- 3 files changed, 6 insertions(+), 7 deletions(-)
[trafficserver] branch strat_rec deleted (was 570da21218)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch strat_rec in repository https://gitbox.apache.org/repos/asf/trafficserver.git was 570da21218 fix or strategies abort where ParentResult rec isn't being set (not used by strategies) The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
[trafficserver] branch master updated: parent_select plugin: look in ats config dir for yaml config if path is relative (#9764)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 75ce27ec67 parent_select plugin: look in ats config dir for yaml config if path is relative (#9764) 75ce27ec67 is described below commit 75ce27ec6771ce6ed928ce24daa21ee308fd4b69 Author: Brian Olsen AuthorDate: Thu Jun 1 14:57:30 2023 -0600 parent_select plugin: look in ats config dir for yaml config if path is relative (#9764) * parent_select plugin: look in ats config dir for yaml config if path is relative * update autests to exercise parent_select.so relpath yaml config * shrink the amount of code changed - Co-authored-by: Brian Olsen --- doc/admin-guide/files/strategies.yaml.en.rst | 2 +- plugins/experimental/parent_select/parent_select.cc | 15 +++ .../parent_select_optional_scheme_matching.test.py| 4 +--- .../pluginTest/parent_select/parent_select_peer.test.py | 2 +- .../pluginTest/parent_select/parent_select_peer2.test.py | 4 +--- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/doc/admin-guide/files/strategies.yaml.en.rst b/doc/admin-guide/files/strategies.yaml.en.rst index 7b78395e09..f5b8443c17 100644 --- a/doc/admin-guide/files/strategies.yaml.en.rst +++ b/doc/admin-guide/files/strategies.yaml.en.rst @@ -34,7 +34,7 @@ Traffic Server uses the :file:`strategies.yaml` file only when one or more remap lines in remap.config specifies the use of a strategy with the @strategy tag. remap.config Example:: - map http://www.foo.com http://www.bar.com @strategy='mid-tier-north' + map http://www.foo.com http://www.bar.com @strategy=mid-tier-north After you modify the :file:`strategies.yaml` file, run the :option:`traffic_ctl config reload` command to apply your changes. diff --git a/plugins/experimental/parent_select/parent_select.cc b/plugins/experimental/parent_select/parent_select.cc index 0408ac39e8..6ed8f5b783 100644 --- a/plugins/experimental/parent_select/parent_select.cc +++ b/plugins/experimental/parent_select/parent_select.cc @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -271,10 +272,16 @@ TSRemapNewInstance(int argc, char *argv[], void **ih, char *errbuff, int errbuff return TS_ERROR; } - const char *remap_from = argv[0]; - const char *remap_to = argv[1]; - const char *config_file_path = argv[2]; - const char *strategy_name= argv[3]; + const char *remap_from = argv[0]; + const char *remap_to = argv[1]; + std::filesystem::path config_file_path_obj = argv[2]; + const char *strategy_name = argv[3]; + + if (config_file_path_obj.is_relative()) { +config_file_path_obj = std::filesystem::path(TSConfigDirGet()) / config_file_path_obj; + } + + const char *const config_file_path = config_file_path_obj.c_str(); TSDebug(PLUGIN_NAME, "%s %s Loading parent selection strategy file %s for strategy %s", remap_from, remap_to, config_file_path, strategy_name); diff --git a/tests/gold_tests/pluginTest/parent_select/parent_select_optional_scheme_matching.test.py b/tests/gold_tests/pluginTest/parent_select/parent_select_optional_scheme_matching.test.py index 4df05036b2..fd0362528d 100755 --- a/tests/gold_tests/pluginTest/parent_select/parent_select_optional_scheme_matching.test.py +++ b/tests/gold_tests/pluginTest/parent_select/parent_select_optional_scheme_matching.test.py @@ -106,9 +106,7 @@ s.AddLines([ " - *g1"]) ts.Disk.remap_config.AddLine( -"map http://dummy.com http://not_used @plugin=parent_select.so @pparam=" + -ts.Variables.CONFIGDIR + -"/strategies.yaml @pparam=the-strategy") +"map http://dummy.com http://not_used @plugin=parent_select.so @pparam=strategies.yaml @pparam=the-strategy") tr = Test.AddTestRun() tr.Processes.Default.StartBefore(server) diff --git a/tests/gold_tests/pluginTest/parent_select/parent_select_peer.test.py b/tests/gold_tests/pluginTest/parent_select/parent_select_peer.test.py index deec6a2d34..fcc8d7594b 100644 --- a/tests/gold_tests/pluginTest/parent_select/parent_select_peer.test.py +++ b/tests/gold_tests/pluginTest/parent_select/parent_select_peer.test.py @@ -135,7 +135,7 @@ for i in range(num_peer): #"- passive", ]) -suffix = f" @plugin=parent_select.so @pparam={ts.Variables.CONFIGDIR}/strategies.yaml @pparam=the-strategy @plugin=cachekey.so @pparam=--uri-type=remap @pparam=--capture-prefix=/(.*):(.*)/$1/" +suffix = " @plugin=parent_select.so @pparam=strategies.yaml @pparam=the-strategy @plugin=cachekey.so @pparam=--uri-type=remap @pparam=--capture-prefix=/(.*):(.
[trafficserver] branch strat_rec updated (b0ba448f8b -> 570da21218)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch strat_rec in repository https://gitbox.apache.org/repos/asf/trafficserver.git discard b0ba448f8b fix or strategies abort where ParentResult rec isn't being set (not used by strategies) add 570da21218 fix or strategies abort where ParentResult rec isn't being set (not used by strategies) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (b0ba448f8b) \ N -- N -- N refs/heads/strat_rec (570da21218) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../experimental/parent_select/parent_select.cc| 26 +- 1 file changed, 10 insertions(+), 16 deletions(-)
[trafficserver] branch strat_rec updated (0bcd5d8ef0 -> b0ba448f8b)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch strat_rec in repository https://gitbox.apache.org/repos/asf/trafficserver.git discard 0bcd5d8ef0 internal strategies set rec to extApiParent to make ParentResult::is_some work new b0ba448f8b fix or strategies abort where ParentResult rec isn't being set (not used by strategies) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (0bcd5d8ef0) \ N -- N -- N refs/heads/strat_rec (b0ba448f8b) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../experimental/parent_select/parent_select.cc| 26 +- proxy/ParentSelection.h| 4 ++-- proxy/http/remap/NextHopConsistentHash.cc | 1 - proxy/http/remap/NextHopRoundRobin.cc | 1 - proxy/http/remap/NextHopSelectionStrategy.h| 1 + 5 files changed, 19 insertions(+), 14 deletions(-)
[trafficserver] 01/01: fix or strategies abort where ParentResult rec isn't being set (not used by strategies)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch strat_rec in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit b0ba448f8bc3026662de4ba2bbe44e0cdfe39ac2 Author: Brian Olsen AuthorDate: Wed May 31 20:26:01 2023 + fix or strategies abort where ParentResult rec isn't being set (not used by strategies) --- .../experimental/parent_select/parent_select.cc| 26 +- proxy/ParentSelection.h| 4 ++-- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/plugins/experimental/parent_select/parent_select.cc b/plugins/experimental/parent_select/parent_select.cc index 0408ac39e8..0c7d1d08e9 100644 --- a/plugins/experimental/parent_select/parent_select.cc +++ b/plugins/experimental/parent_select/parent_select.cc @@ -273,29 +273,35 @@ TSRemapNewInstance(int argc, char *argv[], void **ih, char *errbuff, int errbuff const char *remap_from = argv[0]; const char *remap_to = argv[1]; - const char *config_file_path = argv[2]; + std::string config_file_path = argv[2]; const char *strategy_name= argv[3]; - TSDebug(PLUGIN_NAME, "%s %s Loading parent selection strategy file %s for strategy %s", remap_from, remap_to, config_file_path, - strategy_name); - auto file_strategies = createStrategiesFromFile(config_file_path); + if (config_file_path[0] != '/') { +config_file_path.assign(TSConfigDirGet()); +config_file_path.append("/"); +config_file_path.append(argv[2]); + } + + TSDebug(PLUGIN_NAME, "%s %s Loading parent selection strategy file %s for strategy %s", remap_from, remap_to, + config_file_path.c_str(), strategy_name); + auto file_strategies = createStrategiesFromFile(config_file_path.c_str()); if (file_strategies.size() == 0) { -TSError("[%s] %s %s Failed to parse configuration file %s", PLUGIN_NAME, remap_from, remap_to, config_file_path); +TSError("[%s] %s %s Failed to parse configuration file %s", PLUGIN_NAME, remap_from, remap_to, config_file_path.c_str()); return TS_ERROR; } - TSDebug(PLUGIN_NAME, "'%s' '%s' successfully created strategies in file %s num %d", remap_from, remap_to, config_file_path, - int(file_strategies.size())); + TSDebug(PLUGIN_NAME, "'%s' '%s' successfully created strategies in file %s num %d", remap_from, remap_to, + config_file_path.c_str(), int(file_strategies.size())); auto new_strategy = file_strategies.find(strategy_name); if (new_strategy == file_strategies.end()) { TSDebug(PLUGIN_NAME, "'%s' '%s' TSRemapNewInstance strategy '%s' not found in file '%s'", remap_from, remap_to, strategy_name, -config_file_path); +config_file_path.c_str()); return TS_ERROR; } TSDebug(PLUGIN_NAME, "'%s' '%s' TSRemapNewInstance successfully loaded strategy '%s' from '%s'.", remap_from, remap_to, - strategy_name, config_file_path); + strategy_name, config_file_path.c_str()); // created a raw pointer _to_ a shared_ptr, because ih needs a raw pointer. // The raw pointer in ih will be deleted in TSRemapDeleteInstance, @@ -307,7 +313,7 @@ TSRemapNewInstance(int argc, char *argv[], void **ih, char *errbuff, int errbuff TSMgmtString result; const char *var_name = "proxy.config.url_remap.filename"; TSMgmtStringGet(var_name, ); - TSMgmtConfigFileAdd(result, config_file_path); + TSMgmtConfigFileAdd(result, config_file_path.c_str()); return TS_SUCCESS; } diff --git a/proxy/ParentSelection.h b/proxy/ParentSelection.h index 8cd613f88c..1a2a7f9d1b 100644 --- a/proxy/ParentSelection.h +++ b/proxy/ParentSelection.h @@ -215,11 +215,11 @@ struct ParentResult { bool is_some() const { -if (rec == nullptr) { +if (nullptr == rec && nullptr == hostname) { // If we don't have a result, we either haven't done a parent // lookup yet (PARENT_UNDEFINED), or the lookup didn't match // anything (PARENT_DIRECT). - ink_assert(result == PARENT_UNDEFINED || result == PARENT_DIRECT); + ink_assert(result == PARENT_UNDEFINED || result == PARENT_DIRECT || result == PARENT_FAIL); return false; }
[trafficserver] branch strat_rec created (now 0bcd5d8ef0)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a change to branch strat_rec in repository https://gitbox.apache.org/repos/asf/trafficserver.git at 0bcd5d8ef0 internal strategies set rec to extApiParent to make ParentResult::is_some work This branch includes the following new commits: new 0bcd5d8ef0 internal strategies set rec to extApiParent to make ParentResult::is_some work The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[trafficserver] 01/01: internal strategies set rec to extApiParent to make ParentResult::is_some work
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch strat_rec in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit 0bcd5d8ef0b71669f77b9df9fdc5879f3d2bfb63 Author: Brian Olsen AuthorDate: Wed May 31 15:57:20 2023 + internal strategies set rec to extApiParent to make ParentResult::is_some work --- proxy/http/remap/NextHopConsistentHash.cc | 1 + proxy/http/remap/NextHopRoundRobin.cc | 1 + proxy/http/remap/NextHopSelectionStrategy.h | 1 - 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/proxy/http/remap/NextHopConsistentHash.cc b/proxy/http/remap/NextHopConsistentHash.cc index fe23dbe854..f463960a1c 100644 --- a/proxy/http/remap/NextHopConsistentHash.cc +++ b/proxy/http/remap/NextHopConsistentHash.cc @@ -462,6 +462,7 @@ NextHopConsistentHash::findNextHop(TSHttpTxn txnp, void *ih, time_t now) result.hostname= pRec->hostname.c_str(); result.last_parent = pRec->host_index; result.last_lookup = result.last_group = cur_ring; +result.rec = extApiRecord; switch (scheme) { case NH_SCHEME_NONE: case NH_SCHEME_HTTP: diff --git a/proxy/http/remap/NextHopRoundRobin.cc b/proxy/http/remap/NextHopRoundRobin.cc index f2e872553e..758a0ace6c 100644 --- a/proxy/http/remap/NextHopRoundRobin.cc +++ b/proxy/http/remap/NextHopRoundRobin.cc @@ -171,6 +171,7 @@ NextHopRoundRobin::findNextHop(TSHttpTxn txnp, void *ih, time_t now) result->last_parent = cur_hst_index; result->last_group = cur_grp_index; result->retry = parentRetry; + result->rec = extApiRecord; ink_assert(result->hostname != nullptr); ink_assert(result->port != 0); NH_Debug(NH_DEBUG_TAG, "[%" PRIu64 "] Chosen parent = %s.%d", sm_id, result->hostname, result->port); diff --git a/proxy/http/remap/NextHopSelectionStrategy.h b/proxy/http/remap/NextHopSelectionStrategy.h index 1fe49cb701..4047c96049 100644 --- a/proxy/http/remap/NextHopSelectionStrategy.h +++ b/proxy/http/remap/NextHopSelectionStrategy.h @@ -27,7 +27,6 @@ #include #include "ts/parentselectdefs.h" -#include "ParentSelection.h" #include "HttpTransact.h" #ifndef _NH_UNIT_TESTS_
[trafficserver] branch master updated: Add ssrc and surc log fields for server simple/unavail retry counts. (#9694)
This is an automated email from the ASF dual-hosted git repository. bnolsen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/master by this push: new 2c84be4887 Add ssrc and surc log fields for server simple/unavail retry counts. (#9694) 2c84be4887 is described below commit 2c84be4887df7972c6741f88fb6366c86bc81808 Author: Brian Olsen AuthorDate: Tue May 30 06:36:44 2023 -0600 Add ssrc and surc log fields for server simple/unavail retry counts. (#9694) * Add psrc and psuc log fields for parent simple/unavail retry counts. * rename from 'parent' to 'server - Co-authored-by: Brian Olsen --- doc/admin-guide/logging/formatting.en.rst | 4 proxy/logging/Log.cc | 10 ++ proxy/logging/LogAccess.cc| 26 ++ proxy/logging/LogAccess.h | 26 ++ 4 files changed, 54 insertions(+), 12 deletions(-) diff --git a/doc/admin-guide/logging/formatting.en.rst b/doc/admin-guide/logging/formatting.en.rst index d87fa62659..76a4dc1067 100644 --- a/doc/admin-guide/logging/formatting.en.rst +++ b/doc/admin-guide/logging/formatting.en.rst @@ -193,6 +193,8 @@ Connections and Transactions .. _sca: +.. _surc: +.. _ssrc: .. _sstc: .. _ccid: .. _ctid: @@ -207,6 +209,8 @@ Field Source Description = == == sca Proxy Number of attempts within the current transaction by |TS| in connecting to the origin server. +surc Proxy Parent unavailable retry count within the current transaction by |TS|. +ssrc Proxy Parent simple server retry count within the current transaction by |TS|. sstc Proxy Number of transactions between the |TS| proxy and the origin server from a single session. Any value greater than zero indicates connection reuse. diff --git a/proxy/logging/Log.cc b/proxy/logging/Log.cc index 5af69fffc5..1f0435d3b7 100644 --- a/proxy/logging/Log.cc +++ b/proxy/logging/Log.cc @@ -831,6 +831,16 @@ Log::init_fields() global_field_list.add(field, false); field_symbol_hash.emplace("sstc", field); + field = new LogField("server_unavailable_retry_count", "surc", LogField::sINT, ::marshal_server_unavailable_retry_count, + ::unmarshal_int_to_str); + global_field_list.add(field, false); + field_symbol_hash.emplace("surc", field); + + field = new LogField("server_simple_retry_count", "ssrc", LogField::sINT, ::marshal_server_simple_retry_count, + ::unmarshal_int_to_str); + global_field_list.add(field, false); + field_symbol_hash.emplace("ssrc", field); + field = new LogField("server_connect_attempts", "sca", LogField::sINT, ::marshal_server_connect_attempts, ::unmarshal_int_to_str); global_field_list.add(field, false); diff --git a/proxy/logging/LogAccess.cc b/proxy/logging/LogAccess.cc index b58dbbcab7..3a52f040c2 100644 --- a/proxy/logging/LogAccess.cc +++ b/proxy/logging/LogAccess.cc @@ -2626,6 +2626,32 @@ LogAccess::marshal_server_transact_count(char *buf) return INK_MIN_ALIGN; } +/*- + -*/ + +int +LogAccess::marshal_server_simple_retry_count(char *buf) +{ + if (buf) { +const int64_t attempts = m_http_sm->t_state.current.simple_retry_attempts; +marshal_int(buf, attempts); + } + return INK_MIN_ALIGN; +} + +/*- + -*/ + +int +LogAccess::marshal_server_unavailable_retry_count(char *buf) +{ + if (buf) { +const int64_t attempts = m_http_sm->t_state.current.unavailable_server_retry_attempts; +marshal_int(buf, attempts); + } + return INK_MIN_ALIGN; +} + /*- -*/ diff --git a/proxy/logging/LogAccess.h b/proxy/logging/LogAccess.h index c95ad18431..08bfb8f395 100644 --- a/proxy/logging/LogAccess.h +++ b/proxy/logging/LogAccess.h @@ -195,18 +195,20 @@ public: // // server -> proxy fields // - int marshal_server_host_ip(char *);// INT - int marshal_server_host_name(char *); // STR - int marshal_server_resp_status_code(char *); // INT - int marshal_server_resp_squid_len(char *); // INT - int marshal_server_resp_content_len(char *); // INT - int