Hi Andrew, On Tue, Feb 28, 2012 at 11:24:43AM +0100, Andrew O. Shadura wrote: > Starting with the last beta, ifupdown calls run-parts for if-*.d scripts > with --exit-on-error, so if the script fails, interface isn't marked as > configured (see #547587).
> However, it's been reported that some scripts return wrong exit codes > sometimes, causing failure during network configuration. My doubt here is: what is the definition of a *right* exit code now, from ifupdown's POV? When is it appropriate for a hook which has failed to exit non-zero? This is a pretty significant change in behavior from the perspective of the packages providing hooks, as it means that they now have to avoid giving meaningful exit codes in order to not cause ifupdown to fail to run subsequent hooks. OTOH, there might be cases where that's beneficial because it lets a critical hook declare that an interface bring-up hasn't succeeded and the interface bring-up should be rolled back so the admin can try again. But how do we define "critical" hooks? I would appreciate seeing some more guidance here for hook maintainers. As you may be aware, Ubuntu is using ifupdown 0.7beta2 for its next release, and has had to revert this particular behavior change because it made networking significantly more brittle. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
signature.asc
Description: Digital signature