I think we can handle the config file differences with a release note for 2.2.0, with a note that the Java version has been officially deprecated and will be retired in the next release. I think that allows people time to get to the new version without being too heavy handed in the project's repo prior to 2.3. -- Thanks, Jeff
On Mon, Oct 23, 2017 at 3:07 PM, Hongfei Zhang (hongfezh) <hongf...@cisco.com> wrote: > thanks. can we document the usage of the new directives then? a simple read > me in configure dir? > > On Oct 23, 2017, at 5:03 PM, Dave Neuman > <neu...@apache.org<mailto:neu...@apache.org>> wrote: > > I don't think the rpm upgrade will take care of this for you. This will be > a one-time manual upgrade. > > On Mon, Oct 23, 2017 at 2:59 PM, Hongfei Zhang (hongfezh) < > hongf...@cisco.com<mailto:hongf...@cisco.com>> wrote: > > Hi, > > We noticed the new Go Monitor uses two config files and these files are > incompatible with the Java implementation. Some config directive's name > also changed. Will/should the rpm upgrade be able to take care of the > config file conversion/split? > > Thanks, > -Hongfei > > -----Original Message----- > From: Nir Sopher [mailto:n...@qwilt.com] > Sent: Monday, October 23, 2017 3:34 PM > To: > dev@trafficcontrol.incubator.apache.org<mailto:dev@trafficcontrol.incubator.apache.org> > Subject: Re: Promote Golang Traffic Monitor to Default > > Hi, > > What would be the content of 2.2? > If we want to have very limited content as suggested in the summit, I > would suggest to leave Java TM, removing it only on TC 2.3. > > If the 2.2 version has substantial content, I would see leaving the old TM > as part of the release as a liability. Old TM should be adjusted to the > changes and tested regularly. > So in this case, if there are no automated tests to cover its > functionality, I would suggest to remove Java TM from the code base. > > Nir > > On Mon, Oct 23, 2017 at 5:58 PM, Jeff Elsloo > <els...@apache.org<mailto:els...@apache.org>> wrote: > > Hi all, > > Apologies for the delay, and thanks to Rob for submitting PR 1427 to > take care of this. I just merged his PR and that means that > `traffic_monitor` has been renamed to `traffic_monitor_java` and > `traffic_monitor_golang` has been renamed to `traffic_monitor` (thanks > Rob!). This means that we are now one step closer to formally retiring > the Java version of Traffic Monitor. > > Before proposing a vote, I'd like to get a feel for how quickly we can > do the formal retirement. We're currently working on 2.1 so that means > that we could retire it as early as 2.2. If we want to be more > conservative, we could keep both with the renamed structure for 2.2, > and remove the Java version in 2.3. This is the direction I'm leaning, > though I'd like to hear from interested parties first. > > Thoughts? > -- > Thanks, > Jeff > > > On Mon, Jul 24, 2017 at 8:23 AM, Jeff Elsloo > <els...@apache.org<mailto:els...@apache.org>> wrote: > It sounds like we do not have any -1s on this, so I'm going to > assume we're good to make this change. I have some other things to > focus on at the moment, but will try to get this done as time > permits. I'll send another email out with details when I go to make > the change, and will allow some time before pushing anything in case > someone has concerns. > -- > Thanks, > Jeff > > > On Mon, Jul 17, 2017 at 2:14 PM, Dave Neuman > <neu...@apache.org<mailto:neu...@apache.org>> > wrote: > +1 on the rename > > On Mon, Jul 17, 2017 at 10:23 AM, Jan van Doorn > <j...@knutsel.com<mailto:j...@knutsel.com>> > wrote: > > +1 > > On Mon, Jul 17, 2017 at 9:47 AM Dewayne Richardson > <dewr...@gmail.com<mailto:dewr...@gmail.com>> > wrote: > > When: Read · Mon, Jul 17. > <https://timyo.com/?utm_source=expectationheader&utm_medium=emai > l> > [image: Timyo expectation line] > +1 > > On Fri, Jul 14, 2017 at 2:49 PM, Jeff Elsloo > <els...@apache.org<mailto:els...@apache.org>> > wrote: > > For the most part, it's a drop in replacement for the Java > version, and based on our own experience it seems to work > exactly as the > Java > version would, including co-existence. There is a TO API > dependency for monitoring.json that the Java version does not > have, and I'm > not > sure what the history is with that endpoint and how far back > we > could > remain compatible. Traffic Router does not care what version > of Traffic Monitor it talks to, as the format of > cr-states.json has > not > changed. Same goes for TM and ATS. I believe we had > co-existence running in production going back to the 1.8.x > releases. > > Keep in mind that the intent is to drive users toward using > the > Golang > component by default starting with the 2.1.0 (or maybe 2.2.0?) > release > while still allowing one to build, run, or contribute to the > Java version until our next major release (3.0.0). The intent > is not to give people a drop in replacement that works with > prior versions; > we > have not tested that thoroughly across all versions, and while > it might work, we should think of the Golang Traffic Monitor > as a > 2.0.x > and onward component. I think that statement holds for most of > our components; we wouldn't want to run a 1.7 Traffic Stats > with a > 2.0.0 > Traffic Ops system. 1.7 is ancient, and have we ever really > done backward compatibility testing with versions? > > To this end, if we do decide to make the Golang version the > default in > the future, at a minimum we will need to provide release notes > that explain how to convert the Java configuration to the > Golang > version's > config. Ideally we would provide a simple script to convert > the configuration for our users, potentially running it as a > postinstall > scriptlet in the RPM if the Java version is already installed. > Theoretically we could `yum upgrade traffic_monitor` and > seamlessly move from Java to Golang. > -- > Thanks, > Jeff > > > On Fri, Jul 14, 2017 at 2:07 PM, Eric Friedrich (efriedri) > <efrie...@cisco.com<mailto:efrie...@cisco.com>> wrote: > I think I remember Rob making this point in Miami, but all > of TMs > APIs > (REST, CRConfig, Health.json, etc…) are identical between the > Java > and > Golang version, right? > > What about compatibility with earlier versions of TC? > > For example: > - Can a TC1.7 traffic ops configure a Golang TM? > - Does the Golang TM have any dependencies on a certain > version > of > TrafficServer or astats? > - Whats the minimum required version of Traffic Router to > use the > Golang > TM? > - I know Golang TMs can gossip with Java TMs, but can we mix > versions > here too? (i.e. TC1.7 Java TM with TC2.1 Golang TM)? > > —Eric > > > On Jul 14, 2017, at 1:00 PM, Jeff Elsloo > <els...@apache.org<mailto:els...@apache.org>> > wrote: > > Hi all, > > We currently have two versions of Traffic Monitor: Java and > golang. > When we build all components, as far as I know, it results > in a > race > condition between the two, as the resulting RPMs have the > same filename. A PR[1] was opened to address the issue and > the > approach > was > to add `_go` to the version string used for the golang > version's > RPM. > > Rob and I both think we (Comcast) have enough experience > running the > golang version that we have identified and corrected any > major > issues > and that it is stable enough to be the preferred Traffic > Monitor > hence > forth. > > Therefore, I propose that within the project's directory > structure, > we: > 1) rename traffic_monitor to traffic_monitor_legacy > 2) rename traffic_monitor_golang to traffic_monitor > > ..then work with the person that submitted the PR to take > the > same > approach, except change the Java version's RPM name to > contain `_legacy`. > > I realize that this is a fairly significant change, the > type > that we > typically reserve for major releases. The next major > release, > 3.0.0, > is likely to be some time out in the future, and I don't > know > that > we > need to wait for it in order to make this change. > > How does the group feel about the above proposal, and > executing > on > it > prior to the 3.0.0 release (i.e.: for 2.1.0)? Then, when we > do actually prepare the 3.0.0 release, we can remove the > Java > version > from the codebase entirely. Obviously this could impact > anyone > that > has automated CI systems building components, in addition > to the Apache CI we use ourselves. > > Thoughts? > > [1] > https://github.com/apache/incubator-trafficcontrol/pull/731 > -- > Thanks, > Jeff > > > > > >