1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

scheduler: env variable not properly set for user commands

Fixes #218

Signed-off-by: Julien Fortin <jfortin@nvidia.com>
This commit is contained in:
Julien Fortin
2023-01-25 15:31:41 +01:00
parent a1bf8ffe5a
commit a49b5d2682

View File

@ -127,15 +127,18 @@ class ifaceScheduler():
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 ''
command_env = (cenv or {}).copy()
command_env.update({
"IFACE": ifaceobj.name if ifaceobj.name else "",
"LOGICAL": ifaceobj.name if ifaceobj.name else "",
"METHOD": ifaceobj.addr_method if ifaceobj.addr_method else "",
"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))
ifupdownobj.logger.debug("%s: %s : running script %s" % (ifacename, op, mname))
try:
utils.exec_command(mname, env=cenv)
utils.exec_command(mname, env=command_env)
except Exception as e:
if "permission denied" in str(e).lower():
ifupdownobj.logger.warning('%s: %s %s' % (ifacename, op, str(e)))