Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-05-01 Thread Rawlin Peters
For anyone interested in what the resulting code would look like for my TO API minor versioning proposal, I prototyped a new `foos` endpoint that supports several different minor versions (as if the endpoint had seen minor changes across several different releases of Traffic Control -- not that we

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-30 Thread Jeremy Mitchell
+1 On Tue, Apr 30, 2019 at 1:00 PM Dave Neuman wrote: > +1 to Rawlin's latest proposal. > If we can get consensus then let's close the PRs for previous solutions and > move forward with this one. > > Thanks, > Dave > > > On Fri, Apr 26, 2019 at 3:58 PM Rawlin Peters > wrote: > > > On Wed, Apr 2

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-30 Thread Dave Neuman
+1 to Rawlin's latest proposal. If we can get consensus then let's close the PRs for previous solutions and move forward with this one. Thanks, Dave On Fri, Apr 26, 2019 at 3:58 PM Rawlin Peters wrote: > On Wed, Apr 24, 2019 at 10:53 AM Robert Butts wrote: > > We might even be able to do a li

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-26 Thread Rawlin Peters
On Wed, Apr 24, 2019 at 10:53 AM Robert Butts wrote: > We might even be able to do a little better than that, and only have one > handler, no separate versions in the routes/handlers. So, the route would > look something like: > > func Update(w http.ResponseWriter, r *http.Request) { > inf, userEr

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-25 Thread Gray, Jonathan
of ways to handle that without worrying about versioning > > strategy. > > > > > We can't instantly > > upgrade every component of the CDN > > > > oh yeah... > > > > Fr

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-25 Thread Dan Kirkwood
gt; > I still prefer converting to PATCH instead of POST moving forward > > > > You mean "PATCH instead of PUT"? I'd like to see us support both, > > personally, but I still see the the data-loss thing as a separate issue. > > There are lots of wa

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-24 Thread Gray, Jonathan
h yeah... > ____ > From: Rawlin Peters > Sent: Tuesday, April 23, 2019 1:41 PM > To: dev@trafficcontrol.apache.org > Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues > > On Tue, Apr 23, 2019 at 1:

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-24 Thread Robert Butts
versioning > strategy. > > > We can't instantly > upgrade every component of the CDN > > oh yeah... > ____ > From: Rawlin Peters > Sent: Tuesday, April 23, 2019 1:41 PM > To: dev@trafficcontrol.apache.org > Subject: R

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-23 Thread Fieck, Brennan
ng strategy. > We can't instantly upgrade every component of the CDN oh yeah... From: Rawlin Peters Sent: Tuesday, April 23, 2019 1:41 PM To: dev@trafficcontrol.apache.org Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues On Tue, Ap

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-23 Thread Rawlin Peters
On Tue, Apr 23, 2019 at 1:04 PM Gray, Jonathan wrote: > > As a developer it sounds just as messy as the other solutions, but it may be > workable. If you internally are chaining the object mashalling and db > queries, how do you handle new mandatory fields that have no default? I > still pref

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-23 Thread Gray, Jonathan
> > > > > with the semantic versioning approach we are enabling clients > > to be > > > > > > lazy about updating their _unknown and custom_ client code at > > the cost > > > > > > of developer product

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-23 Thread Rawlin Peters
r of whether this approach is simple > > enough for us > > > > > > to continue with semantic versioning. It's a matter of whether > > we want > > > > > > to have to continue to deal with older clients that prevent us > > from > > > > > > making certain changes in the API because w

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-22 Thread Robert Butts
p the pacing of > major releases, but I don't see that as a big problem either. Because of > slow release cadence, a lot of people are building things against master > instead of stable releases, which is part of the problem as I see it. > > ___

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-22 Thread Fieck, Brennan
blem either. Because of slow release cadence, a lot of people are building things against master instead of stable releases, which is part of the problem as I see it. From: Gray, Jonathan Sent: Friday, April 19, 2019 8:37 PM To: dev@trafficcontrol.apache

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Gray, Jonathan
gt; > >If you're deploying the head of master, API minor versioning doesn't > > > > > really solve that consistent API problem unless we start saying that > > > > > every single new field added to an API endpoint is a new minor version > &

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Robert Butts
ely to blame for > our > > > > > lack of progress on our migration to Golang, but it's one more > thing > > > > > that is slowing us down and definitely hasn't helped improve > progress. > > > > > -- > > > > > Thanks, > > > > > Jeff > > > > &

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Rawlin Peters
proposed does. The > > only > > > > > difference from not versioning, is that fields will have a new > > tag, > > > > > "NewField *int `json:"newField, db:"new_field", api:"1.5"`, and > > endpoints > > > > > will have an extra lin

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Rawlin Peters
7;re deploying the head of master, API minor versioning > doesn't > > > > > really solve that consistent API problem unless we start saying > that > > > > > every single new field added to an API endpoint is a new minor > version > > &g

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Robert Butts
t; at the > > > cost > > > > > of developer productivity and progress on our project. > > > > > > > > > > I'm not saying that semantic versioning is solely to blame > > for our > > > > > lack of

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Jeremy Mitchell
1.5"`, and > > endpoints > > > > > will have an extra line, "json := api.NewJSON("1.4")". > That's > > it. That > > > > > would be the entirety of the API code (or very nearly, > Rawlin is >

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Gray, Jonathan
gt; > > > > >If you're deploying the head of master, API minor versioning > doesn't > > > > > really solve that consistent API problem unless we start > saying that > > > > > every single new field added to an

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Jeremy Mitchell
@comcast.com> > > > > wrote: > > > > > > > > > >If you're deploying the head of master, API minor versioning > doesn't > > > > > really solve that consistent API problem unless we start > saying that > > > > >

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Gray, Jonathan
mes in a day. > > > > > > > > >If someone goes > > > > to the trouble to understand how our APIs work and develops their own > > > > client code, why is it so unreasonable to expect them to also > > > > understand ho

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Jeremy Mitchell
; > > > > wrote: > > > > > > > > > >If you're deploying the head of master, API minor versioning > doesn't > > > > > really solve that consistent API problem unless we start saying > that > > > > > every single new field added to an API endpoint

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Rawlin Peters
t; that changes potentially a dozen times in a day. > > > > > > > > >If someone goes > > > > to the trouble to understand how our APIs work and develops their own > > > > client code, why is it so unreasonable to expect them to also > >

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Dave Neuman
omments > > > > and > > > > > boilerplate. > > > > > > > > > > How do you feel about that? Would that be simple enough? > > > > > > > > > > > > > > > On Thu, Apr 18, 2019 at 3:15 PM Fieck, Brennan < > >

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Robert Butts
> wrote: > > > > > > > > > >If you're deploying the head of master, API minor versioning > doesn't > > > > > really solve that consistent API problem unless we start saying > that > > > > > every single new field added to an

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Jeremy Mitchell
zen times in a day. > > > > > > > > >If someone goes > > > > to the trouble to understand how our APIs work and develops their own > > > > client code, why is it so unreasonable to expect them to also > > > > understand how an update of Traffic

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Robert Butts
> > I agree with this so hard. I'd love to just say "TO vX uses the vX API, > > > major changes to the biggest TC component are a major change to TC", > but at > > > any given time we support and provide bug/security fixes for versions > X and > > &

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Jeff Elsloo
bug/security fixes for versions X and > > X-1. I'll settle for eliminating minor API versions, though. Developers can > > be expected to understand that changing versions of a thing can change > > aspects of the ways in which you can interact with said thing. A major > > ve

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-19 Thread Jeremy Mitchell
ixes for versions X > and > > X-1. I'll settle for eliminating minor API versions, though. Developers > can > > be expected to understand that changing versions of a thing can change > > aspects of the ways in which you can interact with said thing. A major > > version change means major changes and a

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Fieck, Brennan
: Robert Butts Sent: Thursday, April 18, 2019 3:22 PM To: dev@trafficcontrol.apache.org Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues >This is about simplifying our code in the API @jeff.elsloo That's what the tag solution I proposed does. The only difference from not ver

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Robert Butts
nges and a minor version change means minor > changes. > ____ > From: Jeff Elsloo > Sent: Thursday, April 18, 2019 2:59 PM > To: dev@trafficcontrol.apache.org > Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues > > > Maybe I'

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Fieck, Brennan
A major version change means major changes and a minor version change means minor changes. From: Jeff Elsloo Sent: Thursday, April 18, 2019 2:59 PM To: dev@trafficcontrol.apache.org Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues > Maybe

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Rawlin Peters
On Thu, Apr 18, 2019 at 11:37 AM Robert Butts wrote: > Something doesn't cease to be an issue, because you redefine it to be the > user's fault. It's exactly the same issue, removing minor versions just > makes it much more difficult to debug. It's not the user's fault, it's the faulty client's f

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Jeff Elsloo
> Maybe I'm the only one, and everyone else can vote me out, but I don't see that as acceptable. It's our responsibility as developers to create a safe user experience, and unacceptable to declare real bugs to be the user's fault for not using it right. When our Production CDN goes down because an

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Rawlin Peters
If you're deploying the head of master, API minor versioning doesn't really solve that consistent API problem unless we start saying that every single new field added to an API endpoint is a new minor version instead of just incrementing an API's version once per TC release. Even if we do minor ve

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Hank Beatty
That's great! Thank you! On 4/18/19 1:51 PM, Robert Butts wrote: When API version 1.3 came out, why could I not call 1.3 for every API route even if the route didn't change? That was a Perl mistake, and a bug. Why not point the 1.3 to the 1.1 for example? Go does, and we manually do in Per

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Robert Butts
>When API version 1.3 came out, why could I not call 1.3 for every API route even if the route didn't change? That was a Perl mistake, and a bug. >Why not point the 1.3 to the 1.1 for example? Go does, and we manually do in Perl now, too. On Thu, Apr 18, 2019 at 11:47 AM Hank Beatty wrote: >

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Hank Beatty
+1 I agree with Jonathan but, I ran into my issue going from one TC release to the next. I want to have the API not break as long as that API is supported. I also don't want to have to use multiple versions of the API in my script unless I absolutely have to for some reason on my end. I wan

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Robert Butts
>Without minor versions, #3497 would not even an issue. It's only an issue because of the attempt to support minor versioning. That's simply not true. It's exactly the same issue. Removing minor versioning just hides the issue. You have declared: >only certain clients that don't handle new unknow

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Gray, Jonathan
At the end of the day, what I want is a consistent API that I can code against in the head of master that's treated like a contract. As an API user outside of the ATC repo it's incredibly frustrating to have my stuff break all the time. It basically encourages never developing using the latest

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-18 Thread Rawlin Peters
> The UPDATE statements need modified to fix #3497 even if we get rid of > versioning. Unless we decide to permanently break all clients older than > the newest server field, with every new server upgrade. The only other > option is to fix the updates. Unless you know of a way to fix missing > fiel

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-17 Thread Robert Butts
the API version is confusingly behind by > > > about 2 > > > > > major revisions. It should just be > > > > > >>>> the same for simplicity's sake. > > > > > >>>> > > > > > >>>>

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-17 Thread Rawlin Peters
; > redesigned. > > > > >>>> > > > > >>>> * The API Needs to be Redesigned * > > > > >>>> I'm going to go down this rabbit hole for a second, if you're > > > > already con

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-04-17 Thread Robert Butts
ndset" > that > > > plagues our oldest endpoints. The > > > >>>> "Mojolicious Mindset" refers to the use of URL path > > > fragments as request parameters, e.g. > > > >>>> '/users/{{ID}}&#

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-19 Thread Dan Kirkwood
gt; instead > > of one, and it means two lines in the > > >>>> route definitions, and it means two seperate handlers > > instead of one (albiet a more complex > > >>>> one). > > >>>> Consider also that we have all of the following > > endpoints

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-14 Thread Hank Beatty
tabase, and is therefore free from some of the constraints that bind a database. The way things are now, in order to e.g. create a server definition I must make several preliminary requests to determine the integral, unique, non-deterministic identifiers of other

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-13 Thread Rawlin Peters
t;to a lack of good documentation - so developers > aren't aware of the endpoints available to them > > >>>>>>- and partly because of the "Mojolicious Mindset" > that plagues our oldest endpoints. The > > >>>>>> &quo

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-13 Thread Gray, Jonathan
sers' and > >>>>>>'/users/{{ID}}' means documenting two endpoints instead of one, and it means two lines in the > >>>>>>route definitions, and it means two seperate handlers instead of one (albiet a more complex > >>>>>>

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-13 Thread Rawlin Peters
ur in > >>>>>> multiple endpoints. This is due in part > >>>>>>to a lack of good documentation - so developers aren't > >>>>>> aware of the endpoints available to them > >>>>>>- and partly bec

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-13 Thread Hank Beatty
some of the constraints that bind a database. The way things are now, in order to e.g. create a server definition I must make several preliminary requests to determine the integral, unique, non-deterministic identifiers of other objects. I think we all agree that

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-13 Thread Hank Beatty
pdate them by >>>> creating an alternative representation with the same identifiying information) but is instead >>>> used as the primary "edit this" method. `POST` is for processing entities in a data payload, but >>>&g

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-13 Thread Rawlin Peters
> >>>> Consider also that we have all of the following endpoints for > >>>> manipulating Cache Groups: > >>>> > >>>> * /api/1.x/cachegroup/{{parameter ID}}/parameter > >>>> * /api/1.x/cachegroup_fallbacks > &

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-13 Thread Dave Neuman
* /api/1.x/cachegroups/{{parameter > ID}}/parameter_available > >>>> * /api/1.x/cachegroups_trimmed > >>>> > >>>> These could all be collapsed neatly into one or two > endpoints, but were instead implemented >

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-13 Thread Gray, Jonathan
creating an alternative representation with the same identifiying information) but is instead >>>> used as the primary "edit this" method. `POST` is for processing entities in a data payload, but >>>> is instead used for object creation.

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-13 Thread Hank Beatty
r database is structured. But that's part of the problem - an API needn't replicate the database, and is therefore free from some of the constraints that bind a database. The way things are now, in order to e.g. create a server definition I must make several

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-11 Thread Rawlin Peters
ailed us. `PUT` should be used to _create_ > >> objects (or possibly update them by > >> creating an alternative representation with the same identifiying > >> information) but is instead > >> used as the primary "edit this" method. `P

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-03-11 Thread Hank Beatty
ver definition I must make several preliminary requests to determine the integral, unique, non-deterministic identifiers of other objects. I think we all agree that ideally these integral IDs would have no part in the output of the API, and many people I've spoken to wo

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-22 Thread Jeff Elsloo
Hi all, Looks like we had a fairly lively discussion here, and I'm late to the party. I've been contemplating everyone's positions, but I agree with the points Rawlin laid out in the initial email. We have been doing a lot of great work on the API front, but after observing much of the development

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Rawlin Peters
I was referring to Brennan's proposal: > Sure, but TO API v1 would only be implemented by TO v1 and TO API v2 only > implemented by TO v2. I agree about the deprecation overlap. We need to support both API v1 and v2 at the same time for at least one major release. - Rawlin On Thu, Feb 14, 2019

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Gray, Jonathan
> From: Rawlin Peters > Sent: Thursday, February 14, 2019 12:59 PM > To: dev@trafficcontrol.apache.org > Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues > > Scripts written against TO API v1 should always work against TO API > v1, n

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Rawlin Peters
TO API v1 would only be implemented by TO v1 and TO API v2 only > implemented by TO v2. > > From: Rawlin Peters > Sent: Thursday, February 14, 2019 12:59 PM > To: dev@trafficcontrol.apache.org > Subject: Re: [EXTERNAL] Re: Traffic Ops

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Gray, Jonathan
_ From: Rawlin Peters Sent: Thursday, February 14, 2019 12:59 PM To: dev@trafficcontrol.apache.org Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues Scripts written against TO API v1 should always work against TO API v1, no matter if Traffic Ops is v2.2, v3.0, or

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Fieck, Brennan
Sure, but TO API v1 would only be implemented by TO v1 and TO API v2 only implemented by TO v2. From: Rawlin Peters Sent: Thursday, February 14, 2019 12:59 PM To: dev@trafficcontrol.apache.org Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Rawlin Peters
scripts to > work with v2. > > From: Rawlin Peters > Sent: Thursday, February 14, 2019 10:53 AM > To: dev@trafficcontrol.apache.org > Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues > > There is a lot of stuff to digest here, and I ag

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Gray, Jonathan
work with v2. From: Rawlin Peters Sent: Thursday, February 14, 2019 10:53 AM To: dev@trafficcontrol.apache.org Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues There is a lot of stuff to digest here, and I agree that the v1 API is desp

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Fieck, Brennan
th v2. From: Rawlin Peters Sent: Thursday, February 14, 2019 10:53 AM To: dev@trafficcontrol.apache.org Subject: Re: [EXTERNAL] Re: Traffic Ops API versioning issues There is a lot of stuff to digest here, and I agree that the v1 API is desperately in need of a go

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Rawlin Peters
oblem it solves is an emergent property > of of API problem #1 above. > With fewer endpoints we'd have much more specific handling, and the > need for and advantages of > the "CRUDER" will vanish. > > 3. Needing multiple queries to obtain a single piece

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Rawlin Peters
Unfortunately I missed your graphQL presentation at the summit, but I do think that warrants some serious consideration as well. I don't know if we'd be able to do _only_ graphQL for the TO API at this point, but we should consider running an experimental graphQL server side-by-side to vet it. Once

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Rawlin Peters
On Wed, Feb 13, 2019 at 6:12 PM Robert Butts wrote: > > >It doesn't seem like the idea of full TO API SemVer was ever fully > discussed and voted on > > >Since it seems like we never truly committed to SemVer with minor versions > for the TO API > > There was consensus: > https://lists.apache.org/

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Gray, Jonathan
I'm still digesting this for a better response. If you're considering what both the big next thing for the API is and at the same time are considering linking it to the ATC release, I'll just put this back on the radar https://github.com/apache/trafficcontrol/issues/2630. There was good discu

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Moltzau, Matthew
> The "CRUDER" is a great innovation, to be sure, as it saves us quite a bit of > time and prevents duplicating code, but the problem it solves is an emergent property of of API problem #1 above. > With fewer endpoints we'd have much more specific handling, and the need for > and advanta

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Fieck, Brennan
I'd take it further, though in my opinion it shouldn't be done until we're ready to do away with Perl entirely. I've been working on this draft for a while now, and I sort of wanted to wait until I made a wiki page for a proposed API v2 spec before sending it, but what the heck. The conversation

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-14 Thread Fieck, Brennan
r to e.g. create a server definition I must make several preliminary requests to determine the integral, unique, non-deterministic identifiers of other objects. I think we all agree that ideally these integral IDs would have no part in the output of the API, and many peopl

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-13 Thread Robert Butts
>It doesn't seem like the idea of full TO API SemVer was ever fully discussed and voted on >Since it seems like we never truly committed to SemVer with minor versions for the TO API There was consensus: https://lists.apache.org/thread.html/8f8a850c68424021a0fe06967894383a24e463f1b0cee4d652d04590@

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-13 Thread Rawlin Peters
On Wed, Feb 13, 2019 at 1:20 PM Gray, Jonathan wrote: > > I'm +1 on keeping full API SemVer. > On 2/13/19, 12:16 PM, "Robert Butts" wrote: > > We would be abandoning Semantic Versioning. This is why I wanted to open this up for broader discussion within the community. It doesn't seem like

Re: [EXTERNAL] Re: Traffic Ops API versioning issues

2019-02-13 Thread Gray, Jonathan
I'm +1 on keeping full API SemVer. It allows an API consumer I have a stronger contract around the semantics of what we should be produce and consume. The piece that's still missing to me is issue #2872 so as a client I can safely verify my API contract is still valid after TO has been upgrade