[openstack-dev] [kuryr][os-vif][nova] os-vif 1.8.0 breaks kuryr-kubernetes

Jay Pipes jaypipes at gmail.com
Mon Jan 15 17:30:13 UTC 2018

On 01/15/2018 11:45 AM, mdulko at redhat.com wrote:
> Hi,
> os-vif commit [1] introduced a non-backward compatible change to the
> Subnet object - removal of ips field. Turns out kuryr-kubernetes were
> depending on that e.g. here [1] and we're now broken with os-vif 1.8.0.
> kuryr-kubernetes is saving the VIF objects into the K8s resources
> annotations, so to keep backwards compatibility we need
> VIFBase.obj_make_compatible able to backport the data back into the
> Subnet object. Or be able to load the older data to the newer object.
> Anyone have an advice how we should proceed with that issue?

It would have been great to know kuryr-kubernetes was saving/using these 
objects :) as mentioned on the original os-vif code review, the 
versioned objects in os-vif have yet to be used in over-the-wire 
communication nor have they been saved to a backing data store by Nova 
or Neutron. Thus, we haven't bothered with the obj_make_compatible() 
stuff yet.

If we had known there was a non-Nova non-Neutron client of os-vif, of 
course we would have been tracking changes using obj_make_compatible().

That said, even if we *were* using obj_make_compatible() and allowing 
for the backversioning of object formats, that would not have magically 
enabled kuryr-kubernetes to work with our objects without modification. 
kuryr-kubernetes would still need to do the dance of telling os-vif 
somehow what version of the objects that it expects to be given. This is 
what all the infrastructure in oslo.versionedobject's client-server 
negotiation does and it's non-trivial.

Bottom line, we can straight revert the os-vif patch in question 
(because it's really just a cleanup), release os-vif 1.8.1 by the cutoff 
on Thursday and "fix" kuryr-kubernetes. However, we will want to have a 
call with you guys to tell you exactly how to do the versioning 
negotiation that you will now need to do since you're storing these 
objects somewhere.


> It would also be nice to setup a kuryr-kubernetes gate on the os-vif
> repo. If there are no objections to that I'd volunteer to submit a
> commit that adds it.
> Thanks,
> Michal
> [1] https://review.openstack.org/#/c/508498
> [2] https://github.com/openstack/kuryr-kubernetes/blob/18db6499432e6cab61059eb5abeeaad3ea40b6e4/kuryr_kubernetes/cni/binding/base.py#L64-L66
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

More information about the OpenStack-dev mailing list