[kata-dev] 答复: What to do about release versioning ?

Thierry Carrez thierry at openstack.org
Fri Jun 22 09:55:32 UTC 2018

zhangwei (CR) wrote:
> To summarize:
> 1) We  already break the backward compatibility, and we will break a lot more in near future definitely.  Actually in Vancouver, the participants all agree that we can't promise the API won't be broken and current API isn't a stable version.
> 2) Before we claim that kata can support "live ugrade" and kata is real production ready, I'm fine with the breakage and also fine with 1.0.1 or 1.1.0, maybe latter one looks better.
> 3) After we claim that kata can support "live upgrade" in future, we should reject any modifications which will break the running workloads, unless this is really inevitable, by then, we need to upgrade kata version from x.0.0 to y.0.0.
> But I hope our kata developers can understand what a disaster this could be to a cloud provider like us :-(, and I hope this will never happen.
> 4) Better document that we don't support "live upgrade" yet, and tell users that if you want to upgrade to this new kata-containers version, you must stop all you running kata containers, or there will be anticipated issues.

That summary sounds in line with what Jon said... the protocol between 
the runtime and the agent is not (yet) part of the external contract for 
Kata. Once it is (be it by supporting live upgrade or other explicit 
documentation that you support mixing versions between agent and 
runtime) then you should avoid breaking that altogether (and bump X 
number in the case you really need to).

In example 1 from Sebastien (PauseContainer()), I would still recommend 
you bump Y though, and make it 1.1.0. You're adding a feature and 
modifying the protocol. I would keep .Z bumps for basic bugfixes that do 
not introduce incompatible protocol changes at all, if only to develop 
user confidence that those .Z bumps can be deployed with limited risk.

Thierry Carrez (ttx)

More information about the kata-dev mailing list