Krisztian Litkey
Krisztian Litkey
Thanks, both for the report and the analysis !
> If your NRI plugin timeouts, containerd will close the connection, and your NRI plugin `os.Exit(0)` without a chance to log anything Yes, but only if the plugin does not...
> The problem here is that you/the current code assumes lost connection is a normal shutdown. For clean shutdown, containerd (nri adaptation) should do an rpc call to ask the...
About swallowing `ErrServerClosed` in `Run()` once the stub has been successfully `Start()`ed, I think it should be safe to get rid of that. Just need to check if I rely...
No, in NRI there is no server-/runtime-side filtering based on message content (for instance, some property of a pod or container). Events are only filtered based on whether a plugin...
> https://github.com/containerd/nri/blob/6f5a4d2f231d1032682d2809f95a1815a08f8532/pkg/adaptation/plugin.go#L119 > > > cmd.Stdout/Stderr are nil, so everything goes to /dev/null This was a conscious choice to avoid, for instance, proxying log messages through the runtime. The idea...
> This scenario exists. Not all hooks need to process all containers. From a stability perspective, we hope to minimize the impact of different plugins. Imagine what we will do...
> Or you mean redirecting stdout / stderr to syslog in plugin.go and not in each plugins ? No, I mean in the pkg/stub, which is then on the plugin...
> @klihub I changed the call to syncFn after each pre-install plugin launch to only call syncFn once after all plugins are launched, which avoids unnecessary multiple calls to syncFn...
> ci fails from `errors.Join`, It comes from 1.20, we might consider upgrading go.mod to 1.20 I [filed PR #88](https://github.com/containerd/nri/pull/88) to bump the minimum golang requirement to 1.20. It should...