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