diff --git a/doc/admin-guide/files/records.yaml.en.rst b/doc/admin-guide/files/records.yaml.en.rst index 28c443a6e3c..a1559208305 100644 --- a/doc/admin-guide/files/records.yaml.en.rst +++ b/doc/admin-guide/files/records.yaml.en.rst @@ -267,36 +267,12 @@ System Variables The location of the |TS| ``bin`` directory. -.. ts:cv:: CONFIG proxy.config.proxy_binary STRING traffic_server - - .. important:: - - This is now deprecated. traffic_manager is no longer supported. - -.. ts:cv:: CONFIG proxy.config.proxy_binary_opts STRING -M - - .. important:: - - This is now deprecated - -.. ts:cv:: CONFIG proxy.config.manager_binary STRING traffic_manager - - .. important:: - - This is now deprecated. traffic_manager is no longer supported. - .. ts:cv:: CONFIG proxy.config.memory.max_usage INT 0 :units: bytes Throttle incoming connections if resident memory usage exceeds this value. Setting the option to 0 disables the feature. -.. ts:cv:: CONFIG proxy.config.env_prep STRING - - .. important:: - - This is now deprecated. traffic_manager is no longer supported. - .. ts:cv:: CONFIG proxy.config.syslog_facility STRING LOG_DAEMON The facility used to record system log files. Refer to @@ -463,13 +439,6 @@ Thread Variables that :program:`traffic_server` crashes. ``-1`` means there is no limit. A value of ``0`` prevents core dump creation. -.. ts:cv:: CONFIG proxy.config.restart.active_client_threshold INT 0 - :reloadable: - - .. important:: - - Deprecated. traffic_manager is no longer supported. - .. ts:cv:: CONFIG proxy.config.restart.stop_listening INT 0 :reloadable: @@ -649,12 +618,6 @@ Network Management ========== -.. ts:cv:: CONFIG proxy.node.config.manager_log_filename STRING manager.log - - .. important:: - - This is now deprecated. traffic_manager is no longer supported. - .. ts:cv:: CONFIG proxy.config.admin.user_id STRING nobody Designates the non-privileged account to run the :program:`traffic_server` diff --git a/doc/admin-guide/monitoring/statistics/core/general.en.rst b/doc/admin-guide/monitoring/statistics/core/general.en.rst index 01446038ea6..1b0f6f1f3d1 100644 --- a/doc/admin-guide/monitoring/statistics/core/general.en.rst +++ b/doc/admin-guide/monitoring/statistics/core/general.en.rst @@ -31,11 +31,6 @@ General .. ts:stat:: global proxy.node.config.reconfigure_time integer -.. ts:stat:: global proxy.node.config.restart_required.manager integer - :type: flag - - This metric is now deprecated. traffic_manager is no longer supported. - .. ts:stat:: global proxy.node.config.restart_required.proxy integer :type: flag @@ -53,12 +48,6 @@ General Indicates whether any form of HTTP proxying is currently enabled in the running instance of |TS|. -.. ts:stat:: global proxy.node.restarts.manager.start_time integer - :type: gauge - :units: seconds - - This metric is now deprecated. traffic_manager is no longer supported. - .. ts:stat:: global proxy.node.restarts.proxy.cache_ready_time integer :type: gauge :units: seconds diff --git a/doc/appendices/command-line/traffic_manager.en.rst b/doc/appendices/command-line/traffic_manager.en.rst deleted file mode 100644 index bf2141385e1..00000000000 --- a/doc/appendices/command-line/traffic_manager.en.rst +++ /dev/null @@ -1,33 +0,0 @@ -.. 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 - -.. _traffic_manager: - -traffic_manager -*************** - -.. important:: - - traffic_manager is deprecated. :program:`traffic_server` must be used instead. - -See also -======== - -:manpage:`traffic_ctl(8)`, -:manpage:`traffic_server(8)` diff --git a/doc/uml/RPC-sequence-diagram.uml b/doc/uml/RPC-sequence-diagram.uml deleted file mode 100644 index 5a5c0d3d33a..00000000000 --- a/doc/uml/RPC-sequence-diagram.uml +++ /dev/null @@ -1,45 +0,0 @@ -' Licensed 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. - -@startuml - -actor user -box "traffic_ctl address space" #DDFFDD -entity traffic_ctl -end box -collections "Remote RPC API" as remote_rpc -box "traffic_manager address space" #DDDDFF -entity traffic_manager -end box -collections "Local RPC API" as local_rpc -box "traffic_server address space" #FFDB99 -entity traffic_server -end box -entity plugin - -traffic_manager -> traffic_server : traffic_server registers\ncallback for ""MGMT_EVENT_LIFECYCLE_EVENT"" -traffic_server -> plugin : register to ""TS_LIFECYCLE_MSG_HOOK"" -user -> traffic_ctl : "traffic_ctl plugin msg TAG hello" -traffic_ctl -> remote_rpc : lifecycle message -note left : msd id ""MGMT_EVENT_LIFECYCLE_MESSAGE"" -remote_rpc -[#blue]-> remote_rpc : //serialize message// -remote_rpc -> traffic_manager : sent over sockets -note over traffic_ctl, traffic_manager : Using remote RPC functions\n""CoreAPIRemote, NetworkUtilsRemote"" - -traffic_manager -[#blue]-> local_rpc: //serialized message// -local_rpc -> traffic_server : resent over sockets -note over traffic_manager, traffic_server : Local RPC functions\n""CoreAPI, NetworkUtilsLocal"" -traffic_server -> traffic_server : callback function selected based on msg id\n""MGMT_EVENT_LIFECYCLE_MESSAGE"" -traffic_server -[#blue]-> local_rpc : //unserialize message// -traffic_server -> plugin : invoke hook and attach ""TSPluginMsg"" -plugin -> plugin : hooks ""TS_LIFECYCLE_MSG_HOOK""\nand reads ""TSPluginMsg"" -traffic_manager -[#green]-> remote_rpc : TS_ERR_OK -note right : traffic_manager has no idea if\nplugin actually received message -remote_rpc -> traffic_ctl : parse response - - -@enduml diff --git a/doc/uml/RPC-states.uml b/doc/uml/RPC-states.uml deleted file mode 100644 index c95ade5c634..00000000000 --- a/doc/uml/RPC-states.uml +++ /dev/null @@ -1,73 +0,0 @@ -' Licensed 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. - -@startuml - -state "LocalManager\nruns in traffic_manager main event loop" as traffic_manager { - state "processEventQueue" as tm_process_events { - state "dequeue msg" as tm_dequeue : from ""mgmt_event_queue"" - state "send msg to processes" as tm_send_events : ""sendMgmtMsgToProcesses"" - tm_dequeue -d-> [*] : empty - tm_dequeue -d-> tm_send_events : based on msg_id - tm_send_events -u-> tm_dequeue - } - - state "pollMgmtProcessServer" as tm_poll_ts { - state "poll socket" as tm_poll_sock : ""mgmt_select"" - state "new connection" as tm_new_process : register new client socket fd\nto start getting msgs from\nclient - state "new message" as tm_new_message : new message from process - state "handle msg" as tm_handle_msg : ""handleMgmtMsgFromProcesses"" will\noften ""signalAlarm"" with received\nmsg_id - - tm_poll_sock -d-> tm_new_process : new process trying to connect - tm_poll_sock -d-> tm_new_message : msg from ""traffic_server"" - tm_poll_sock -d-> [*] : timed out - tm_new_message -d-> tm_handle_msg : based on msg_id - tm_handle_msg -u-> tm_poll_sock - tm_new_process -u-> tm_poll_sock - - state "External Event" as tm_ext_event : mechanism to stop polling - tm_ext_event -u-> [*] : ""eventfd"" trigger - } - - [*] -d-> tm_process_events - tm_process_events -d-> tm_poll_ts - tm_poll_ts -d-> [*] : other tasks ""traffic_manager"" is\nresponsible for including ""rotateLogs"",\nmanaging metrics and monitoring\n""traffic_server"" -} - -state "ProcessManager\nruns in processManagerThread from traffic_server" as traffic_server { - state "pollLMConnection" as ts_poll_tm { - state "poll socket" as ts_poll_sock : ""mgmt_read_timeout"" - state "handle event" as ts_handle_event : ""executeMgmtCallback"" - state "send response" as ts_response : enqueue response to ""mgmt_signal_queue"" - ts_poll_sock -down-> ts_handle_event : handle based on ""msg_id"" - ts_handle_event -d-> ts_response : callback enqueues response - ts_response -u-> ts_handle_event - ts_handle_event -u-> ts_poll_sock - - ts_poll_sock -down-> [*] : timed out - state "External Event" as ts_ext_event : mechanism to stop polling - ts_ext_event -u-> [*] : ""eventfd"" trigger - } - - state "processSignalQueue" as ts_send_signals { - state "dequeue signal" as ts_dequeue_signal : dequeue from ""mgmt_signal_queue"" - state "send out msg" as ts_outgoing_msg : ""mgmt_write_pipe"" - ts_dequeue_signal -d-> [*] : empty - ts_dequeue_signal -d-> ts_outgoing_msg : send out msg - ts_outgoing_msg -u-> ts_dequeue_signal - - } - ts_send_signals : send outgoing messages via processSignalQueue - ts_poll_tm -down-> ts_send_signals - ts_send_signals -up-> ts_poll_tm -} - -ts_send_signals -r-> tm_poll_ts : msg from ""traffic_server"" to ""traffic_manager"" -tm_process_events -l-> ts_poll_tm : msg from ""traffic_manager"" to ""traffic_server"" - - -@enduml diff --git a/include/records/DynamicStats.h b/include/records/DynamicStats.h index d31c71f33f5..9339913c236 100644 --- a/include/records/DynamicStats.h +++ b/include/records/DynamicStats.h @@ -35,7 +35,7 @@ - supported: TSStatCreate, TSStatIntIncrement/TSStatIntDecrement, TSStatIntGet, TSStatIntSet, TSStatFindName CAVEAT: The librecords doesn't have APIs for "unregister stats" or "realloc rsb". - If you want to register ton of stats, bump -maxRecords option of traffic_manager/traffic_server. + If you want to register ton of stats, bump -maxRecords option of traffic_server. */ class DynamicStats diff --git a/include/tscore/ink_error.h b/include/tscore/ink_error.h index 0e4b4bbfab4..2870a14cfef 100644 --- a/include/tscore/ink_error.h +++ b/include/tscore/ink_error.h @@ -44,9 +44,6 @@ // This magic exit code is used to signal that the crashing process cannot // be recovered from a restart of said process // -// Originally, this was intended to be used as a backchannel mechanism whereby -// traffic_server can tell traffic_manager via an exit code to stop trying to restart -// traffic_server b/c (for example) traffic_server has a bad config file #define UNRECOVERABLE_EXIT 33 void ink_emergency_va(const char *fmt, va_list ap) TS_NORETURN; diff --git a/src/records/RecordsConfig.cc b/src/records/RecordsConfig.cc index c30820ba32c..0355bae675b 100644 --- a/src/records/RecordsConfig.cc +++ b/src/records/RecordsConfig.cc @@ -53,8 +53,6 @@ static const RecordElement RecordsConfig[] = , {RECT_CONFIG, "proxy.config.bin_path", RECD_STRING, TS_BUILD_BINDIR, RECU_NULL, RR_REQUIRED, RECC_NULL, nullptr, RECA_READ_ONLY} , - {RECT_CONFIG, "proxy.config.env_prep", RECD_STRING, nullptr, RECU_NULL, RR_NULL, RECC_NULL, nullptr, RECA_NULL} - , // Jira TS-21 {RECT_CONFIG, "proxy.config.local_state_dir", RECD_STRING, TS_BUILD_RUNTIMEDIR, RECU_RESTART_TS, RR_NULL, RECC_NULL, nullptr, RECA_READ_ONLY} , @@ -123,8 +121,6 @@ static const RecordElement RecordsConfig[] = , {RECT_CONFIG, "proxy.config.thread.default.stackguard_pages", RECD_INT, "1", RECU_RESTART_TS, RR_NULL, RECC_INT, "[1-256]", RECA_READ_ONLY} , - {RECT_CONFIG, "proxy.config.restart.active_client_threshold", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_NULL, nullptr, RECA_NULL} - , {RECT_CONFIG, "proxy.config.restart.stop_listening", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_INT, "[0-1]", RECA_NULL} , {RECT_CONFIG, "proxy.config.stop.shutdown_timeout", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_STR, "^[0-9]+$", RECA_NULL} diff --git a/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h b/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h index cc03492875f..00691679e95 100644 --- a/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h +++ b/src/traffic_ctl/jsonrpc/CtrlRPCRequests.h @@ -243,10 +243,9 @@ struct ConfigStatusRequest : shared::rpc::RecordLookupRequest { using super = shared::rpc::RecordLookupRequest; ConfigStatusRequest() : super() { - static const std::array statusFieldsNames = { - "proxy.process.version.server.long", "proxy.node.restarts.proxy.start_time", - "proxy.node.config.reconfigure_time", "proxy.node.config.reconfigure_required", - "proxy.node.config.restart_required.proxy", "proxy.node.config.restart_required.manager"}; + static const std::array statusFieldsNames = { + "proxy.process.version.server.long", "proxy.node.restarts.proxy.start_time", "proxy.node.config.reconfigure_time", + "proxy.node.config.reconfigure_required", "proxy.node.config.restart_required.proxy"}; for (auto &&recordName : statusFieldsNames) { super::emplace_rec(recordName, shared::rpc::NOT_REGEX, shared::rpc::METRIC_REC_TYPES); } diff --git a/src/traffic_server/traffic_server.cc b/src/traffic_server/traffic_server.cc index 6322af6e24a..df08bc04b07 100644 --- a/src/traffic_server/traffic_server.cc +++ b/src/traffic_server/traffic_server.cc @@ -1822,7 +1822,6 @@ main(int /* argc ATS_UNUSED */, const char **argv) RecRegisterStatInt(RECT_NODE, "proxy.node.config.reconfigure_time", time(nullptr), RECP_NON_PERSISTENT); RecRegisterStatInt(RECT_NODE, "proxy.node.config.reconfigure_required", 0, RECP_NON_PERSISTENT); RecRegisterStatInt(RECT_NODE, "proxy.node.config.restart_required.proxy", 0, RECP_NON_PERSISTENT); - RecRegisterStatInt(RECT_NODE, "proxy.node.config.restart_required.manager", 0, RECP_NON_PERSISTENT); RecRegisterStatInt(RECT_NODE, "proxy.node.config.draining", 0, RECP_NON_PERSISTENT); RecRegisterStatInt(RECT_NODE, "proxy.node.proxy_running", 1, RECP_NON_PERSISTENT); RecSetRecordInt("proxy.node.restarts.proxy.start_time", time(nullptr), REC_SOURCE_DEFAULT); diff --git a/tests/gold_tests/logging/ts_process_handler.py b/tests/gold_tests/logging/ts_process_handler.py index 4bcfa217707..f15280182a8 100644 --- a/tests/gold_tests/logging/ts_process_handler.py +++ b/tests/gold_tests/logging/ts_process_handler.py @@ -33,18 +33,12 @@ def __init__(self, message): super().__init__(self.message) -def get_desired_process(ts_identifier, get_ppid=False): +def get_ts_process_pid(ts_identifier): + processes = [] for proc in psutil.process_iter(['cmdline']): commandline = ' '.join(proc.info['cmdline']) if '/traffic_server' in commandline and ts_identifier in commandline: - if not get_ppid: - return proc - parent = proc.parent() - with parent.oneshot(): - if 'traffic_manager' not in parent.cmdline(): - raise GetPidError("Found a traffic server process, " - "but its parent is not traffic_manager") - return parent + return proc raise GetPidError("Could not find a traffic_server process") @@ -88,9 +82,6 @@ def parse_args(): parser.add_argument( '--signal', help='Send the given signal to the process.') - parser.add_argument( - '--parent', action="store_true", default=False, - help='Interact with the parent process of the Traffic Server process') return parser.parse_args() @@ -98,7 +89,7 @@ def parse_args(): def main(): args = parse_args() try: - process = get_desired_process(args.ts_identifier, args.parent) + process = get_ts_process_pid(args.ts_identifier) except GetPidError as e: print(traceback.format_exception(None, e, e.__traceback__), file=sys.stderr, flush=True) diff --git a/tests/gold_tests/records/gold/full_records.yaml b/tests/gold_tests/records/gold/full_records.yaml index 71098cb4730..b211a3118a8 100644 --- a/tests/gold_tests/records/gold/full_records.yaml +++ b/tests/gold_tests/records/gold/full_records.yaml @@ -471,7 +471,6 @@ ts: remote_sync_interval_ms: 5000 res_track_memory: 0 restart: - active_client_threshold: 0 stop_listening: 0 reverse_proxy: enabled: 1 diff --git a/tests/gold_tests/records/legacy_config/full_records.config b/tests/gold_tests/records/legacy_config/full_records.config index fc21c7ea81b..2bad9fadf81 100644 --- a/tests/gold_tests/records/legacy_config/full_records.config +++ b/tests/gold_tests/records/legacy_config/full_records.config @@ -25,7 +25,6 @@ CONFIG proxy.config.accept_threads INT 1 CONFIG proxy.config.task_threads INT 2 CONFIG proxy.config.thread.default.stacksize INT 1048576 CONFIG proxy.config.thread.default.stackguard_pages INT 1 -CONFIG proxy.config.restart.active_client_threshold INT 0 CONFIG proxy.config.restart.stop_listening INT 0 CONFIG proxy.config.stop.shutdown_timeout INT 0 CONFIG proxy.config.thread.max_heartbeat_mseconds INT 60