I've made a Blueprint proposing to rewrite ORT: https://github.com/apache/trafficcontrol/pull/4628
If you have opinions on ORT, please read and provide feedback. In a nutshell, it's proposing to rewrite ORT in Go, in the "UNIX Philosophy" of small, "do one thing" apps. Importantly, the proposal **removes** the following ORT features: chkconfig - CentOS 7+ and SystemD don't use chkconfig, and moreover our default Profile runlevel is wrong and broken. But my knowledge of CentOS,SystemD,chkconfig,runlevels isn't perfect, if I'm mistaken about this and you're using ORT to set chkconfig, please let us know ASAP. ntpd - ORT today has code to set ntpd config and restart the ntpd service. I have no idea why it was ever in charge of this, but this clearly seems to be the system's job, not ORT or TC's. interactive mode - I asked around, and couldn't find anyone using this. Does anyone use it? And feel it's essential to keep in ORT? And also feel that the way this proposal breaks up the app so that it's easy to request and compare files before applying them isn't sufficient? reval mode - This was put in because ORT was slow. ORT in master now takes 10-20s on our large CDN. Moreover, "reval" mode is no longer significantly faster than just applying everything. Does anyone feel otherwise? report mode - The functionality here is valuable. But intention here is to replace "ORT report mode" with a pipelined set of app calls or a script to do the same thing. I.e. because it's "UNIX-Style" you can just "ort-to-get | ort-make-configs | ort-diff". package installation - This is the biggest feature the proposal removes, and probably the most controversial. The thought is: this isn't something ORT or Traffic Control should be doing. The same thing that manages the physical machine and/or operating system -- whether that's Ansible, Puppet, Chef, or a human System Administrator -- should be installing the OS packages for ATS and its plugins, just like it manages all the other packages on your system. ORT and TC should deploy configuration, not install things. So yeah, feedback welcome. Feel free to post it on the list here or the blueprint PR on github. Thanks,
