[pve-devel] [ifupdown2 1/1] patch: add missing import traceback in scheduler

Alexandre Derumier aderumier at odiso.com
Mon Jun 26 11:42:42 CEST 2023


upstream: https://github.com/CumulusNetworks/ifupdown2/pull/267

if a script in /etc/network/ifup.d/ is segfaulting,

ifup is crashing with

info: executing2 /etc/network/if-up.d/postfix
debug: lo: up : running script /etc/network/if-up.d/resolved info: executing2 /etc/network/if-up.d/resolved
error: name 'traceback' is not defined
debug: saving state ..
info: exit status 1
Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
 debian/patches/series                         |  1 +
 .../0001-scheduler-import-traceback.patch     | 60 +++++++++++++++++++
 ifupdown2                                     |  2 +-
 3 files changed, 62 insertions(+), 1 deletion(-)
 create mode 100644 debian/patches/upstream/0001-scheduler-import-traceback.patch

diff --git a/debian/patches/series b/debian/patches/series
index 9f2936f..9017c04 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@ pve/0008-lacp-bond-remove-bond-min-links-0-warning.patch
 pve/0009-gvgeb-fix-python-interpreter-shebang.patch
 upstream/0001-add-ipv6-slaac-support-inet6-auto-accept_ra.patch
 upstream/0001-addons-ethtool-add-rx-vlan-filter.patch
+upstream/0001-scheduler-import-traceback.patch
\ No newline at end of file
diff --git a/debian/patches/upstream/0001-scheduler-import-traceback.patch b/debian/patches/upstream/0001-scheduler-import-traceback.patch
new file mode 100644
index 0000000..296445d
--- /dev/null
+++ b/debian/patches/upstream/0001-scheduler-import-traceback.patch
@@ -0,0 +1,60 @@
+From 4b674a4c722c3e2072cf9e7d6d08195d9da7b698 Mon Sep 17 00:00:00 2001
+From: Alexandre Derumier <alexandre.derumier at groupe-cyllene.com>
+Date: Mon, 26 Jun 2023 11:14:26 +0200
+Subject: [PATCH] scheduler: import traceback
+
+if a script in /etc/network/ifup.d/ is segfaulting,
+
+on config loading (ifup -a), ifupdown2 is stopping
+
+ifup -a
+"
+info: executing2 /etc/network/if-up.d/postfix
+debug: lo: up : running script /etc/network/if-up.d/resolved
+info: executing2 /etc/network/if-up.d/resolved
+error: name 'traceback' is not defined
+debug: saving state ..
+info: exit status 1
+"
+
+with this fix:
+
+debug: lo: up : running script /etc/network/if-up.d/resolved
+info: executing2 /etc/network/if-up.d/resolved
+  File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 325, in run_iface_list
+    cls.run_iface_graph(ifupdownobj, ifacename, ops, parent,
+  File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 315, in run_iface_graph
+    cls.run_iface_list_ops(ifupdownobj, ifaceobjs, ops)
+  File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 188, in run_iface_list_ops
+    cls.run_iface_op(ifupdownobj, ifaceobj, op,
+  File "/usr/share/ifupdown2/ifupdown/scheduler.py", line 150, in run_iface_op
+    ifupdownobj.log_error('%s: %s %s' % (ifacename, op, str(e)))
+  File "/usr/share/ifupdown2/ifupdown/ifupdownmain.py", line 226, in log_error
+    raise Exception(str)
+error: lo : lo: up cmd '/etc/network/if-up.d/resolved' failed: returned -11
+debug: vmbr0: found dependents ['bond0']
+debug: bond0: found dependents ['enp65s0d1', 'enp65s0']
+info: enp65s0d1: running ops ...
+...
+...
+
+Signed-off-by: Alexandre Derumier <alexandre.derumier at groupe-cyllene.com>
+---
+ ifupdown2/ifupdown/scheduler.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ifupdown2/ifupdown/scheduler.py b/ifupdown2/ifupdown/scheduler.py
+index 154e557..fda6ff2 100644
+--- a/ifupdown2/ifupdown/scheduler.py
++++ b/ifupdown2/ifupdown/scheduler.py
+@@ -9,6 +9,7 @@
+ 
+ import os
+ import sys
++import traceback
+ 
+ from collections import OrderedDict
+ 
+-- 
+2.39.2
+
diff --git a/ifupdown2 b/ifupdown2
index a087295..a052254 160000
--- a/ifupdown2
+++ b/ifupdown2
@@ -1 +1 @@
-Subproject commit a087295ba496680b81ecafe72f999d4e9076e737
+Subproject commit a0522546b848435115a20eb647f87ade01761a33
-- 
2.39.2





More information about the pve-devel mailing list