Esempio n. 1
0
 def get_vendor(self, vmhba, executor):
     handler = comp(*reversed((command.cmdlet.raiseOnNonZeroReturnCode,
                              command.cmdlet.raiseWhenOutputIsNone,
                              command.cmdlet.stripOutput,
                              _parse_vmkchdev_l)))
     lspci = command.UnixBaseCmd("vmkchdev -l | grep %s" % vmhba,
                                 handler=handler)
     result = executor.process(lspci)
     result = result.handler(result)
     return vendors.find_name_by_id_in_hex(result)
    def parse_vendor_from_driverid(driverid):
        '''Parses vendor by extracting vendor id from provided driver id

        @param driverid: driver id string returned either by `fcstat fcx`,
            `lsdev -vpd -dev fcx` or `lscfg -vpl fcx` commands
        @type driverid: str
        @return: vendor string
        @rtype: basestring
        @raise KeyError: if no vendor available for passed id
        @raise ValueError: if produced vendor id is not convertible to int
        '''
        #The 1st 4 chars represent PCI vendor ID (in big-endian order)
        vendor = driverid[0:4]
        #conver to little-endian
        vendor = vendor[2:] + vendor[:2]
        return vendors.find_name_by_id_in_hex(vendor)
Esempio n. 3
0
    def parse_vendor_from_driverid(driverid):
        '''Parses vendor by extracting vendor id from provided driver id

        @param driverid: driver id string returned either by `fcstat fcx`,
            `lsdev -vpd -dev fcx` or `lscfg -vpl fcx` commands
        @type driverid: str
        @return: vendor string
        @rtype: basestring
        @raise KeyError: if no vendor available for passed id
        @raise ValueError: if produced vendor id is not convertible to int
        '''
        #The 1st 4 chars represent PCI vendor ID (in big-endian order)
        vendor = driverid[0:4]
        #conver to little-endian
        vendor = vendor[2:] + vendor[:2]
        return vendors.find_name_by_id_in_hex(vendor)
    def get_vendor_by_device_id(self, device_id, executor):
        '''Returns vendor name by device id

        @param device_id: id of device in form <domain>:<bus>:<slot>
        @type device_id: basestring
        @param executor: instance of a command executor
        @type executor: command.Executor
        @return: vendor name
        @rtype: basestring
        '''
        handler = comp(*reversed((command.cmdlet.raiseOnNonZeroReturnCode,
                                 command.cmdlet.raiseWhenOutputIsNone,
                                 command.cmdlet.stripOutput,
                                 fptools.methodcaller('splitlines'),
                                 _parse_lspci)))
        lspci = command.UnixBaseCmd("lspci -v -m -n -s %s" % device_id,
                                    handler=handler)
        result = executor.process(lspci)
        return vendors.find_name_by_id_in_hex(result.get('vendor'))
Esempio n. 5
0
    def get_vendor_by_device_id(self, device_id, executor):
        '''Returns vendor name by device id

        @param device_id: id of device in form <domain>:<bus>:<slot>
        @type device_id: basestring
        @param executor: instance of a command executor
        @type executor: command.Executor
        @return: vendor name
        @rtype: basestring
        '''
        handler = comp(*reversed((command.cmdlet.raiseOnNonZeroReturnCode,
                                  command.cmdlet.raiseWhenOutputIsNone,
                                  command.cmdlet.stripOutput,
                                  fptools.methodcaller('splitlines'),
                                  _parse_lspci)))
        lspci = command.UnixBaseCmd("lspci -v -m -n -s %s" % device_id,
                                    handler=handler)
        result = executor.process(lspci)
        return vendors.find_name_by_id_in_hex(result.get('vendor'))