brbzull0 opened a new pull request #8633:
URL: https://github.com/apache/trafficserver/pull/8633


   As a part of the implementation of the `JSONRPC` mechanism in ATS(part of 
10-Dev branch already),`traffic_manager` became obsolete.  This PR holds all 
the changes related to the removal of `traffic_manager`  and it's related code. 
   
   **TLDR-**
   - Removes traffic_manager code and all the legacy `RPC` mechanisms.
   - Update docs to reflect this change. 
   - Remove some mgmt api that depends on `traffic_manager` to work. 
   - Merge some duplicated folders
   
   --------------------------
   
   **The Change**
   
   
   A summary of what is being removed and some notes:
   
   - Alarm/Event mechanism removed.
   - `TSMgmtAPI` 
       - The rule here was, if there is a JSONRPC replacement for the API, the 
code was removed, if the Mgmt api does not uses any of the legacy mgmt  
mechanism then it was left untouched, like  Data Carrier Structures:
           - `TSListCreate`
           - `TSListDestroy`
           - `TSListEnqueue`
       - API's like `TSRecordSet`, etc which were supposed to be used by 
remote(traffic_ctl) and local(traffic_manager) clients are no longer needed as 
now this API is replaced by the JSONRPC API.
       - _TSHostStatus_* also removed, JSONRPC available now.
       - `TSDeleteFromCache`* and all the cache related API inside mgmt api was 
removed as they used the legacy api(_TSRecordGetInt_)
   - `WebMgmtUtils.cc`  remains. Contains some handy functions although they 
aren't used. `**Contains unused code**`
   - `mgmt_fatal/log` are now removed as this is no longer supported, they were 
marked as deprecated at least 1 release ago. Removed now and replaced by Debug 
diag.
   - traffic_manager binary code is removed.
       - Legacy RPC mechanism, `LocalManager`, `ProcessManager`.
           -` processserver.sock`, `mgmtapi.sock` and _eventapi.sock_ are 
removed. Events socket was agreed to be removed in one of the ATS Meetup.
       - Records synchronization mechanism between TS running as client and TM 
running as server is also removed, this was used to sync changes coming in 
through traffic_manager and then reflected by traffic_server. Stats to disk 
synchronization left untouched.
   - Perl Module, this is removed from the code base. There are still some 
extensions which I still need to figure out if it needs to be removed(probably 
in another PR)
   - Unit Test
       - Adjust 
[trafficserver.ext](https://github.com/apache/trafficserver/commit/925caa95714379e6872c4f7c8a35b166f77dc989#diff-ef184cd51f85e1e7f205757cddf5db5157a5f36a32800c6f4720affa8e6eac9a)
 to include the full path in the `traffic_server` cmd so it can be used by 
different tools to differentiate TS instances.
     
   Few more things to consider:
   - While working on the jsonrpc I created a `mgmt2` folder which was used as 
a fresh start for things related to management, the idea was at some point 
after a cleanup of the mgmt folder we can  merge `mgmt2` folder into `mgmt`, 
this change is also included in here.
   - To support `JSONRPC` there were two folder,` traffic_ctl` and 
`traffic_ctl_jsonrpc` to contain the legacy version and the new version 
respectively, now the new version overrides the legacy version, so you may see 
changes in the `traffic_ctl` code which are actually in `10-Dev` branch, this 
is mainly because of the moving files from one folder to another.
   - I’ve added a note in the documentation warning readers that 
`traffic_manager` is no longer supported, this is mostly around records which 
may find warnings while starting ATS without the records being registered.
   
   
   The goal beside removing the code is to know exactly what we want to 
maintain once `traffic_manager` is gone, questions like, do we want to maintain 
`TSMgmt* API` compatibility call the `JSONRPC` node instead??? Is it worth it? 
should we keep the API stub and add a warning, so anyone actually using this 
MGMT Apis gets a warning instead of a build error(missing function)?
   
   Thanks.
   
   
   
   
   Closes https://github.com/apache/trafficserver/issues/5563
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to