ifupdown2 behaviour significantly diverges from ifupdown on debian stretch.
Original ifupdown uses run-parts which supposedly doesn't run non-executable
files in the directory. However, ifupdown2 doesn't seem to make this
distinction.
This patch will log warning EACCES exceptions (instead of log error) and exit 0
Reported-by: George Diamantopoulos <gedia>
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
ifupdown2 (1.2.5-1) unstable; urgency=medium
+ * Fix: ifupdown2 scripts: log warning on EACCES exception (Fixes #89)
* Fix: debian: install sysvinit script (closes: #918775)
* Fix: debian: postinst: remove diversion after upgrade from stretch
(closes: #919443)
# interface scheduler
#
+import os
import sys
from sets import Set
try:
utils.exec_command(mname, env=cenv)
except Exception, e:
- ifupdownobj.log_error('%s: %s %s' % (ifacename, op, str(e)))
+ if "permission denied" in str(e).lower():
+ ifupdownobj.logger.warning('%s: %s %s' % (ifacename, op, str(e)))
+ else:
+ ifupdownobj.log_error('%s: %s %s' % (ifacename, op, str(e)))
@classmethod
def run_iface_list_ops(cls, ifupdownobj, ifaceobjs, ops):