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]