Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Downgrade gvisor tap vsock #8102

Closed
wants to merge 4 commits into from
Closed

Downgrade gvisor tap vsock #8102

wants to merge 4 commits into from

Conversation

Nino-K
Copy link
Member

@Nino-K Nino-K commented Jan 16, 2025

As part of the 1.17.0 release, we upgraded the gvisor-tap-vsock library to version v0.8.1. However, this version has caused issues with DNS resolution behind VPNs and other name resolution problems. We plan to release a patch to address these issues, and this downgrade is part of that solution.

Related to: #8055

This reverts commit 053477d.
Not manually downgrading lima was causing the gvisor-tap-vsock to revert back to the latest version 0.8.1.
Also, the gvisor-tap-vsock was reverted back to version 0.7.5 for Networking and guestAgent project.
As part of the 1.17.0 release, we upgraded the gvisor-tap-vsock library to version v0.8.1.
However, this version has caused issues with DNS resolution behind VPNs and other name resolution problems.
To address these issues, we are planning to release a patch, and this downgrade is part of that solution.

Signed-off-by: Nino Kodabande <[email protected]>
@Nino-K Nino-K force-pushed the downgrade-gvisor-tap-vsock branch from 4003298 to efcfdd5 Compare January 16, 2025 19:42
Copy link
Contributor

@mook-as mook-as left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be changes to dependabot.yml to prevent dependabot from trying to bump gvisor-tap-vsock for us. (And to document that we're forcing it to 0.7.5.)

gvisor.dev/gvisor v0.0.0-20231023213702-2691a8f9b1cf
)

require (
Copy link
Contributor

@mook-as mook-as Jan 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Huh, why is there two sections for indirect requires now?

github.com/containernetworking/plugins v1.6.2
github.com/containers/gvisor-tap-vsock v0.8.1
github.com/docker/docker v27.5.0+incompatible
github.com/containerd/containerd v1.7.24
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need to downgrade containerd, docker, etc., but hopefully this fixes the issues and then we can think about it later.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this seems wrong. We should not downgrade any other direct dependencies, except for gvisor-tap-vsock. We may downgrade indirect dependencies, whatever go mod tidy decides, but the direct dependencies must stay as-is.

Dependabot will bump them back up right away anyways!

@Nino-K
Copy link
Member Author

Nino-K commented Jan 16, 2025

There should be changes to dependabot.yml to prevent dependabot from trying to bump gvisor-tap-vsock for us. (And to document that we're forcing it to 0.7.5.)

Should we update the dependabot? or should we decide not to accept the PRs that dependabot creates?

github.com/containernetworking/plugins v1.6.2
github.com/containers/gvisor-tap-vsock v0.8.1
github.com/docker/docker v27.5.0+incompatible
github.com/containerd/containerd v1.7.24
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this seems wrong. We should not downgrade any other direct dependencies, except for gvisor-tap-vsock. We may downgrade indirect dependencies, whatever go mod tidy decides, but the direct dependencies must stay as-is.

Dependabot will bump them back up right away anyways!

@Nino-K
Copy link
Member Author

Nino-K commented Jan 16, 2025

@jandubois

Yes, this seems wrong. We should not downgrade any other direct dependencies, except for gvisor-tap-vsock. We may downgrade indirect dependencies, whatever go mod tidy decides, but the direct dependencies must stay as-is.

I believe that was done as part of running yarn lint.

@jandubois
Copy link
Member

Should we update the dependabot? or should we decide not to accept the PRs that dependabot creates?

I'm fine with just turning the specific PR from dependabot for gvisor-tap-vsock to Draft, and keep it as a reminder. This downgrade will hopefully be just temporary, and we need to investigate how the root cause can be fixed upstream.

This should be temporary until we can find a newer version that resolves the
DNS issues.

Signed-off-by: Nino Kodabande <[email protected]>
// The inet.af domain was lost: https://github.com/inetaf/tcpproxy/issues/39
// We can't just `require` github.com/inetaf/tcpproxy, as gvisor-tap-vsock
// still imports inet.af/tcpproxy: https://github.com/containers/gvisor-tap-vsock/pull/399
replace inet.af/tcpproxy => github.com/inetaf/tcpproxy v0.0.0-20240214030015-3ce58045626c
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this is a different version compared to what we actually require. Is that expected? I'd have thought we'd use the same commit (because the replacement repo has the full history).

@Nino-K Nino-K closed this Jan 16, 2025
@Nino-K Nino-K deleted the downgrade-gvisor-tap-vsock branch January 16, 2025 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants