-
Notifications
You must be signed in to change notification settings - Fork 38.8k
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
Update golang.org/x/net/... dependencies to release-branch.go1.11 #71501
Conversation
Hi @PrasadG193. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign @wenjiaswe |
/ok-to-test |
/retest |
@PrasadG193 Thank you very much for helping with this! There are several tests failing now. I looked at this dependency upgrade before and unfortunately, this one is a little bit trickier than other dependency upgrade. In go/net 1.11, there are some structural changes that might have big impact, which means you will need to do some manual fix carefully before all the tests could pass. |
Godeps/Godeps.json
Outdated
}, | ||
{ | ||
"ImportPath": "golang.org/x/net/internal/socks", | ||
"Rev": "c39426892332e1bb5ec0a434a079bf82f5d30c54" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As mentioned in my comment, you can see that the httpplex package is not here anymore and httpguts and socks are added.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it. Let me do the same in other Godep.json files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would imagine other Godep.json files should be handled fine by the script? It's more of the actual source code who has dependency on those files, you probably need to go in there and modify them. Does the code compile after you run the script?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wenjiaswe We need to update this dependency in all the repos under https://github.com/kubernetes/kubernetes/tree/master/vendor/k8s.io. Should we create a PR against each repo? And I guess these tests will not pass until we merge changes in vendored repos.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ping @wenjiaswe
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PrasadG193 Sorry for the delay! I was busy with KubeCon and just caught up with this. Actually, what you need to do is to update files in https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io in this PR, instead of vendors. cc @dims for confirmation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wenjiaswe we have already updated dependencies in staging/src/k8s.io/* files in this PR. But the hack/verify-godeps.sh
script is failing as repos in vendor/k8s.io/* are still using older version of golang.org/x/net/...
packages
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PrasadG193 please run hack/update-staging-godeps.sh
and also hack/update-godep-licenses.sh
515aa2e
to
ba675e1
Compare
5062365
to
7f352b0
Compare
7f352b0
to
a2f953b
Compare
/lgtm |
/hold Need to review this one closely. |
@dims I'm not sure that hack is really safe.. I don't like the idea of manually ignoring packages, if they're being brought into the dependency tree. Godep is of course crap at telling you why a particular package is needed, but I'm guessing it's bringing in those few repos that have Godeps.json of their own and using that to say "these must have dependencies" even if that package isn't in the actual code path for the packages we import? @sttts If you have time today, would you mind taking a look at this? I could use a second opinion. |
What's blocking upgrading x/net at the same time? |
@thockin short answer godep does not seem to understand that we want a fresh x/net and is using the older x/net from vendored directories when it is computing dependencies. So i had to add a |
The external facing bits of golang.org/x/net in go1.12 and go1.11 are API compatible. It's purely a matter of convincing godeps to pull in the right version. I think this is likely the straw that breaks the camel's back for pushing us from godep to go modules (hopefully in 1.15), which handled updating to a go1.12 version of golang.org/x/net just fine. See #74877 for experiments in that vein. I don't object to a hack to get k/k vendor dir updated to go1.12-level golang.org/x/net (especially if we expect the lifetime of the hack to be short with go modules imminent), but I am concerned that the resulting Godep.json files we push out to published repos will not work with a standard Godep. |
@PrasadG193: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/milestone v1.14 |
|
@PrasadG193 i've filed another PR #75289 that includes the commits from here and the update to 1.12. is this ok? |
/close |
@liggitt: Closed this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
What type of PR is this?
What this PR does / why we need it:
Updates vendored files in
golang.org/x/net/...
packages to release-branch.go1.11Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #71016
Special notes for your reviewer:
Does this PR introduce a user-facing change?: