]> git.proxmox.com Git - mirror_ifupdown2.git/blob - ifupdown2/ifupdown/config.py
addons: addressvirtual: keep macvlan down if link-down specified on lower device
[mirror_ifupdown2.git] / ifupdown2 / ifupdown / config.py
1 #!/usr/bin/python
2 #
3 # Copyright 2017 Cumulus Networks, Inc. All rights reserved.
4 # Authors:
5 # Julien Fortin, julien@cumulusnetworks.com
6 #
7 # ifupdown2 --
8 # tool to configure network interfaces
9 #
10
11 import os
12 import resource
13
14 IFUPDOWN2_ADDON_DROPIN_FOLDER = '/usr/share/ifupdown2/addons'
15
16 try:
17 # ifupdown2/ifupdown/config.py -> we need to use dirname twice.
18 ADDON_MODULES_DIR = ['%s/addons' % (os.path.dirname(os.path.dirname(os.path.realpath(__file__))))]
19
20 if ADDON_MODULES_DIR[0] != IFUPDOWN2_ADDON_DROPIN_FOLDER:
21 ADDON_MODULES_DIR.append(IFUPDOWN2_ADDON_DROPIN_FOLDER)
22 except Exception as e:
23 print "debug: error resolving ifupdown2 addons module directory: %s" % str(e)
24 ADDON_MODULES_DIR = [IFUPDOWN2_ADDON_DROPIN_FOLDER]
25
26 __version__ = ''
27
28
29 def get_configuration_file_real_path(path_to_file):
30 """
31 When install via pypi or `pip install .` ifupdown2 is install in a virtualenv
32 config file that should be installed in /etc/network/ifupdown2 end-up being
33 installed in /usr/local/lib/python2.7/dist-packages/etc/network/ifupdown2/
34 """
35 if not os.path.exists(path_to_file):
36 # we will try to resolve the location of our conf file
37 # otherwise default to the input argument
38 package_dir = os.path.dirname(os.path.realpath(__file__))
39 parent_dir = os.path.dirname(package_dir)
40 resolved_path = '%s%s' % (parent_dir, path_to_file)
41
42 if os.path.exists(resolved_path):
43 return resolved_path
44
45 return path_to_file
46
47
48 IFUPDOWN2_CONF_PATH = get_configuration_file_real_path('/etc/network/ifupdown2/ifupdown2.conf')
49 ADDONS_CONF_PATH = get_configuration_file_real_path('/etc/network/ifupdown2/addons.conf')
50
51 resource.setrlimit(resource.RLIMIT_CORE, (0, 0))