lf-edge / adam

Adam talks to EVE
https://www.lfedge.org/projects/eve/
Apache License 2.0
64 stars 32 forks source link

Need to implement V2 API in Adam #16

Open rvs opened 4 years ago

rvs commented 4 years ago

EVE has transitioned to the V2 API by default. Adam knows only about V1 still. This means we have to force all instances of EVE that talk to Adam to have Force-API-V1 in the config folder -- otherwise EVE won't be able to talk to Adam at all.

There's work in EVE going on to publish V2 API spec updates -- once that is done we'll use the spec to update Adam to V2 API.

deitch commented 4 years ago

@rvs not sure I understand this. Is the below correct?

rvs commented 4 years ago

Hey @deitch -- here's the deal:

eve can talk v1 and v2, but uses v2 by default

correct -- in addition to that there's an agreement that v1 support goes away soon (once Adam gets a chance to catch up basically)

if eve receives a particular signal on onboarding, it falls back to v1

nope -- onboarding itself is part of the API hence we can't use that as a signal -- the only we can give EVE to fallback onto V1 is that file in /config

can other controllers (zedcloud) talk both?

Zedcloud is in a process of transitioning to V2 only

can and should we get adam to talk both?

there's not really much value, since EVE is going to drop V1 the moment Adam can support V2

since the api is driven by generated protobuf files, how do they coexist?

The API are on different endpoints

@eriknordmark and Naiming are documenting all of this in this current sprint

deitch commented 4 years ago

onboarding itself is part of the API hence we can't use that as a signal -- the only we can give EVE to fallback onto V1 is that file in /config

That aligns with what you did in #17 ; makes sense.

Zedcloud is in a process of transitioning to V2 only The API are on different endpoints

So we are just moving to v2 and retiring v1. Fine with me.

@eriknordmark and Naiming are documenting all of this in this current sprint

So the position is that we hold until that is documented, then implement it here?