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:
@ -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)))
|
||||
|
Reference in New Issue
Block a user