+++ /dev/null
-From f20723e25d5b12edc57b2a1fd0901bd3ee7c91a7 Mon Sep 17 00:00:00 2001
-From: Alexandre Derumier <aderumier@odiso.com>
-Date: Mon, 3 Feb 2020 05:56:49 +0100
-Subject: [PATCH] execute addons scripts before modules
-
-ip address are now setup in pre-up,
-but ovs interfaces are created in pre-up script too. (but after address module)
-
-We need to be sure than addons scripts are executed before modules
-
-Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
----
- ifupdown2/ifupdown/scheduler.py | 35 +++++++++++++++++----------------
- 1 file changed, 18 insertions(+), 17 deletions(-)
-
-diff --git a/ifupdown2/ifupdown/scheduler.py b/ifupdown2/ifupdown/scheduler.py
-index 00130ad..8b78f05 100644
---- a/ifupdown2/ifupdown/scheduler.py
-+++ b/ifupdown2/ifupdown/scheduler.py
-@@ -84,6 +84,24 @@ class ifaceScheduler():
- query_ifaceobj.set_state_n_status(ifaceState.from_str(op),
- ifaceStatus.NOTFOUND)
- return
-+
-+ if ifupdownobj.config.get('addon_scripts_support', '0') == '1':
-+ # execute /etc/network/ scripts
-+ os.environ['IFACE'] = ifaceobj.name if ifaceobj.name else ''
-+ os.environ['LOGICAL'] = ifaceobj.name if ifaceobj.name else ''
-+ os.environ['METHOD'] = ifaceobj.addr_method if ifaceobj.addr_method else ''
-+ os.environ['ADDRFAM'] = ','.join(ifaceobj.addr_family) if ifaceobj.addr_family else ''
-+ for mname in ifupdownobj.script_ops.get(op, []):
-+ ifupdownobj.logger.debug('%s: %s : running script %s'
-+ %(ifacename, op, mname))
-+ try:
-+ utils.exec_command(mname, env=cenv)
-+ except Exception, 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)))
-+
- for mname in ifupdownobj.module_ops.get(op):
- m = ifupdownobj.modules.get(mname)
- err = 0
-@@ -126,23 +144,6 @@ class ifaceScheduler():
- ifaceobj.set_state_n_status(ifaceState.from_str(op),
- status)
-
-- if ifupdownobj.config.get('addon_scripts_support', '0') == '1':
-- # execute /etc/network/ scripts
-- os.environ['IFACE'] = ifaceobj.name if ifaceobj.name else ''
-- os.environ['LOGICAL'] = ifaceobj.name if ifaceobj.name else ''
-- os.environ['METHOD'] = ifaceobj.addr_method if ifaceobj.addr_method else ''
-- os.environ['ADDRFAM'] = ','.join(ifaceobj.addr_family) if ifaceobj.addr_family else ''
-- for mname in ifupdownobj.script_ops.get(op, []):
-- ifupdownobj.logger.debug('%s: %s : running script %s'
-- %(ifacename, op, mname))
-- try:
-- utils.exec_command(mname, env=cenv)
-- except Exception, 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):
- """ Runs all operations on a list of interface
---
-2.20.1
-