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

fixes #14 addons: usercmds: add environment variables passed to user scripts

$ cat /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
      up /root/test.sh
$
$ cat /root/test.sh
echo 'IFACE=' $IFACE
echo 'LOGICAL=' $LOGICAL
echo 'METHOD=' $METHOD
echo 'ADDRFAM=' $ADDRFAM
$
$ ifreload -a
IFACE= eth0
LOGICAL= eth0
METHOD= dhcp
ADDRFAM= inet
$

Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
This commit is contained in:
Julien Fortin
2016-09-20 09:16:57 -07:00
parent 64d80a9300
commit c7541843b2

View File

@@ -4,6 +4,7 @@
# Author: Roopa Prabhu, roopa@cumulusnetworks.com
#
import os
import ifupdownaddons
from ifupdown.utils import utils
@@ -36,6 +37,10 @@ class usercmds(ifupdownaddons.modulebase.moduleBase):
def _run_command(self, ifaceobj, op):
cmd_list = ifaceobj.get_attr_value(op)
if cmd_list:
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'] = ifaceobj.addr_family if ifaceobj.addr_family else ''
for cmd in cmd_list:
try:
utils.exec_user_command(cmd)