-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Vault HTTP2 no cached connection #6433
Comments
thanks for the report, @mtneug ! |
A quick workaround seems to be setting the following environment variable on the nomad servers:
|
@nvx thanks! I thought I tried that out, but I will try again and report back. |
I played around with this a bit more, it looks like GODEBUG trick didn't work after all. Updating the golang.org/x/net/http2 dependency and rebuilding did the trick however (against 0.10.3 tag):
Was used to update the dependency. Looks like it should be a pretty easy fix. |
I can confirm it happens with Nomad 0.10.4 too and, as @nvx said, updating golang.org/x/net/http2 did the trick. |
This is a complete showstopper for me for using Vault and Nomad together. Nomad consistently fails to renew its token. Given that this is a serious bug that prevents two of your flagship products from working together, and that it is apparently an low-effort fix, can we please get the change integrated? |
Thank you folks! Sorry that this has slipped our attention for so long. The fix here, will be out in 0.11.1! |
I'm going to lock this issue because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active issues. |
Nomad version
Nomad v0.9.5 ('0.9.5')
Operating system and Environment details
Nomad is running on Alpine Linux with enabled Docker, exec, and raw_exec task drivers. It is connected to a Consul and Vault cluster all having three nodes. The issue occurred when testing integration with Vault (have not yet tested Consul with consul-template, but the Nomad instances find each other via Consul so I assume this is working). Both, Consul and Vault use server and require client HTTPS certificates. Nomad was compiled with Go
1.13
(Alpine package1.13-r0
).Issue
Any interactions with Vault will fail after some time (e.g. renew tokens, delete tokens, create tokens for allocations). The root cause is the Go HTTP2 connection pool (see logs). Searching for the error seems to indicate that it was fixed at some time in the past. Due to time constraints, I'm unsure if the vendored
golang.org/x/net/http2
simply needs to be updated to fix the issue.Nomad Server logs (if appropriate)
Maybe related issues
golang/go#16582
kubernetes/kubernetes#74412
The text was updated successfully, but these errors were encountered: