]>
Commit | Line | Data |
---|---|---|
a6f80f0e | 1 | #!/usr/bin/python |
3e8ee54f | 2 | # |
d486dd0d | 3 | # Copyright 2014-2017 Cumulus Networks, Inc. All rights reserved. |
3e8ee54f | 4 | # Author: Roopa Prabhu, roopa@cumulusnetworks.com |
5 | # | |
6 | # ifupdownBase -- | |
7 | # base object for various ifupdown objects | |
8 | # | |
a6f80f0e | 9 | |
a6f80f0e | 10 | import re |
f3215127 | 11 | import os |
d486dd0d | 12 | import logging |
c326d03c | 13 | import traceback |
a4a53f4b | 14 | |
d486dd0d JF |
15 | try: |
16 | from ifupdown2.ifupdown.netlink import netlink | |
17 | ||
18 | import ifupdown2.ifupdown.ifupdownflags as ifupdownflags | |
19 | except ImportError: | |
20 | from ifupdown.netlink import netlink | |
21 | ||
22 | import ifupdown.ifupdownflags as ifupdownflags | |
23 | ||
a6f80f0e | 24 | |
25 | class ifupdownBase(object): | |
26 | ||
27 | def __init__(self): | |
28 | modulename = self.__class__.__name__ | |
29 | self.logger = logging.getLogger('ifupdown.' + modulename) | |
30 | ||
3e8ee54f | 31 | def ignore_error(self, errmsg): |
fc5e1735 | 32 | if (ifupdownflags.flags.FORCE == True or re.search(r'exists', errmsg, |
3e8ee54f | 33 | re.IGNORECASE | re.MULTILINE) is not None): |
34 | return True | |
35 | return False | |
36 | ||
37 | def log_warn(self, str): | |
38 | if self.ignore_error(str) == False: | |
39 | if self.logger.getEffectiveLevel() == logging.DEBUG: | |
40 | traceback.print_stack() | |
d486dd0d | 41 | traceback.print_exc() |
3e8ee54f | 42 | self.logger.warn(str) |
43 | pass | |
44 | ||
45 | def log_error(self, str): | |
46 | if self.ignore_error(str) == False: | |
d486dd0d | 47 | raise Exception(str) |
3e8ee54f | 48 | else: |
49 | pass | |
f3215127 | 50 | |
51 | def link_exists(self, ifacename): | |
52 | return os.path.exists('/sys/class/net/%s' %ifacename) | |
be0b20f2 | 53 | |
54 | def link_up(self, ifacename): | |
2864d6f3 | 55 | netlink.link_set_updown(ifacename, "up") |
be0b20f2 | 56 | |
57 | def link_down(self, ifacename): | |
2864d6f3 | 58 | netlink.link_set_updown(ifacename, "down") |