示例#1
0
    def test_is_rdma_enabled_true(self, mock_iface_rdma, mock_service_enabled):

        mock_iface_rdma.return_value = True
        mock_service_enabled.return_value = True

        self.assertTrue(netinfo.is_rdma_enabled('iface1'))
        mock_iface_rdma.assert_called_once_with('iface1')
        mock_service_enabled.assert_called_once_with()
示例#2
0
    def test_is_rdma_enabled_wrong_mod(self, mock_iface_rdma,
                                       mock_service_enabled):

        mock_iface_rdma.return_value = False
        mock_service_enabled.return_value = True

        self.assertFalse(netinfo.is_rdma_enabled('iface1'))
        mock_iface_rdma.assert_called_once_with('iface1')
        mock_service_enabled.assert_not_called()
    def test_is_rdma_enabled_no_service(self, mock_iface_rdma,
                                        mock_service_enabled):

        mock_iface_rdma.return_value = True
        mock_service_enabled.return_value = False

        self.assertFalse(netinfo.is_rdma_enabled('iface1'))
        mock_iface_rdma.assert_called_once_with('iface1')
        mock_service_enabled.assert_called_once_with()
示例#4
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:
            # encode name to ensure comparison are in same type.
            if encode_value(name) in ethtool.get_devices():
                info = netinfo.get_interface_info(name)
            elif cfgInterfacesHelper.is_cfgfileexist(name):
                type = cfgInterfacesHelper.get_type(name).lower()
                if type not in IFACE_BOND + [IFACE_VLAN]:
                    raise ValueError
                device = cfgInterfacesHelper.get_device(name)
                info = {
                    'device': device,
                    'type': cfgInterfacesHelper.get_type(name),
                    'status': "down",
                    'ipaddr': "",
                    'netmask': "",
                    'macaddr': "",
                    'module': netinfo.get_interface_kernel_module(name)
                }

                if info.get('type') is not 'nic':
                    info['nic_type'] = 'N/A'
                else:
                    info['nic_type'] = netinfo.get_nic_type(device)

            else:
                raise ValueError('unknown interface: %s' % name)

            info['rdma_enabled'] = netinfo.is_rdma_enabled(name)

            return info

        except ValueError:
            raise NotFoundError("GINNET0014E", {'name': name})
示例#5
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:
            # encode name to ensure comparison are in same type.
            if encode_value(name) in ethtool.get_devices():
                info = netinfo.get_interface_info(name)
            elif cfgInterfacesHelper.is_cfgfileexist(name):
                type = cfgInterfacesHelper.get_type(name).lower()
                if type not in IFACE_BOND + [IFACE_VLAN]:
                    raise ValueError
                device = cfgInterfacesHelper.get_device(name)
                info = {'device': device,
                        'type': cfgInterfacesHelper.get_type(name),
                        'status': "down",
                        'ipaddr': "",
                        'netmask': "",
                        'macaddr': "",
                        'module': netinfo.get_interface_kernel_module(name)}

                if info.get('type') is not 'nic':
                    info['nic_type'] = 'N/A'
                else:
                    info['nic_type'] = netinfo.get_nic_type(device)

            else:
                raise ValueError('unknown interface: %s' % name)

            info['rdma_enabled'] = netinfo.is_rdma_enabled(name)

            return info

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