Example #1
0
 def lookup(self, name):
     """
     Populate info using runtime information from /sys/class/net files for
     active interfaces and for inactive bond and vlan interfaces from cfg
     files
     :param name:
     :return:
     """
     try:
         if name in ethtool.get_devices():
             info = netinfo.get_interface_info(name)
             return info
         elif cfginterfaces.is_cfgfileexist(name):
             type = cfginterfaces.get_type(name).lower()
             if type in [cfginterfaces.IFACE_BOND,
                         cfginterfaces.IFACE_VLAN]:
                 raise ValueError
             device = cfginterfaces.get_device(name)
             info = {'device': device,
                     'type': cfginterfaces.get_type(name),
                     'status': "down",
                     'ipaddr': "",
                     'netmask': "",
                     'macaddr': ""}
             return info
         else:
             raise ValueError('unknown interface: %s' % name)
     except ValueError:
         raise NotFoundError("GINNET0014E", {'name': name})
Example #2
0
    def lookup(self, name):
        try:
            info = netinfo.get_interface_info(name)
        except ValueError:
            raise NotFoundError("KCHIFACE0001E", {'name': name})

        info['editable'] = self._is_interface_editable(name)
        return info
Example #3
0
    def lookup(self, name):
        try:
            info = netinfo.get_interface_info(name)
        except ValueError:
            raise NotFoundError("KCHIFACE0001E", {'name': name})

        info['editable'] = self._is_interface_editable(name)
        return info
Example #4
0
 def _get_interface_info(self, name):
     try:
         info = netinfo.get_interface_info(name)
     except ValueError:
         raise NotFoundError("GINNET0014E", {'name': name})
     if not info['ipaddr']:
         info['ipaddr'], info['netmask'] = \
             self._get_static_config_interface_address(name)
     return info
Example #5
0
 def _get_interface_info(self, name):
     try:
         info = netinfo.get_interface_info(name)
     except ValueError:
         raise NotFoundError("KCHIFACE0001E", {'name': name})
     if not info['ipaddr']:
         info['ipaddr'], info['netmask'] = \
             self._get_static_config_interface_address(name)
     return info
Example #6
0
    def lookup(self, name):
        """
        Populate info using runtime information from /sys/class/net files for
        active interfaces and for inactive bond and vlan interfaces from cfg
        files
        :param name:
        :return:
        """

        def get_actions_info_without_method(kernel_mod):
            info = self.actions_mod.get(kernel_mod, {})
            for action in info.keys():
                action_info = info[action]
                action_info.pop('method')
                info[action] = action_info
            return info

        try:
            if name in ethtool.get_devices():
                info = netinfo.get_interface_info(name)
            elif cfginterfaces.is_cfgfileexist(name):
                type = cfginterfaces.get_type(name).lower()
                if type in [cfginterfaces.IFACE_BOND,
                            cfginterfaces.IFACE_VLAN]:
                    raise ValueError
                device = cfginterfaces.get_device(name)
                info = {'device': device,
                        'type': cfginterfaces.get_type(name),
                        'status': "down",
                        'ipaddr': "",
                        'netmask': "",
                        'macaddr': "",
                        'module': netinfo.get_interface_kernel_module(name)}
            else:
                raise ValueError('unknown interface: %s' % name)

            info['actions'] = get_actions_info_without_method(info['module'])
            return info

        except ValueError:
            raise NotFoundError("GINNET0014E", {'name': name})