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

Dependencie net-keepalive does not support win32 #632

Closed
eduardocp opened this issue Apr 8, 2021 · 9 comments · Fixed by #635
Closed

Dependencie net-keepalive does not support win32 #632

eduardocp opened this issue Apr 8, 2021 · 9 comments · Fixed by #635

Comments

@eduardocp
Copy link

eduardocp commented Apr 8, 2021

Describe the bug
Dependencie net-keepalive does not support win32

Client Version
0.14.2

To Reproduce
In Windows:
yarn add @kubernetes/client-node

Expected behavior
Package successfully add

Current behavior
Error on fetching packages
image

@HitkoDev
Copy link

HitkoDev commented Apr 8, 2021

@bacongobbler @brendandburns This was caused by #630

@bacongobbler
Copy link
Contributor

bacongobbler commented Apr 8, 2021

Hey thanks for reaching out.

Good catch with this one. I wonder if it is possible to selectively disable the tcp keepalive probe header on non-unix systems, as that's how Go provides this functionality to client-go.

From https://golang.org/pkg/net/ (emphasis bold):

// KeepAlive specifies the interval between keep-alive
// probes for an active network connection.
// If zero, keep-alive probes are sent with a default value
// (currently 15 seconds), if supported by the protocol and operating
// system. Network protocols or operating systems that do
// not support keep-alives ignore this field.

// If negative, keep-alive probes are disabled.

I don't have enough typescript chops to do this myself, but that's how I'd proceed here.

@bacongobbler
Copy link
Contributor

bacongobbler commented Apr 8, 2021

Alternatively, it does appear the net-keepalive maintainers are welcome to PRs to provide windows support. So another option would be to perform a no-op pointing to Go's pkg/net implementation as reference.

https://github.com/hertzg/node-net-keepalive

Does not work on 🐄 win32 (pull requests welcome).

@dominykas
Copy link
Contributor

I'm seeing an error on Linux as well:

07:21:22 AssertionError [ERR_ASSERTION]: Unable to get socket fd
07:21:22     at _getSocketFD (/mnt/project/node_modules/net-keepalive/lib/index.js:31:3)
07:21:22     at Object.setKeepAliveInterval (/mnt/project/node_modules/net-keepalive/lib/index.js:73:14)
07:21:22     at Request.<anonymous> (/mnt/project/node_modules/@kubernetes/client-node/dist/watch.js:82:27)

@cebald
Copy link

cebald commented Apr 9, 2021

Hello, I am also seeing this issue with net-keepalive not supporting win64. I was just able to install v0.14.0. Is there a later version that I can use in the meantime where net-keepalive should still work? Thanks for your help.

EDIT: v0.14.1 installed fine as well. v0.14.2 seems to be the first problem version.

@eduardocp
Copy link
Author

Hello, I am also seeing this issue with net-keepalive not supporting win64. I was just able to install v0.14.0. Is there a later version that I can use in the meantime where net-keepalive should still work? Thanks for your help.

EDIT: v0.14.1 installed fine as well. v0.14.2 seems to be the first problem

net-Keepalive was introduced in version 0.14.2. Point to version 0.14.1 and you can use it normally

@brendandburns
Copy link
Contributor

Thanks for the report. We'll look into fixing this shortly. In the meantime release 0.14.1 should work for you.

@bacongobbler
Copy link
Contributor

Can y’all give #635 a shot and let me know if that fixes the issue for you?

@cebald
Copy link

cebald commented Apr 9, 2021

Everything seems to have installed just fine, and from my preliminary testing, I'm getting good responses from the API. Thanks so much for the quick fix!

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 a pull request may close this issue.

6 participants