Revendor libnetwork @ 36d3bed0e9#37843
Conversation
Signed-off-by: John Howard <[email protected]> This also adds go.etcd.io/bbolt as boltdb/bolt is no longer maintained, and we need etcd-io/bbolt#122 which was merged in https://github.com/etcd-io/bbolt/releases/tag/v1.3.1-etcd.8 in order to fix moby/libnetwork#1950. Note that I can't entirely remove boltdb/bolt as it is still used by other components. Still need to work my way through them.... These include containerd/containerd (containerd/containerd#2634), docker/swarmkit; moby/buildkit. And probably more....
Signed-off-by: John Howard <[email protected]>
Signed-off-by: John Howard <[email protected]>
|
Thanks @jhowardmsft . LGTM It is a bit wierd though to have both boltdb and bbolt vendored into moby in order to handle the dependency chain. The question is should we wait for other PRs to be merged in other Repos and vendor them all together ? I personally dont think that is required. |
@mavenugo No, it's not required. It is going to take some time to get those through - see for example this comment. containerd/containerd#2634 (comment). I'll try my hardest though to get all components consistent ASAP. |
|
docker/swarmkit PR opened at moby/swarmkit#2748. Just moby/buildkit to go, and then revendoring them back into moby/moby. (The buildkit one is blocked behind the containerd one as buildkit vendors containerd. This is complicated!) |
|
Thanks! I looked at this a while back as well, and noticed I was opening the same can of worms (many projects using boltdb 😅 |
|
containerd PR --> moby/moby is #37877 |
Signed-off-by: John Howard [email protected]
Fixes moby/libnetwork#1950
This relates to a bunch of associated PRs, but ultimately is the fix for moby/libnetwork#1950.
There is a bug in boltdb/bolt on Windows, which is unfortunately no longer maintained. The active maintained fork is now at https://github.com/etcd-io/bbolt. See etcd-io/bbolt#121 for the bug, and etcd-io/bbolt#122 for the fix. The tagged release with the fix is https://github.com/etcd-io/bbolt/releases/tag/v1.3.1-etcd.8.
Unfortunately, boltdb is used all over the place by many components. Hence to get this fix to moby/moby, I've had to go through docker/libkv#202 which is where the database is used by libnetwork; then moby/libnetwork#2268 to pull in the libkv fix; and now this PR to pull everything into moby/moby.
I still cannot remove boltdb/bolt from vendoring here as it's used by (at least) the following components still:
I've got a PR open to containerd/containerd here: containerd/containerd#2634, but haven't yet opened PRs to
docker/swarmkitor moby/buildkit. Those will follow shortly. Update - swarmkit opened. Buildkit depends on containerd PR.There are three commits in this PR:
hack/dockerfile/install/proxy.installer. I couldn't find any other places the libnetwork commit was referenced.@mavenugo @johnstep @thaJeztah PTAL.
@carlfischer1, @JMesser81, @dineshgovindasamy, @daschott FYI.
Phew! 💦 💦 💦
Full diff for Libnetwork;