]> git.proxmox.com Git - mirror_ifupdown2.git/blame - ifupdown2/ifupdown/config.py
addons: addressvirtual: keep macvlan down if link-down specified on lower device
[mirror_ifupdown2.git] / ifupdown2 / ifupdown / config.py
CommitLineData
d486dd0d
JF
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
11import os
12import resource
13
14IFUPDOWN2_ADDON_DROPIN_FOLDER = '/usr/share/ifupdown2/addons'
15
d486dd0d 16try:
61da4459
JF
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)
22except Exception as e:
23 print "debug: error resolving ifupdown2 addons module directory: %s" % str(e)
d486dd0d
JF
24 ADDON_MODULES_DIR = [IFUPDOWN2_ADDON_DROPIN_FOLDER]
25
26__version__ = ''
27
28
29def 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
48IFUPDOWN2_CONF_PATH = get_configuration_file_real_path('/etc/network/ifupdown2/ifupdown2.conf')
49ADDONS_CONF_PATH = get_configuration_file_real_path('/etc/network/ifupdown2/addons.conf')
50
51resource.setrlimit(resource.RLIMIT_CORE, (0, 0))