You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bn...@apache.org on 2022/10/20 20:24:00 UTC

[trafficserver] branch 10-Dev updated (5cefa56dc -> 81dcece3b)

This is an automated email from the ASF dual-hosted git repository.

bneradt pushed a change to branch 10-Dev
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


    from 5cefa56dc More HTTP/2 local and server renaming (#9155)
     add 07e7ab94c Remove unnecessary, dangerous casts from SET_HANDLER and SET_CONTINUATION invocations. (#9129)
     add 4335cf868 Add Au test for various HTTP requests that are not RFC compliant. (#9035)
     add ed13a31f2 fix contradicting documentation and say a bit about the resident size of a volume directory (#9133)
     add 4f4ee2e21 Allocator that just uses malloc and bypasses custom jemalloc or freelists (#9108)
     add 495f81f9a In NetHandler, don't use a union to do a ratchet cast to base class. (#9127)
     add c4d07a402 Remove unused functions in SocketManager namespace. (#9126)
     add 700500407 mimalloc nodump allocator (#8791)
     add e20e0bc78 Log trnx visited parent attempts (#9099)
     add 0ca449ca7 aio_thread_main does not have to be static (#9021)
     add feac204ec AuTest automatic keylog file configuration (#9137)
     add 46eb6baee tests: select_ports defaults to True, remove explicit setting (#9142)
     add 215f17db3 Fail sni.yaml loading if related resources fail to load (#9132)
     add bc4bf2ca9 MaxMind change regex to operate on the full pristine URL and not just the path (#9138)
     add 96acfe819 Traffic Dump: fix YAML format for CONNECT requests (#9139)
     add d7f728cc1 Add missing Makefile for wasm example and fix doc format (#9151)
     add 9efdb4379 tests: enable_cache defaults to True, remove explicit setting (#9143)
     add b75eb0a73 Clean up some errors in output of ASAN build. (#9004)
     add 2506ec8a1 Fix transparent tr-pass (#9150)
     new 81dcece3b Merge latest master in to 10-Dev

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:
 build/mimalloc.m4                                  |   7 +-
 configure.ac                                       |  11 +
 .../statistics/core/http-connection.en.rst         |   5 +
 doc/admin-guide/plugins/maxmind_acl.en.rst         |   3 +-
 doc/admin-guide/plugins/wasm.en.rst                |   1 +
 doc/admin-guide/storage/index.en.rst               |   2 +-
 .../cache-architecture/architecture.en.rst         |   4 +
 .../testing/blackbox-testing.en.rst                |   2 +-
 include/tscore/Allocator.h                         | 117 ++++++++-
 include/tscore/{JeAllocator.h => JeMiAllocator.h}  |  54 ++--
 include/tscore/ink_config.h.in                     |   2 +
 iocore/aio/AIO.cc                                  |  12 +-
 iocore/cache/P_CacheHosting.h                      |   5 +-
 iocore/dns/DNS.cc                                  |   8 +-
 iocore/eventsystem/I_ProxyAllocator.h              |   3 +-
 iocore/eventsystem/I_SocketManager.h               |  38 +--
 iocore/eventsystem/P_Freer.h                       |   5 +-
 iocore/eventsystem/P_UnixSocketManager.h           | 280 ---------------------
 iocore/hostdb/HostDB.cc                            |  18 +-
 iocore/hostdb/P_HostDBProcessor.h                  |   2 +-
 iocore/net/P_UnixNet.h                             |   4 +-
 iocore/net/QUICNetVConnection.cc                   |  18 +-
 iocore/net/SSLNetVConnection.cc                    |   2 +-
 iocore/net/SSLSNIConfig.cc                         |  43 +++-
 iocore/net/SSLSNIConfig.h                          |  10 +-
 iocore/net/Socks.cc                                |   2 +-
 iocore/net/UnixNet.cc                              |   4 +-
 iocore/net/UnixNetAccept.cc                        |  14 +-
 iocore/net/UnixNetVConnection.cc                   |   6 +-
 iocore/net/UnixUDPNet.cc                           |   4 +-
 mgmt/RecordsConfig.cc                              |   2 +
 plugins/experimental/maxmind_acl/mmdb.cc           |  29 ++-
 plugins/experimental/maxmind_acl/mmdb.h            |   2 +-
 .../experimental/traffic_dump/transaction_data.cc  |   9 +-
 .../experimental/wasm/examples/cpp/Makefile        |   8 +-
 proxy/CacheControl.cc                              |   5 +-
 proxy/http/HttpConfig.cc                           |   4 +
 proxy/http/HttpConfig.h                            |   2 +-
 proxy/http/HttpSM.cc                               |  25 +-
 proxy/http/HttpTransact.cc                         |   7 +
 proxy/logging/Log.cc                               |   2 +-
 proxy/logging/LogConfig.cc                         |  10 +-
 src/traffic_server/SocksProxy.cc                   |   6 +-
 src/traffic_server/traffic_server.cc               |   7 +
 src/tscore/DbgCtl.cc                               |  12 +-
 src/tscore/{JeAllocator.cc => JeMiAllocator.cc}    |  84 ++++---
 src/tscore/Makefile.am                             |   2 +-
 src/tscore/ink_queue.cc                            |   8 +-
 .../gold_tests/autest-site/trafficserver.test.ext  |   8 +
 tests/gold_tests/bad_http_fmt/bad_http_fmt.test.py | 175 +++++++++++++
 tests/gold_tests/bad_http_fmt/client.gold          |  25 ++
 tests/gold_tests/bad_http_fmt/server.gold          |  16 ++
 tests/gold_tests/basic/basic.test.py               |   2 +-
 tests/gold_tests/cache/background_fill.test.py     |   3 +-
 .../cache/cache-generation-clear.test.py           |   2 +-
 .../chunked_encoding/bad_chunked_encoding.test.py  |   2 +-
 .../chunked_encoding/chunked_encoding.test.py      |   2 +-
 .../chunked_encoding/chunked_encoding_h2.test.py   |   2 +-
 tests/gold_tests/connect/connect.test.py           |   2 +-
 tests/gold_tests/continuations/double.test.py      |   2 +-
 tests/gold_tests/continuations/double_h2.test.py   |   2 +-
 .../gold_tests/continuations/openclose_h2.test.py  |   2 +-
 tests/gold_tests/dns/dns_ttl.test.py               |   2 +-
 tests/gold_tests/dns/splitdns.test.py              |   2 +-
 .../gold_tests/forward_proxy/forward_proxy.test.py |   1 -
 tests/gold_tests/h2/h2disable.test.py              |   2 +-
 .../h2/h2disable_no_accept_threads.test.py         |   2 +-
 tests/gold_tests/h2/http2.test.py                  |   2 +-
 tests/gold_tests/h2/http2_flow_control.test.py     |   1 -
 tests/gold_tests/h2/http2_priority.test.py         |   2 +-
 tests/gold_tests/h2/httpbin.test.py                |   2 +-
 tests/gold_tests/h2/nghttp.test.py                 |   2 +-
 .../headers/good_request_after_bad.test.py         |   4 +-
 tests/gold_tests/headers/hsts.test.py              |   2 +-
 tests/gold_tests/headers/normalize_ae.test.py      |   4 +-
 tests/gold_tests/ip_allow/ip_allow.test.py         |   2 +-
 .../gold_tests/jsonrpc/jsonrpc_api_schema.test.py  |   2 +-
 .../client_context_dump.test.py                    |   2 +-
 .../pluginTest/lua/lua_states_stats.test.py        |   2 +-
 .../pluginTest/multiplexer/multiplexer.test.py     |   1 -
 .../regex_revalidate/regex_revalidate.test.py      |   2 +-
 .../pluginTest/remap_stats/remap_stats.test.py     |   2 +-
 .../remap_stats/remap_stats_post.test.py           |   2 +-
 .../server_push_preload.test.py                    |   2 +-
 .../stats_over_http/stats_over_http.test.py        |   2 +-
 .../pluginTest/stek_share/stek_share.test.py       |  10 +-
 .../pluginTest/test_hooks/hook_add.test.py         |   2 +-
 .../test_hooks/ssn_start_delay_hook.test.py        |   2 +-
 .../pluginTest/test_hooks/test_hooks.test.py       |   2 +-
 .../traffic_dump/replay/traffic_dump.yaml          |  35 +++
 .../pluginTest/traffic_dump/traffic_dump.test.py   |  34 ++-
 .../traffic_dump/traffic_dump_sni_filter.test.py   |   2 +-
 tests/gold_tests/pluginTest/tsapi/tsapi.test.py    |   2 +-
 .../gold_tests/pluginTest/url_sig/url_sig.test.py  |   2 +-
 tests/gold_tests/post/post-continue.test.py        |   4 +-
 tests/gold_tests/post/post-early-return.test.py    |   2 +-
 .../post_slow_server_max_requests_in.test.py       |   2 +-
 .../proxy_protocol/proxy_protocol.test.py          |   2 +-
 tests/gold_tests/remap/conf_remap_float.test.py    |   2 +-
 tests/gold_tests/remap/remap_reload.test.py        |   2 +-
 tests/gold_tests/slow_post/slow_post.test.py       |   2 +-
 tests/gold_tests/timeout/accept_timeout.test.py    |   2 +-
 tests/gold_tests/timeout/active_timeout.test.py    |   4 +-
 .../timeout/inactive_client_timeout.test.py        |   2 +-
 tests/gold_tests/timeout/inactive_timeout.test.py  |   2 +-
 tests/gold_tests/tls/ssl_multicert_loader.test.py  |   4 +-
 tests/gold_tests/tls/tls.test.py                   |   2 +-
 tests/gold_tests/tls/tls_bad_alpn.test.py          |   2 +-
 .../tls/tls_check_cert_select_plugin.test.py       |   2 +-
 .../tls/tls_check_dual_cert_selection.test.py      |   2 +-
 .../tls/tls_check_dual_cert_selection2.test.py     |   2 +-
 .../tls_check_dual_cert_selection_plugin.test.py   |   2 +-
 tests/gold_tests/tls/tls_client_cert.test.py       |   2 +-
 tests/gold_tests/tls/tls_client_cert2.test.py      |   2 +-
 .../gold_tests/tls/tls_client_cert2_plugin.test.py |   2 +-
 .../tls/tls_client_cert_override.test.py           |   2 +-
 .../tls/tls_client_cert_override_plugin.test.py    |   2 +-
 .../gold_tests/tls/tls_client_cert_plugin.test.py  |   2 +-
 tests/gold_tests/tls/tls_client_verify.test.py     |   2 +-
 tests/gold_tests/tls/tls_client_verify2.test.py    |   2 +-
 tests/gold_tests/tls/tls_client_verify3.test.py    |   2 +-
 tests/gold_tests/tls/tls_client_versions.test.py   |   2 +-
 tests/gold_tests/tls/tls_engine.test.py            |   2 +-
 tests/gold_tests/tls/tls_forward_nonhttp.test.py   |   2 +-
 .../gold_tests/tls/tls_hooks_client_verify.test.py |   2 +-
 tests/gold_tests/tls/tls_hooks_verify.test.py      |   2 +-
 tests/gold_tests/tls/tls_keepalive.test.py         |   2 +-
 tests/gold_tests/tls/tls_ocsp.test.py              |   2 +-
 .../tls/tls_origin_session_reuse.test.py           |   8 +-
 .../tls/tls_partial_blind_tunnel.test.py           |   2 +-
 .../gold_tests/tls/tls_session_key_logging.test.py |   4 +
 tests/gold_tests/tls/tls_session_reuse.test.py     |   6 +-
 tests/gold_tests/tls/tls_sni_host_policy.test.py   |   2 +-
 tests/gold_tests/tls/tls_sni_yaml_reload.test.py   | 131 ++++++++++
 tests/gold_tests/tls/tls_ticket.test.py            |   4 +-
 tests/gold_tests/tls/tls_tunnel.test.py            |   2 +-
 tests/gold_tests/tls/tls_tunnel_forward.test.py    |   2 +-
 tests/gold_tests/tls/tls_verify.test.py            |   2 +-
 tests/gold_tests/tls/tls_verify2.test.py           |   2 +-
 tests/gold_tests/tls/tls_verify3.test.py           |   2 +-
 tests/gold_tests/tls/tls_verify_base.test.py       |   2 +-
 .../gold_tests/tls/tls_verify_ca_override.test.py  |   2 +-
 .../gold_tests/tls/tls_verify_not_pristine.test.py |   2 +-
 tests/gold_tests/tls/tls_verify_override.test.py   |   2 +-
 .../tls/tls_verify_override_base.test.py           |   2 +-
 .../gold_tests/tls/tls_verify_override_sni.test.py |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks.test.py       |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks10.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks11.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks12.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks13.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks14.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks15.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks16.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks17.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks18.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks2.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks3.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks4.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks6.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks7.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks8.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks9.test.py      |   2 +-
 163 files changed, 957 insertions(+), 623 deletions(-)
 rename include/tscore/{JeAllocator.h => JeMiAllocator.h} (62%)
 copy configs/body_factory/Makefile.am => plugins/experimental/wasm/examples/cpp/Makefile (89%)
 rename src/tscore/{JeAllocator.cc => JeMiAllocator.cc} (54%)
 create mode 100644 tests/gold_tests/bad_http_fmt/bad_http_fmt.test.py
 create mode 100644 tests/gold_tests/bad_http_fmt/client.gold
 create mode 100644 tests/gold_tests/bad_http_fmt/server.gold
 create mode 100644 tests/gold_tests/tls/tls_sni_yaml_reload.test.py


[trafficserver] 01/01: Merge latest master in to 10-Dev

Posted by bn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

bneradt pushed a commit to branch 10-Dev
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 81dcece3bf249d61492f0bf77282e087720b0537
Merge: 5cefa56dc 2506ec8a1
Author: Brian Neradt <br...@gmail.com>
AuthorDate: Thu Oct 20 20:21:06 2022 +0000

    Merge latest master in to 10-Dev
    
    Conflicts:
          tests/gold_tests/continuations/double.test.py
          tests/gold_tests/continuations/double_h2.test.py
          tests/gold_tests/continuations/openclose_h2.test.py
          tests/gold_tests/ip_allow/ip_allow.test.py
          tests/gold_tests/jsonrpc/plugins/Makefile.inc
          tests/gold_tests/pluginTest/client_context_dump/client_context_dump.test.py
          tests/gold_tests/pluginTest/lua/lua_states_stats.test.py
          tests/gold_tests/pluginTest/regex_revalidate/regex_revalidate.test.py
          tests/gold_tests/pluginTest/remap_stats/remap_stats.test.py
          tests/gold_tests/pluginTest/remap_stats/remap_stats_post.test.py
          tests/gold_tests/remap/conf_remap_float.test.py
          tests/gold_tests/remap/remap_reload.test.py
          tests/gold_tests/tls/ssl_multicert_loader.test.py
          tests/gold_tests/tls/tls_check_cert_select_plugin.test.py
          tests/gold_tests/tls/tls_client_cert.test.py
          tests/gold_tests/tls/tls_client_cert_override.test.py
          tests/gold_tests/tls/tls_client_cert_override_plugin.test.py
          tests/gold_tests/tls/tls_client_cert_plugin.test.py
          tests/gold_tests/tls/tls_client_verify.test.py
          tests/gold_tests/tls/tls_tunnel.test.py

 build/mimalloc.m4                                  |   7 +-
 configure.ac                                       |  11 +
 .../statistics/core/http-connection.en.rst         |   5 +
 doc/admin-guide/plugins/maxmind_acl.en.rst         |   3 +-
 doc/admin-guide/plugins/wasm.en.rst                |   1 +
 doc/admin-guide/storage/index.en.rst               |   2 +-
 .../cache-architecture/architecture.en.rst         |   4 +
 .../testing/blackbox-testing.en.rst                |   2 +-
 include/tscore/Allocator.h                         | 117 ++++++++-
 include/tscore/{JeAllocator.h => JeMiAllocator.h}  |  54 ++--
 include/tscore/ink_config.h.in                     |   2 +
 iocore/aio/AIO.cc                                  |  12 +-
 iocore/cache/P_CacheHosting.h                      |   5 +-
 iocore/dns/DNS.cc                                  |   8 +-
 iocore/eventsystem/I_ProxyAllocator.h              |   3 +-
 iocore/eventsystem/I_SocketManager.h               |  38 +--
 iocore/eventsystem/P_Freer.h                       |   5 +-
 iocore/eventsystem/P_UnixSocketManager.h           | 280 ---------------------
 iocore/hostdb/HostDB.cc                            |  18 +-
 iocore/hostdb/P_HostDBProcessor.h                  |   2 +-
 iocore/net/P_UnixNet.h                             |   4 +-
 iocore/net/QUICNetVConnection.cc                   |  18 +-
 iocore/net/SSLNetVConnection.cc                    |   2 +-
 iocore/net/SSLSNIConfig.cc                         |  43 +++-
 iocore/net/SSLSNIConfig.h                          |  10 +-
 iocore/net/Socks.cc                                |   2 +-
 iocore/net/UnixNet.cc                              |   4 +-
 iocore/net/UnixNetAccept.cc                        |  14 +-
 iocore/net/UnixNetVConnection.cc                   |   6 +-
 iocore/net/UnixUDPNet.cc                           |   4 +-
 mgmt/RecordsConfig.cc                              |   2 +
 plugins/experimental/maxmind_acl/mmdb.cc           |  29 ++-
 plugins/experimental/maxmind_acl/mmdb.h            |   2 +-
 .../experimental/traffic_dump/transaction_data.cc  |   9 +-
 .../experimental/wasm/examples/cpp/Makefile        |  16 +-
 proxy/CacheControl.cc                              |   5 +-
 proxy/http/HttpConfig.cc                           |   4 +
 proxy/http/HttpConfig.h                            |   2 +-
 proxy/http/HttpSM.cc                               |  25 +-
 proxy/http/HttpTransact.cc                         |   7 +
 proxy/logging/Log.cc                               |   2 +-
 proxy/logging/LogConfig.cc                         |  10 +-
 src/traffic_server/SocksProxy.cc                   |   6 +-
 src/traffic_server/traffic_server.cc               |   7 +
 src/tscore/DbgCtl.cc                               |  12 +-
 src/tscore/{JeAllocator.cc => JeMiAllocator.cc}    |  84 ++++---
 src/tscore/Makefile.am                             |   2 +-
 src/tscore/ink_queue.cc                            |   8 +-
 .../gold_tests/autest-site/trafficserver.test.ext  |   8 +
 tests/gold_tests/bad_http_fmt/bad_http_fmt.test.py | 175 +++++++++++++
 tests/gold_tests/bad_http_fmt/client.gold          |  25 ++
 tests/gold_tests/bad_http_fmt/server.gold          |  16 ++
 tests/gold_tests/basic/basic.test.py               |   2 +-
 tests/gold_tests/cache/background_fill.test.py     |   3 +-
 .../cache/cache-generation-clear.test.py           |   2 +-
 .../chunked_encoding/bad_chunked_encoding.test.py  |   2 +-
 .../chunked_encoding/chunked_encoding.test.py      |   2 +-
 .../chunked_encoding/chunked_encoding_h2.test.py   |   2 +-
 tests/gold_tests/connect/connect.test.py           |   2 +-
 tests/gold_tests/continuations/double.test.py      |   2 +-
 tests/gold_tests/continuations/double_h2.test.py   |   2 +-
 .../gold_tests/continuations/openclose_h2.test.py  |   2 +-
 tests/gold_tests/dns/dns_ttl.test.py               |   2 +-
 tests/gold_tests/dns/splitdns.test.py              |   2 +-
 .../gold_tests/forward_proxy/forward_proxy.test.py |   1 -
 tests/gold_tests/h2/h2disable.test.py              |   2 +-
 .../h2/h2disable_no_accept_threads.test.py         |   2 +-
 tests/gold_tests/h2/http2.test.py                  |   2 +-
 tests/gold_tests/h2/http2_flow_control.test.py     |   1 -
 tests/gold_tests/h2/http2_priority.test.py         |   2 +-
 tests/gold_tests/h2/httpbin.test.py                |   2 +-
 tests/gold_tests/h2/nghttp.test.py                 |   2 +-
 .../headers/good_request_after_bad.test.py         |   4 +-
 tests/gold_tests/headers/hsts.test.py              |   2 +-
 tests/gold_tests/headers/normalize_ae.test.py      |   4 +-
 tests/gold_tests/ip_allow/ip_allow.test.py         |   2 +-
 .../gold_tests/jsonrpc/jsonrpc_api_schema.test.py  |   2 +-
 .../client_context_dump.test.py                    |   2 +-
 .../pluginTest/lua/lua_states_stats.test.py        |   2 +-
 .../pluginTest/multiplexer/multiplexer.test.py     |   1 -
 .../regex_revalidate/regex_revalidate.test.py      |   2 +-
 .../pluginTest/remap_stats/remap_stats.test.py     |   2 +-
 .../remap_stats/remap_stats_post.test.py           |   2 +-
 .../server_push_preload.test.py                    |   2 +-
 .../stats_over_http/stats_over_http.test.py        |   2 +-
 .../pluginTest/stek_share/stek_share.test.py       |  10 +-
 .../pluginTest/test_hooks/hook_add.test.py         |   2 +-
 .../test_hooks/ssn_start_delay_hook.test.py        |   2 +-
 .../pluginTest/test_hooks/test_hooks.test.py       |   2 +-
 .../traffic_dump/replay/traffic_dump.yaml          |  35 +++
 .../pluginTest/traffic_dump/traffic_dump.test.py   |  34 ++-
 .../traffic_dump/traffic_dump_sni_filter.test.py   |   2 +-
 tests/gold_tests/pluginTest/tsapi/tsapi.test.py    |   2 +-
 .../gold_tests/pluginTest/url_sig/url_sig.test.py  |   2 +-
 tests/gold_tests/post/post-continue.test.py        |   4 +-
 tests/gold_tests/post/post-early-return.test.py    |   2 +-
 .../post_slow_server_max_requests_in.test.py       |   2 +-
 .../proxy_protocol/proxy_protocol.test.py          |   2 +-
 tests/gold_tests/remap/conf_remap_float.test.py    |   2 +-
 tests/gold_tests/remap/remap_reload.test.py        |   2 +-
 tests/gold_tests/slow_post/slow_post.test.py       |   2 +-
 tests/gold_tests/timeout/accept_timeout.test.py    |   2 +-
 tests/gold_tests/timeout/active_timeout.test.py    |   4 +-
 .../timeout/inactive_client_timeout.test.py        |   2 +-
 tests/gold_tests/timeout/inactive_timeout.test.py  |   2 +-
 tests/gold_tests/tls/ssl_multicert_loader.test.py  |   4 +-
 tests/gold_tests/tls/tls.test.py                   |   2 +-
 tests/gold_tests/tls/tls_bad_alpn.test.py          |   2 +-
 .../tls/tls_check_cert_select_plugin.test.py       |   2 +-
 .../tls/tls_check_dual_cert_selection.test.py      |   2 +-
 .../tls/tls_check_dual_cert_selection2.test.py     |   2 +-
 .../tls_check_dual_cert_selection_plugin.test.py   |   2 +-
 tests/gold_tests/tls/tls_client_cert.test.py       |   2 +-
 tests/gold_tests/tls/tls_client_cert2.test.py      |   2 +-
 .../gold_tests/tls/tls_client_cert2_plugin.test.py |   2 +-
 .../tls/tls_client_cert_override.test.py           |   2 +-
 .../tls/tls_client_cert_override_plugin.test.py    |   2 +-
 .../gold_tests/tls/tls_client_cert_plugin.test.py  |   2 +-
 tests/gold_tests/tls/tls_client_verify.test.py     |   2 +-
 tests/gold_tests/tls/tls_client_verify2.test.py    |   2 +-
 tests/gold_tests/tls/tls_client_verify3.test.py    |   2 +-
 tests/gold_tests/tls/tls_client_versions.test.py   |   2 +-
 tests/gold_tests/tls/tls_engine.test.py            |   2 +-
 tests/gold_tests/tls/tls_forward_nonhttp.test.py   |   2 +-
 .../gold_tests/tls/tls_hooks_client_verify.test.py |   2 +-
 tests/gold_tests/tls/tls_hooks_verify.test.py      |   2 +-
 tests/gold_tests/tls/tls_keepalive.test.py         |   2 +-
 tests/gold_tests/tls/tls_ocsp.test.py              |   2 +-
 .../tls/tls_origin_session_reuse.test.py           |   8 +-
 .../tls/tls_partial_blind_tunnel.test.py           |   2 +-
 .../gold_tests/tls/tls_session_key_logging.test.py |   4 +
 tests/gold_tests/tls/tls_session_reuse.test.py     |   6 +-
 tests/gold_tests/tls/tls_sni_host_policy.test.py   |   2 +-
 tests/gold_tests/tls/tls_sni_yaml_reload.test.py   | 131 ++++++++++
 tests/gold_tests/tls/tls_ticket.test.py            |   4 +-
 tests/gold_tests/tls/tls_tunnel.test.py            |   2 +-
 tests/gold_tests/tls/tls_tunnel_forward.test.py    |   2 +-
 tests/gold_tests/tls/tls_verify.test.py            |   2 +-
 tests/gold_tests/tls/tls_verify2.test.py           |   2 +-
 tests/gold_tests/tls/tls_verify3.test.py           |   2 +-
 tests/gold_tests/tls/tls_verify_base.test.py       |   2 +-
 .../gold_tests/tls/tls_verify_ca_override.test.py  |   2 +-
 .../gold_tests/tls/tls_verify_not_pristine.test.py |   2 +-
 tests/gold_tests/tls/tls_verify_override.test.py   |   2 +-
 .../tls/tls_verify_override_base.test.py           |   2 +-
 .../gold_tests/tls/tls_verify_override_sni.test.py |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks.test.py       |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks10.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks11.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks12.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks13.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks14.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks15.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks16.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks17.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks18.test.py     |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks2.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks3.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks4.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks6.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks7.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks8.test.py      |   2 +-
 tests/gold_tests/tls_hooks/tls_hooks9.test.py      |   2 +-
 163 files changed, 956 insertions(+), 632 deletions(-)

diff --cc tests/gold_tests/cache/cache-generation-clear.test.py
index 640212987,e066aee48..ab35a610f
--- a/tests/gold_tests/cache/cache-generation-clear.test.py
+++ b/tests/gold_tests/cache/cache-generation-clear.test.py
@@@ -23,7 -23,7 +23,7 @@@ Test that incrementing the cache genera
  '''
  Test.ContinueOnFail = True
  # Define default ATS
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts", command="traffic_server")
  
  # setup some config file for this server
  ts.Disk.records_config.update({
diff --cc tests/gold_tests/continuations/double.test.py
index 6180affba,f150dc990..d31934fa3
--- a/tests/gold_tests/continuations/double.test.py
+++ b/tests/gold_tests/continuations/double.test.py
@@@ -24,7 -24,7 +24,7 @@@ Test transactions and sessions for http
  
  Test.ContinueOnFail = True
  # Define default ATS. Disable the cache to simplify the test.
- ts = Test.MakeATSProcess("ts", select_ports=True, command="traffic_server", enable_cache=False)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager", enable_cache=False)
++ts = Test.MakeATSProcess("ts", command="traffic_server", enable_cache=False)
  server = Test.MakeOriginServer("server")
  
  Test.testName = ""
diff --cc tests/gold_tests/continuations/double_h2.test.py
index 3984d78fc,179e22cae..aad6832cb
--- a/tests/gold_tests/continuations/double_h2.test.py
+++ b/tests/gold_tests/continuations/double_h2.test.py
@@@ -26,7 -26,7 +26,7 @@@ Test.SkipUnless
  )
  Test.ContinueOnFail = True
  # Define default ATS. Disable the cache to simplify the test.
- ts = Test.MakeATSProcess("ts", select_ports=True, enable_tls=True, command="traffic_server", enable_cache=False)
 -ts = Test.MakeATSProcess("ts", enable_tls=True, command="traffic_manager", enable_cache=False)
++ts = Test.MakeATSProcess("ts", enable_tls=True, command="traffic_server", enable_cache=False)
  server = Test.MakeOriginServer("server")
  server2 = Test.MakeOriginServer("server2")
  
diff --cc tests/gold_tests/continuations/openclose_h2.test.py
index cab03ae4e,8f8e99d9c..8b9adb76b
--- a/tests/gold_tests/continuations/openclose_h2.test.py
+++ b/tests/gold_tests/continuations/openclose_h2.test.py
@@@ -27,8 -27,7 +27,8 @@@ Test.SkipUnless
  )
  
  # Define default ATS. Disable the cache to simplify the test.
- ts = Test.MakeATSProcess("ts", select_ports=True, enable_tls=True, command="traffic_server", enable_cache=False)
 -ts = Test.MakeATSProcess("ts", enable_tls=True, command="traffic_manager", enable_cache=False)
++ts = Test.MakeATSProcess("ts", enable_tls=True, command="traffic_server", enable_cache=False)
 +
  
  server = Test.MakeOriginServer("server")
  server2 = Test.MakeOriginServer("server2")
diff --cc tests/gold_tests/ip_allow/ip_allow.test.py
index 784023cd2,c1ac9848c..234c786ed
--- a/tests/gold_tests/ip_allow/ip_allow.test.py
+++ b/tests/gold_tests/ip_allow/ip_allow.test.py
@@@ -24,7 -24,7 +24,7 @@@ Verify ip_allow filtering behavior
  Test.ContinueOnFail = True
  
  # Define default ATS
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True,
 -ts = Test.MakeATSProcess("ts", command="traffic_manager",
++ts = Test.MakeATSProcess("ts", command="traffic_server",
                           enable_tls=True, enable_cache=False)
  server = Test.MakeOriginServer("server", ssl=True)
  
diff --cc tests/gold_tests/jsonrpc/jsonrpc_api_schema.test.py
index a93a1821e,000000000..2591bd62f
mode 100644,000000..100644
--- a/tests/gold_tests/jsonrpc/jsonrpc_api_schema.test.py
+++ b/tests/gold_tests/jsonrpc/jsonrpc_api_schema.test.py
@@@ -1,198 -1,0 +1,198 @@@
 +'''
 +JSONRPC Schema test. This test will run a basic request/response schema validation.
 +'''
 +#  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.
 +
 +
 +import os
 +import sys
 +import tempfile
 +from string import Template
 +
 +Test.Summary = 'Test jsonrpc admin API'
 +
 +
 +# set the schema folder.
 +schema_folder = os.path.join(Test.TestDirectory, '..', '..', '..', "mgmt", "rpc", "schema")
 +
 +
 +def substitute_context_in_file(process, file, context):
 +    '''
 +    Perform substitution based on the passed context dict. This function will return a new path for the substituted file.
 +    '''
 +    if os.path.isdir(file):
 +        raise ValueError(f"Mapping substitution not supported for directories.")
 +
 +    with open(os.path.join(process.TestDirectory, file), 'r') as req_file:
 +        req_template = Template(req_file.read())
 +        req_content = req_template.substitute(context)
 +        tf = tempfile.NamedTemporaryFile(delete=False, dir=process.RunDirectory, suffix=f"_{os.path.basename(file)}")
 +        file = tf.name
 +        with open(file, "w") as new_req_file:
 +            new_req_file.write(req_content)
 +
 +    return file
 +
 +
 +def add_testrun_for_jsonrpc_request(
 +        test_description,
 +        request_file_name,
 +        params_schema_file_name=None,
 +        result_schema_file_name=None,
 +        context=None):
 +    '''
 +    Simple wrapper around the AddJsonRPCClientRequest method.
 +
 +    context:
 +      This can be used if a template substitution is needed in the request file.
 +
 +    stdout_testers:
 +      Testers to be run on the output stream.
 +
 +    params_schema_file_name:
 +        Schema file to validate the request 'params' field.
 +
 +    result_schema_file_name:
 +        Schema file to validate the response 'result' field.
 +    '''
 +    tr = Test.AddTestRun(test_description)
 +    tr.Setup.Copy(request_file_name)
 +
 +    if context:
 +        request_file_name = substitute_context_in_file(tr, request_file_name, context)
 +
 +    request_schema_file_name = os.path.join(schema_folder, "jsonrpc_request_schema.json")
 +    tr.AddJsonRPCClientRequest(
 +        ts,
 +        file=os.path.join(
 +            ts.RunDirectory,
 +            os.path.basename(request_file_name)),
 +        schema_file_name=request_schema_file_name,
 +        params_field_schema_file_name=params_schema_file_name)
 +
 +    tr.Processes.Default.ReturnCode = 0
 +
 +    response_schema_file_name = os.path.join(schema_folder, "jsonrpc_response_schema.json")
 +    tr.Processes.Default.Streams.stdout = Testers.JSONRPCResponseSchemaValidator(
 +        schema_file_name=response_schema_file_name, result_field_schema_file_name=result_schema_file_name)
 +
 +    tr.StillRunningAfter = ts
 +    return tr
 +
 +
- ts = Test.MakeATSProcess('ts', enable_cache=True)
++ts = Test.MakeATSProcess('ts')
 +
 +Test.testName = 'Basic JSONRPC API test'
 +
 +ts.Disk.records_config.update({
 +    'proxy.config.diags.debug.enabled': 1,
 +    'proxy.config.diags.debug.tags': 'rpc|filemanager|http|cache',
 +    'proxy.config.jsonrpc.filename': "jsonrpc.yaml",  # We will be using this record to tests some RPC API.
 +})
 +
 +# One of the API's will be checking the storage. Need this to get a response with content.
 +storage_path = os.path.join(Test.RunDirectory, "ts", "storage")
 +ts.Disk.storage_config.AddLine(f"{storage_path} 512M")
 +
 +
 +# The following tests will only validate the jsonrpc message, it will not run any validation on the content of the 'result' or 'params'
 +# of the jsonrpc message. This should be added once the schemas are avilable.
 +
 +# jsonrpc 2.0 schema file. This will not check the param fields.
 +
 +success_schema_file_name_name = os.path.join(schema_folder, "success_response_schema.json")
 +# admin_lookup_records
 +
 +
 +params_schema_file_name = os.path.join(schema_folder, "admin_lookup_records_params_schema.json")
 +first = add_testrun_for_jsonrpc_request("Test admin_lookup_records",
 +                                        request_file_name='json/admin_lookup_records_req_1.json',
 +                                        params_schema_file_name=params_schema_file_name,
 +                                        context={'record_name': 'proxy.config.jsonrpc.filename'})
 +first.Processes.Default.StartBefore(ts)
 +
 +add_testrun_for_jsonrpc_request("Test admin_lookup_records w/error",
 +                                request_file_name='json/admin_lookup_records_req_invalid_rec.json')
 +
 +add_testrun_for_jsonrpc_request("Test admin_lookup_records",
 +                                request_file_name='json/admin_lookup_records_req_1.json',
 +                                context={'record_name': 'proxy.config.jsonrpc.filename'})
 +
 +add_testrun_for_jsonrpc_request("Test admin_lookup_records w/error",
 +                                request_file_name='json/admin_lookup_records_req_invalid_rec.json')
 +
 +add_testrun_for_jsonrpc_request("Test admin_lookup_records w/error",
 +                                request_file_name='json/admin_lookup_records_req_multiple.json',
 +                                context={'record_name': 'proxy.config.jsonrpc.filename'})
 +
 +add_testrun_for_jsonrpc_request("Test admin_lookup_records w/error",
 +                                request_file_name='json/admin_lookup_records_req_metric.json',
 +                                context={'record_name_regex': 'proxy.process.http.total_client_connections_ipv4*'})
 +
 +
 +# admin_config_set_records
 +add_testrun_for_jsonrpc_request("Test admin_lookup_records w/error", request_file_name='json/admin_config_set_records_req.json',
 +                                context={'record_name': 'proxy.config.jsonrpc.filename', 'record_value': 'test_jsonrpc.yaml'})
 +
 +# admin_config_reload
 +add_testrun_for_jsonrpc_request("Test admin_config_reload", request_file_name='json/admin_config_reload_req.json',
 +                                result_schema_file_name=success_schema_file_name_name)
 +
 +# admin_clear_metrics_records
 +add_testrun_for_jsonrpc_request("Clear admin_clear_metrics_records", request_file_name='json/admin_clear_metrics_records_req.json',
 +                                context={'record_name': 'proxy.process.http.404_responses'})
 +
 +# admin_host_set_status
 +add_testrun_for_jsonrpc_request("Test admin_host_set_status", request_file_name='json/admin_host_set_status_req.json',
 +                                context={'operation': 'up', 'host': 'my.test.host.trafficserver.com'})
 +
 +# admin_host_set_status
 +add_testrun_for_jsonrpc_request("Test admin_host_set_status", request_file_name='json/admin_host_set_status_req.json',
 +                                context={'operation': 'down', 'host': 'my.test.host.trafficserver.com'})
 +
 +
 +# admin_server_start_drain
 +add_testrun_for_jsonrpc_request("Test admin_server_start_drain", request_file_name='json/method_call_no_params.json',
 +                                context={'method': 'admin_server_start_drain'})
 +
 +add_testrun_for_jsonrpc_request("Test admin_server_start_drain",
 +                                request_file_name='json/method_call_no_params.json',
 +                                context={'method': 'admin_server_start_drain'})
 +
 +# admin_server_stop_drain
 +add_testrun_for_jsonrpc_request("Test admin_server_stop_drain", request_file_name='json/method_call_no_params.json',
 +                                context={'method': 'admin_server_stop_drain'})
 +
 +# admin_storage_get_device_status
 +add_testrun_for_jsonrpc_request(
 +    "Test admin_storage_get_device_status",
 +    request_file_name='json/admin_storage_x_device_status_req.json',
 +    context={
 +        'method': 'admin_storage_get_device_status',
 +        'device': f'{storage_path}/cache.db'})
 +
 +# admin_storage_set_device_offline
 +add_testrun_for_jsonrpc_request(
 +    "Test admin_storage_set_device_offline",
 +    request_file_name='json/admin_storage_x_device_status_req.json',
 +    context={
 +        'method': 'admin_storage_set_device_offline',
 +        'device': f'{storage_path}/cache.db'})
 +
 +# admin_plugin_send_basic_msg
 +add_testrun_for_jsonrpc_request("Test admin_plugin_send_basic_msg", request_file_name='json/admin_plugin_send_basic_msg_req.json',
 +                                result_schema_file_name=success_schema_file_name_name)
diff --cc tests/gold_tests/pluginTest/client_context_dump/client_context_dump.test.py
index 7cd8984b0,334479cb0..ca0704e00
--- a/tests/gold_tests/pluginTest/client_context_dump/client_context_dump.test.py
+++ b/tests/gold_tests/pluginTest/client_context_dump/client_context_dump.test.py
@@@ -25,7 -25,7 +25,7 @@@ Test client_context_dump plugi
  Test.SkipUnless(Condition.PluginExists('client_context_dump.so'))
  
  # Set up ATS
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True, enable_tls=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager", enable_tls=True)
++ts = Test.MakeATSProcess("ts", command="traffic_server", enable_tls=True)
  
  # Set up ssl files
  ts.addSSLfile("ssl/one.com.pem")
diff --cc tests/gold_tests/pluginTest/lua/lua_states_stats.test.py
index e9239e47c,fb3efe388..d81792412
--- a/tests/gold_tests/pluginTest/lua/lua_states_stats.test.py
+++ b/tests/gold_tests/pluginTest/lua/lua_states_stats.test.py
@@@ -28,7 -28,7 +28,7 @@@ Test.ContinueOnFail = Tru
  # Define default ATS
  server = Test.MakeOriginServer("server")
  
- ts = Test.MakeATSProcess("ts", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts")
  
  Test.testName = "Lua states and stats"
  
diff --cc tests/gold_tests/pluginTest/regex_revalidate/regex_revalidate.test.py
index 095afe59a,10fa65d38..7d9a63e26
--- a/tests/gold_tests/pluginTest/regex_revalidate/regex_revalidate.test.py
+++ b/tests/gold_tests/pluginTest/regex_revalidate/regex_revalidate.test.py
@@@ -44,7 -42,7 +44,7 @@@ Test.ContinueOnFail = Fals
  server = Test.MakeOriginServer("server")
  
  # Define ATS and configure
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts", command="traffic_server")
  
  Test.testName = "regex_revalidate"
  Test.Setup.Copy("metrics.sh")
diff --cc tests/gold_tests/pluginTest/remap_stats/remap_stats.test.py
index c38530121,3d09d95a5..d4ab397db
--- a/tests/gold_tests/pluginTest/remap_stats/remap_stats.test.py
+++ b/tests/gold_tests/pluginTest/remap_stats/remap_stats.test.py
@@@ -30,7 -30,7 +30,7 @@@ response_header = {"headers": "HTTP/1.
                     "timestamp": "1469733493.993", "body": ""}
  server.addResponse("sessionlog.json", request_header, response_header)
  
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts", command="traffic_server")
  
  ts.Disk.plugin_config.AddLine('remap_stats.so')
  
diff --cc tests/gold_tests/pluginTest/remap_stats/remap_stats_post.test.py
index 5687bda2b,4799974e3..54a91463e
--- a/tests/gold_tests/pluginTest/remap_stats/remap_stats_post.test.py
+++ b/tests/gold_tests/pluginTest/remap_stats/remap_stats_post.test.py
@@@ -30,7 -30,7 +30,7 @@@ response_header = {"headers": "HTTP/1.
                     "timestamp": "1469733493.993", "body": ""}
  server.addResponse("sessionlog.json", request_header, response_header)
  
- ts = Test.MakeATSProcess("ts", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts")
  
  ts.Disk.plugin_config.AddLine('remap_stats.so --post-remap-host')
  
diff --cc tests/gold_tests/remap/conf_remap_float.test.py
index 14c753ccb,7095d1039..bb867dcbb
--- a/tests/gold_tests/remap/conf_remap_float.test.py
+++ b/tests/gold_tests/remap/conf_remap_float.test.py
@@@ -20,7 -20,7 +20,7 @@@ Test command: traffic_ctl config descri
  '''
  Test.testName = 'Float in conf_remap Config Test'
  
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts", command="traffic_server")
  
  ts.Disk.MakeConfigFile('conf_remap.config').AddLines([
      'CONFIG proxy.config.http.background_fill_completed_threshold FLOAT 0.500000'
diff --cc tests/gold_tests/remap/remap_reload.test.py
index bfb90967c,2f9e0853c..61f22c21d
--- a/tests/gold_tests/remap/remap_reload.test.py
+++ b/tests/gold_tests/remap/remap_reload.test.py
@@@ -25,7 -25,7 +25,7 @@@ replay_file_2 = "reload_2.replay.yaml
  replay_file_3 = "reload_3.replay.yaml"
  replay_file_4 = "reload_4.replay.yaml"
  
- tm = Test.MakeATSProcess("ts", select_ports=True)
 -tm = Test.MakeATSProcess("tm", command="traffic_manager")
++tm = Test.MakeATSProcess("ts")
  tm.Disk.diags_log.Content = Testers.ContainsExpression("remap.config failed to load", "Remap should fail to load")
  remap_cfg_path = os.path.join(tm.Variables.CONFIGDIR, 'remap.config')
  
diff --cc tests/gold_tests/tls/ssl_multicert_loader.test.py
index 5865c048d,dad0aa17b..d1899caee
--- a/tests/gold_tests/tls/ssl_multicert_loader.test.py
+++ b/tests/gold_tests/tls/ssl_multicert_loader.test.py
@@@ -20,7 -20,7 +20,7 @@@ Test reloading ssl_multicert.config wit
  
  sni_domain = 'example.com'
  
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True, enable_tls=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager", enable_tls=True)
++ts = Test.MakeATSProcess("ts", command="traffic_server", enable_tls=True)
  server = Test.MakeOriginServer("server")
  server2 = Test.MakeOriginServer("server3")
  request_header = {"headers": f"GET / HTTP/1.1\r\nHost: {sni_domain}\r\n\r\n", "timestamp": "1469733493.993", "body": ""}
@@@ -95,7 -95,7 +95,7 @@@ tr3.Processes.Default.Streams.stderr = 
  # Also, not explicitly setting proxy.config.ssl.server.multicert.exit_on_load_fail
  # to catch if the current default (1) changes in the future
  
- ts2 = Test.MakeATSProcess("ts2", command="traffic_server", select_ports=True, enable_tls=True)
 -ts2 = Test.MakeATSProcess("ts2", command="traffic_manager", enable_tls=True)
++ts2 = Test.MakeATSProcess("ts2", command="traffic_server", enable_tls=True)
  ts2.Disk.ssl_multicert_config.AddLines([
      'dest_ip=* ssl_cert_name=server.pem_doesnotexist ssl_key_name=server.key',
  ])
diff --cc tests/gold_tests/tls/tls_check_cert_select_plugin.test.py
index 24fb0c2a5,1a798596d..566175bf1
--- a/tests/gold_tests/tls/tls_check_cert_select_plugin.test.py
+++ b/tests/gold_tests/tls/tls_check_cert_select_plugin.test.py
@@@ -23,7 -23,7 +23,7 @@@ Test ATS offering different certificate
  '''
  
  # Define default ATS
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True, enable_tls=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager", enable_tls=True)
++ts = Test.MakeATSProcess("ts", command="traffic_server", enable_tls=True)
  server = Test.MakeOriginServer("server", ssl=True)
  dns = Test.MakeDNServer("dns")
  
diff --cc tests/gold_tests/tls/tls_client_cert.test.py
index baebf84f9,a9086a65d..bbad84f77
--- a/tests/gold_tests/tls/tls_client_cert.test.py
+++ b/tests/gold_tests/tls/tls_client_cert.test.py
@@@ -21,7 -21,7 +21,7 @@@ Test.Summary = ''
  Test different combinations of TLS handshake hooks to ensure they are applied consistently.
  '''
  
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts", command="traffic_server")
  cafile = "{0}/signer.pem".format(Test.RunDirectory)
  cafile2 = "{0}/signer2.pem".format(Test.RunDirectory)
  # --clientverify: "" empty string because microserver does store_true for argparse, but options is a dictionary
diff --cc tests/gold_tests/tls/tls_client_cert_override.test.py
index f50550c2f,ad86f36de..99504d1bb
--- a/tests/gold_tests/tls/tls_client_cert_override.test.py
+++ b/tests/gold_tests/tls/tls_client_cert_override.test.py
@@@ -21,7 -21,7 +21,7 @@@ Test.Summary = ''
  Test conf_remp to specify different client certificates to offer to the origin
  '''
  
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts", command="traffic_server")
  cafile = "{0}/signer.pem".format(Test.RunDirectory)
  cafile2 = "{0}/signer2.pem".format(Test.RunDirectory)
  server = Test.MakeOriginServer("server",
diff --cc tests/gold_tests/tls/tls_client_cert_override_plugin.test.py
index 5e5c18da9,db3030a0c..68b47e3ee
--- a/tests/gold_tests/tls/tls_client_cert_override_plugin.test.py
+++ b/tests/gold_tests/tls/tls_client_cert_override_plugin.test.py
@@@ -21,8 -21,7 +21,8 @@@ Test conf_remp to specify different cli
  '''
  
  
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts", command="traffic_server")
 +
  cafile = "{0}/signer.pem".format(Test.RunDirectory)
  cafile2 = "{0}/signer2.pem".format(Test.RunDirectory)
  server = Test.MakeOriginServer("server",
diff --cc tests/gold_tests/tls/tls_client_cert_plugin.test.py
index 04e30a8c1,95af96731..c08a58b12
--- a/tests/gold_tests/tls/tls_client_cert_plugin.test.py
+++ b/tests/gold_tests/tls/tls_client_cert_plugin.test.py
@@@ -24,7 -24,7 +24,7 @@@ Test.Summary = ''
  Test offering client cert to origin, but using plugin for cert loading
  '''
  
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager")
++ts = Test.MakeATSProcess("ts", command="traffic_server")
  cafile = "{0}/signer.pem".format(Test.RunDirectory)
  cafile2 = "{0}/signer2.pem".format(Test.RunDirectory)
  # --clientverify: "" empty string because microserver does store_true for argparse, but options is a dictionary
diff --cc tests/gold_tests/tls/tls_client_verify.test.py
index de962278a,984837f16..2f845e8ad
--- a/tests/gold_tests/tls/tls_client_verify.test.py
+++ b/tests/gold_tests/tls/tls_client_verify.test.py
@@@ -22,7 -22,7 +22,7 @@@ Test.Summary = ''
  Test various options for requiring certificate from client for mutual authentication TLS
  '''
  
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True, enable_tls=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager", enable_tls=True)
++ts = Test.MakeATSProcess("ts", command="traffic_server", enable_tls=True)
  cafile = "{0}/signer.pem".format(Test.RunDirectory)
  cafile2 = "{0}/signer2.pem".format(Test.RunDirectory)
  server = Test.MakeOriginServer("server")
diff --cc tests/gold_tests/tls/tls_sni_yaml_reload.test.py
index 000000000,d6d525df9..a3890848d
mode 000000,100644..100644
--- a/tests/gold_tests/tls/tls_sni_yaml_reload.test.py
+++ b/tests/gold_tests/tls/tls_sni_yaml_reload.test.py
@@@ -1,0 -1,131 +1,131 @@@
+ #  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 = '''
+ Test reloading sni.yaml behaves as expected
+ '''
+ 
+ sni_domain = 'example.com'
+ 
 -ts = Test.MakeATSProcess("ts", command="traffic_manager", enable_tls=True)
++ts = Test.MakeATSProcess("ts", command="traffic_server", enable_tls=True)
+ server = Test.MakeOriginServer("server")
+ server2 = Test.MakeOriginServer("server3")
+ request_header = {"headers": f"GET / HTTP/1.1\r\nHost: {sni_domain}\r\n\r\n", "timestamp": "1469733493.993", "body": ""}
+ 
+ response_header = {"headers": "HTTP/1.1 200 OK\r\nConnection: close\r\n\r\n", "timestamp": "1469733493.993", "body": ""}
+ server.addResponse("sessionlog.json", request_header, response_header)
+ 
+ ts.Disk.records_config.update({
+     'proxy.config.ssl.server.cert.path': ts.Variables.SSLDir,
+     'proxy.config.ssl.server.private_key.path': ts.Variables.SSLDir,
+     'proxy.config.ssl.CA.cert.filename': f'{ts.Variables.SSLDir}/signer.pem',
+     'proxy.config.diags.debug.enabled': 1,
+     'proxy.config.diags.debug.tags': 'ssl|http',
+     'proxy.config.diags.output.debug': 'L',
+ })
+ 
+ 
+ ts.addDefaultSSLFiles()
+ ts.addSSLfile("ssl/signed-foo.pem")
+ ts.addSSLfile("ssl/signed-foo.key")
+ ts.addSSLfile("ssl/signer.pem")
+ 
+ ts.Disk.remap_config.AddLine(
+     f'map / http://127.0.0.1:{server.Variables.Port}'
+ )
+ 
+ ts.Disk.ssl_multicert_config.AddLine(
+     'dest_ip=* ssl_cert_name=server.pem ssl_key_name=server.key'
+ )
+ 
+ 
+ ts.Disk.ssl_multicert_config.AddLine(
+     'dest_ip=* ssl_cert_name=server.pem ssl_key_name=server.key'
+ )
+ 
+ ts.Disk.sni_yaml.AddLines(
+     f"""
+       sni:
+       - fqdn: {sni_domain}
+         http2: off
+         client_cert: {ts.Variables.SSLDir}/signed-foo.pem
+         client_key: {ts.Variables.SSLDir}/signed-foo.key
+         verify_client: STRICT
+       """.split('\n')
+ )
+ 
+ tr = Test.AddTestRun(f'ensure we can connect for SNI {sni_domain}')
+ tr.Setup.Copy("ssl/signed-foo.pem")
+ tr.Setup.Copy("ssl/signed-foo.key")
+ tr.Processes.Default.StartBefore(Test.Processes.ts)
+ tr.Processes.Default.StartBefore(server)
+ tr.StillRunningAfter = ts
+ tr.StillRunningAfter = server
+ tr.Processes.Default.Command = f"curl -q --tls-max 1.2 -s -v -k  --cert ./signed-foo.pem --key ./signed-foo.key --resolve '{sni_domain}:{ts.Variables.ssl_port}:127.0.0.1' https://{sni_domain}:{ts.Variables.ssl_port}"
+ 
+ tr.Processes.Default.ReturnCode = 0
+ tr.Processes.Default.Streams.stdout = Testers.ExcludesExpression("Could Not Connect", "Verify curl could successfully connect")
+ tr.Processes.Default.Streams.stderr = Testers.IncludesExpression(f"CN={sni_domain}", f"Verify curl used the {sni_domain} SNI")
+ ts.Disk.diags_log.Content = Testers.IncludesExpression(
+     "SSL negotiation finished successfully",
+     "Verify that the TLS handshake was successful")
+ 
+ # This config reload should fail because it references non-existent TLS key files
+ trupd = Test.AddTestRun("Update config file")
+ # Update the configs - this will overwrite the sni.yaml file
+ sniyamlpath = ts.Disk.sni_yaml.AbsPath
+ trupd.Disk.File(sniyamlpath, id="sni_yaml", typename="ats:config")
+ trupd.Disk.sni_yaml.AddLines(
+     f"""
+       sni:
+       - fqdn: {sni_domain}
+         http2: on
+         client_cert: {ts.Variables.SSLDir}/signed-notexist.pem
+         client_key: {ts.Variables.SSLDir}/signed-notexist.key
+         verify_client: STRICT
+       """.split('\n')
+ )
+ 
+ trupd.StillRunningAfter = ts
+ trupd.StillRunningAfter = server
+ trupd.Processes.Default.Command = 'echo Updated configs'
+ trupd.Processes.Default.Env = ts.Env
+ trupd.Processes.Default.ReturnCode = 0
+ 
+ 
+ tr2reload = Test.AddTestRun("Reload config")
+ tr2reload.StillRunningAfter = ts
+ tr2reload.StillRunningAfter = server
+ tr2reload.Processes.Default.Command = 'traffic_ctl config reload'
+ tr2reload.Processes.Default.Env = ts.Env
+ tr2reload.Processes.Default.ReturnCode = 0
+ ts.Disk.diags_log.Content = Testers.ContainsExpression(
+     'sni.yaml failed to load',
+     'reload should result in failure to load sni.yaml')
+ 
+ tr3 = Test.AddTestRun(f"Make request again for {sni_domain} that should still work")
+ # Wait for the reload to complete
+ tr3.Setup.Copy("ssl/signed-bar.pem")
+ tr3.Setup.Copy("ssl/signed-bar.key")
+ tr3.Processes.Default.StartBefore(server2, ready=When.FileContains(ts.Disk.diags_log.Name, "signed-notexist.pem", 1))
+ tr3.StillRunningAfter = ts
+ tr3.StillRunningAfter = server
+ tr3.Processes.Default.Command = f"curl -q --tls-max 1.2 -s -v -k  --cert ./signed-bar.pem --key ./signed-bar.key --resolve '{sni_domain}:{ts.Variables.ssl_port}:127.0.0.1' https://{sni_domain}:{ts.Variables.ssl_port}"
+ 
+ tr3.Processes.Default.ReturnCode = 0
+ # since the 2nd config with http2 turned on should have failed and used the prior config, verify http2 was not used
+ tr3.Processes.Default.Streams.stderr = Testers.ExcludesExpression("GET / HTTP/2", "Confirm that HTTP2 is still not used")
diff --cc tests/gold_tests/tls/tls_tunnel.test.py
index 18b14e3d4,f35f554a0..0beebe0f9
--- a/tests/gold_tests/tls/tls_tunnel.test.py
+++ b/tests/gold_tests/tls/tls_tunnel.test.py
@@@ -21,7 -21,7 +21,7 @@@ Test tunneling based on SN
  '''
  
  # Define default ATS
- ts = Test.MakeATSProcess("ts", command="traffic_server", select_ports=True, enable_tls=True)
 -ts = Test.MakeATSProcess("ts", command="traffic_manager", enable_tls=True)
++ts = Test.MakeATSProcess("ts", command="traffic_server", enable_tls=True)
  server_foo = Test.MakeOriginServer("server_foo", ssl=True)
  server_bar = Test.MakeOriginServer("server_bar", ssl=True)
  server2 = Test.MakeOriginServer("server2")