Bin Liu reported a "Test latest CRI-O" (https://github.com/kata-containers/tests/pull/2775) issue, which is linked to an issue that I reported on CRI-O a few weeks ago (https://github.com/cri-o/cri-o/issues/3991). Turns out the same issue affects containerd (https://github.com/containerd/ttrpc/issues/62).
My vague understanding of the issue is that due to an update done on golang/protobuf package, the one introducing its APIv2 is responsible for generating messages which are now incompatible with the v1 package.
Considering the issue above, and the fact that gogo/protobuf is looking for new ownership (https://github.com/gogo/protobuf/issues/691), I think the best we can do to deal with the unavoidable breakage is replace all the gogo/protobuf usages on kata, containerd, and CRI-O by golang/protobuf.
I'm not in the position to even measure how much work it'd be required, but I know folks from Ant Fin are familiar with protobuf and may be able to help with this.
On the CRI-O side, the gogo/protobuf issues are coming mostly from vendored code, which I do believe that could be solved in one place and both containerd & CRI-O would take advantage of the same fix.
Anyways, anyone interested on helping with this one?
Best Regards,
Looks like this affects ttrpc as well
https://github.com/containerd/ttrpc/issues/62
right?
Does this affect the go-binding only, Fabiano?
Xu ------------------------------------------------------------------ From:Fabiano Fidêncio fidencio@redhat.com Send Time:2020年8月12日(星期三) 05:32 To:kata-dev kata-dev@lists.katacontainers.io Subject:[kata-dev] gogo/protobuf issues
Bin Liu reported a "Test latest CRI-O" (https://github.com/kata-containers/tests/pull/2775) issue, which is linked to an issue that I reported on CRI-O a few weeks ago (https://github.com/cri-o/cri-o/issues/3991). Turns out the same issue affects containerd (https://github.com/containerd/ttrpc/issues/62).
My vague understanding of the issue is that due to an update done on golang/protobuf package, the one introducing its APIv2 is responsible for generating messages which are now incompatible with the v1 package.
Considering the issue above, and the fact that gogo/protobuf is looking for new ownership (https://github.com/gogo/protobuf/issues/691), I think the best we can do to deal with the unavoidable breakage is replace all the gogo/protobuf usages on kata, containerd, and CRI-O by golang/protobuf.
I'm not in the position to even measure how much work it'd be required, but I know folks from Ant Fin are familiar with protobuf and may be able to help with this.
On the CRI-O side, the gogo/protobuf issues are coming mostly from vendored code, which I do believe that could be solved in one place and both containerd & CRI-O would take advantage of the same fix.
Anyways, anyone interested on helping with this one?
Best Regards,
Xu,
On Wed, Aug 12, 2020 at 4:21 AM Xu Wang xu@hyper.sh wrote:
Looks like this affects ttrpc as well
https://github.com/containerd/ttrpc/issues/62
right?
Yes!
Does this affect the go-binding only, Fabiano?
I do think so, Xu. I know we move the agent to rust, but it'll still bite us at least on the 1.x branch (which is the most used one), and also will bite us by the moment it affects CRI-O and containerd.
[...]
Best Regards,
Thank you, Fabiano.
I discussed this with Fupan hours ago. It seems that the golang/protobuf introduced an incompatible change in 1.4.x and kubernetes updated to the version in 1.9.0-beta.
As both containerd and CRI-O vendor kubernetes, I believe both the projects will eventually shift the broken change. And I agree that we should update all of them eventually.
The problem we faced is whether or when to update it.
------------------------------------------------------------------ From:Fabiano Fidêncio fidencio@redhat.com Send Time:2020年8月12日(星期三) 15:02 To:王旭(循环) xu@hyper.sh Cc:kata-dev kata-dev@lists.katacontainers.io Subject:Re: [kata-dev] gogo/protobuf issues
Xu,
On Wed, Aug 12, 2020 at 4:21 AM Xu Wang xu@hyper.sh wrote:
Looks like this affects ttrpc as well
https://github.com/containerd/ttrpc/issues/62
right?
Yes!
Does this affect the go-binding only, Fabiano?
I do think so, Xu. I know we move the agent to rust, but it'll still bite us at least on the 1.x branch (which is the most used one), and also will bite us by the moment it affects CRI-O and containerd.
[...]
Best Regards,
CC'ing Harshal and Francesco,
Xu,
On Wed, Aug 12, 2020 at 9:21 AM Xu Wang xu@hyper.sh wrote:
Thank you, Fabiano.
I discussed this with Fupan hours ago. It seems that the golang/protobuf introduced an incompatible change in 1.4.x and kubernetes updated to the version in 1.9.0-beta.
As both containerd and CRI-O vendor kubernetes, I believe both the projects will eventually shift the broken change. And I agree that we should update all of them eventually.
The problem we faced is whether or when to update it.
Do you think we need a kata issue about this as well? By the way, we may really need some help from someone more experienced on this than we (Francesco and I) are.
Best Regards,
participants (2)
-
Fabiano Fidêncio
-
Xu Wang