> On 25 Feb 2020, at 21:11, Christian Hopps <cho...@chopps.org> wrote:
> 
> 
> 
>> On Feb 25, 2020, at 12:48 PM, Andrew Yourtchenko <ayour...@gmail.com> wrote:
>> 
>> With my 19.08 release manager hat on,
>> For the current state of the matters my view is “as soon as the CRC of any 
>> existing messages does not change, a patch is okay to include into 19.08”.
>> 
>> This applies recursively, meaning that if one add a new message to 1908, it 
>> comes in as “frozen” with no further changes. Why ? Because if it is not 
>> perfect API wise it’s not stable, it should first settle down on master.
>> 
>> That’s the logic I had been using so far.
> 
> So I think I'm reading that as:
> 
> "It's fine to add the new API message (e.g., ip_route_lookup); however, since 
> the new API would be immediately frozen in the release (and thus not be able 
> to be changed again on that release/branch), you'd like it to have soak time 
> on master prior to it being brought into a release."?

More or less. IFF one really wants the new api in 1908. Since the aim is to 
keep it “stable”.

> 
> I wonder what the soak time would be though, as it's a new API it might take 
> quite some time for people to use it. A lot of the people that use the binary 
> APIs might also only use release branches (e.g., our use) so it might only be 
> exercised once it gets into the next release, and then it's the same 
> situation as we started with (new API being tried out on release branch :)

Right, so I think for any given user X it translates to “I want to use stable 
plus my features”. When we iterate X over the set of users, the target branch 
result becomes master really, doesn’t it ? :)

> 
> It'd be nice to have a way to label an API added post release as 
> "experimental" or something so that it could get more exposure with the 
> expectation that that exposure might cause the API to change.

That’s the APIs in the master prior to the API freeze, in my book.

The today’s situation is:

- want bleeding edge features ? Use master.
- want sort-of-boring-stability ? Use release branch

Now, I am really interested why the folks who do want to experiment with the 
APIs, do not pick the master ? (Say, specifically for your case).

—a

> 
> Thanks,
> Chris.
> 
> 
>> I am currently working on an 19.08 api translation layer  experiment that in 
>> principle should allow more freedom... but till that is successful that is 
>> my point of view. Unless the community decides otherwise, of course.
> 
>> 
>> --a
>> 
>>>> On 25 Feb 2020, at 16:56, Dave Barach via Lists.Fd.Io 
>>>> <dbarach=cisco....@lists.fd.io> wrote:
>>> 
>>> 
>>> Dear Chris,
>>> 
>>> Adding missing flags to ipsec_sad_flags shouldn’t break much of anything. 
>>> Never say never, but for me, I wouldn’t hesitate to merge such a patch.
>>> 
>>> Adding an entirely new message will renumber subsequent core engine 
>>> messages, and implies client recompilation. My $0.02: again, not such a big 
>>> deal.
>>> 
>>> What do other people think?
>>> 
>>> Dave
>>> 
>>> P.S. in master/latest, enum ipsec_sad_flags has moved to 
>>> .../src/vnet/ipsec/ipsec_types.api...
>>> 
>>> 
>>> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Christian Hopps
>>> Sent: Tuesday, February 25, 2020 10:25 AM
>>> To: vpp-dev <vpp-dev@lists.fd.io>
>>> Cc: Christian Hopps <cho...@chopps.org>
>>> Subject: [vpp-dev] Can I submit some API changes for 19.08, et al. release 
>>> branches?
>>> 
>>> I've got a couple of changes to the ipsec API that I'd like to upstream to 
>>> match the vpp "kernel" code I'm going try and upstream to strongswan.
>>> 
>>> 1) Add: Add an ip_route_lookup/reply pair (semver minor++)
>>> 2) Fix: Add IS_INBOUND flag (value 0x40) to ipsec_sad_flags (semver patch++)
>>> optional) Fix: possibly add the other missing flags to ipsec_sad_flags so 
>>> they can be properly returned on queries.
>>> 
>>> I think submitting these for release branches is OK after reading 
>>> https://wiki.fd.io/view/VPP/API_Versioning
>>> 
>>> I'm coding to 19.08 right now, if I'd like to have those changes in that 
>>> branch I would imagine I'd need to also submit changes for 20.01 and master?
>>> 
>>> I admit to being confused about the CRC stuff, and the warnings in the 
>>> 19.08.1 release notes and what those warnings imply. Is it safe to assume 
>>> the CRC stuff can be ignored and external clients will still work (given no 
>>> semver major change) even if a CRC chagnes?
>>> 
>>> Side Note: from the API link: "If a new message type is added, the old 
>>> message type must be maintained for at least one release. The change must 
>>> be included in the release notes, and it would be helpful if the message 
>>> could be tagged as deprecated in the API language and a logging message 
>>> given to the user."
>>> 
>>> Given there are 3 releases per year, only maintaining an old compatible 
>>> function for 1 release seems rather aggressive. It does say "at least" 
>>> though. :)
>>> 
>>> Thanks,
>>> Chris.
>>> 
>>> 
>> 
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#15528): https://lists.fd.io/g/vpp-dev/message/15528
Mute This Topic: https://lists.fd.io/mt/71535081/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to