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

integration: "error reading the kernel parameter" errors during CI #39518

Open
thaJeztah opened this issue Jul 13, 2019 · 4 comments

Comments

@thaJeztah
Copy link
Member

commented Jul 13, 2019

Noticed that these errors are showing up in our CI;

time="2019-07-13T13:01:11.226286097Z" level=error msg="error reading the kernel parameter net.ipv4.neigh.default.gc_thresh3" error="open /proc/sys/net/ipv4/neigh/default/gc_thresh3: no such file or directory"
time="2019-07-13T13:01:11.226336974Z" level=error msg="error reading the kernel parameter net.ipv4.neigh.default.gc_thresh1" error="open /proc/sys/net/ipv4/neigh/default/gc_thresh1: no such file or directory"
time="2019-07-13T13:01:11.226383933Z" level=error msg="error reading the kernel parameter net.ipv4.neigh.default.gc_thresh2" error="open /proc/sys/net/ipv4/neigh/default/gc_thresh2: no such file or directory"
time="2019-07-13T13:01:11.401028844Z" level=error msg="error reading the kernel parameter net.ipv4.vs.expire_nodest_conn" error="open /proc/sys/net/ipv4/vs/expire_nodest_conn: no such file or directory"

Error is coming from libnetwork;

var ovConfig = map[string]*kernel.OSValue{
"net.ipv4.neigh.default.gc_thresh1": {"8192", checkHigher},
"net.ipv4.neigh.default.gc_thresh2": {"49152", checkHigher},
"net.ipv4.neigh.default.gc_thresh3": {"65536", checkHigher},
}

// ApplyOSTweaks applies the configuration values passed as arguments
func ApplyOSTweaks(osConfig map[string]*OSValue) {
for k, v := range osConfig {
// read the existing property from disk
oldv, err := readSystemProperty(k)
if err != nil {
logrus.WithError(err).Errorf("error reading the kernel parameter %s", k)
continue
}
if propertyIsValid(oldv, v.Value, v.CheckFn) {
// write new prop value to disk
if err := writeSystemProperty(k, v.Value); err != nil {
logrus.WithError(err).Errorf("error setting the kernel parameter %s = %s, (leaving as %s)", k, v.Value, oldv)
continue
}
logrus.Debugf("updated kernel parameter %s = %s (was %s)", k, v.Value, oldv)
}
}
}

@thaJeztah

This comment has been minimized.

Copy link
Member Author

commented Jul 13, 2019

ping @arkodg @euanh PTAL - are these settings "optional" (in which case they should be printed as an "info" or "warn" message), are the machines misconfigured, or is there a bug at hand, and we don't check for the right options?

@arkodg

This comment has been minimized.

Copy link
Contributor

commented Jul 15, 2019

@thaJeztah I guess we could change these to Warn but the bigger question is why are these failing ?
What is the linux version and distribution ?

@thaJeztah

This comment has been minimized.

Copy link
Member Author

commented Jul 15, 2019

@arkodg hm.. I just realised this error is only shown in the Swarm tests, and those run docker-in-docker, which may explain parts of it.

@cpuguy83

This comment has been minimized.

Copy link
Contributor

commented Jul 17, 2019

I think these params are only in the initial/root network namespace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants
You can’t perform that action at this time.