]> git.proxmox.com Git - ifupdown2.git/commitdiff
patch: add missing import traceback in scheduler
authorAlexandre Derumier <aderumier@odiso.com>
Mon, 26 Jun 2023 09:42:42 +0000 (11:42 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 26 Jun 2023 18:42:13 +0000 (20:42 +0200)
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@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
debian/patches/series
debian/patches/upstream/0001-scheduler-import-traceback.patch [new file with mode: 0644]

index 9f2936f96879641d422c1617ec9ce76d484e4382..9017c04da5f9aad04d0699358ebaf7e46d572793 100644 (file)
@@ -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 (file)
index 0000000..296445d
--- /dev/null
@@ -0,0 +1,60 @@
+From 4b674a4c722c3e2072cf9e7d6d08195d9da7b698 Mon Sep 17 00:00:00 2001
+From: Alexandre Derumier <alexandre.derumier@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@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
+