3 # Copyright 2017 Cumulus Networks, Inc. All rights reserved.
5 # Julien Fortin, julien@cumulusnetworks.com
8 # tool to configure network interfaces
14 IFUPDOWN2_ADDON_DROPIN_FOLDER
= '/usr/share/ifupdown2/addons'
16 # ifupdown2/core/config.py -> we need to use dirname twice.
18 IFUPDOWN2_ADDON_DROPIN_FOLDER
,
19 '%s/addons' % (os
.path
.dirname(os
.path
.dirname(os
.path
.realpath(__file__
))))
23 addon_module_dir_list
= list(_
)
24 if addon_module_dir_list
[0] is not IFUPDOWN2_ADDON_DROPIN_FOLDER
:
25 addon_module_dir_list
.remove(IFUPDOWN2_ADDON_DROPIN_FOLDER
)
26 ADDON_MODULES_DIR
= [IFUPDOWN2_ADDON_DROPIN_FOLDER
] + addon_module_dir_list
28 ADDON_MODULES_DIR
= addon_module_dir_list
30 ADDON_MODULES_DIR
= [IFUPDOWN2_ADDON_DROPIN_FOLDER
]
35 def get_configuration_file_real_path(path_to_file
):
37 When install via pypi or `pip install .` ifupdown2 is install in a virtualenv
38 config file that should be installed in /etc/network/ifupdown2 end-up being
39 installed in /usr/local/lib/python2.7/dist-packages/etc/network/ifupdown2/
41 if not os
.path
.exists(path_to_file
):
42 # we will try to resolve the location of our conf file
43 # otherwise default to the input argument
44 package_dir
= os
.path
.dirname(os
.path
.realpath(__file__
))
45 parent_dir
= os
.path
.dirname(package_dir
)
46 resolved_path
= '%s%s' % (parent_dir
, path_to_file
)
48 if os
.path
.exists(resolved_path
):
54 IFUPDOWN2_CONF_PATH
= get_configuration_file_real_path('/etc/network/ifupdown2/ifupdown2.conf')
55 ADDONS_CONF_PATH
= get_configuration_file_real_path('/etc/network/ifupdown2/addons.conf')
57 resource
.setrlimit(resource
.RLIMIT_CORE
, (0, 0))