FcoeadmI - command fcoeadm -i

Module for parsing the output of command fcoeadm -i. The bulk of the content is split on the colon and keys are kept as is. Lines beginning with ‘Description’, ‘Revision’, ‘Manufacturer’, ‘Serial Number’, ‘Driver’ ,’Number of Ports’ are kept in a dictionary keyed under each of these names. Lines beginning with ‘Symbolic Name’, ‘OS Device Name’, ‘Node Name’, ‘Port Name’, ‘FabricName’, ‘Speed’, ‘Supported Speed’, ‘MaxFrameSize’, ‘FC-ID (Port ID)’, ‘State’ are kept in a sub-dictionary keyed under each these names. All the sub-dictionaries are kept in a list keyed in ‘Interfaces’.

class insights.parsers.fcoeadm_i.FcoeadmI(context, extra_bad_lines=None)[source]

Bases: insights.core.CommandParser, dict

Class for parsing fcoeadm -i command output.

Typical output of command fcoeadm -i looks like:

Description:      NetXtreme II BCM57810 10 Gigabit Ethernet
Revision:         10
Manufacturer:     Broadcom Corporation
Serial Number:    2C44FD8F4418
Driver:           bnx2x 1.712.30-0
Number of Ports:  1

    Symbolic Name:     bnx2fc (QLogic BCM57810) v2.9.6 over eth8.0-fcoe
    OS Device Name:    host6
    Node Name:         0x50060B0000C26237
    Port Name:         0x50060B0000C26236
    FabricName:        0x0000000000000000
    Speed:             Unknown
    Supported Speed:   1 Gbit, 10 Gbit
    MaxFrameSize:      2048
    FC-ID (Port ID):   0xFFFFFFFF
    State:             Online

    Symbolic Name:     bnx2fc (QLogic BCM57810) v2.9.6 over eth6.0-fcoe
    OS Device Name:    host7
    Node Name:         0x50060B0000C26235
    Port Name:         0x50060B0000C26234
    FabricName:        0x0000000000000000
    Speed:             Unknown
    Supported Speed:   1 Gbit, 10 Gbit
    MaxFrameSize:      2048
    FC-ID (Port ID):   0xFFFFFFFF
    State:             Offline

Examples

>>> type(fi)
<class 'insights.parsers.fcoeadm_i.FcoeadmI'>
>>> fi.fcoe["Description"]
'NetXtreme II BCM57810 10 Gigabit Ethernet'
>>> fi["Description"]
'NetXtreme II BCM57810 10 Gigabit Ethernet'
>>> fi.fcoe["Driver"]
'bnx2x 1.712.30-0'
>>> fi["Driver"]
'bnx2x 1.712.30-0'
>>> fi.fcoe['Serial Number']
'2C44FD8F4418'
>>> fi['Serial Number']
'2C44FD8F4418'
>>> fi.iface_list
['eth8.0-fcoe', 'eth6.0-fcoe']
>>> fi.nic_list
['eth8', 'eth6']
>>> fi.stat_list
['Online', 'Offline']
>>> fi.get_stat_from_nic('eth6')
'Offline'
>>> fi.get_host_from_nic('eth6')
'host7'
driver_name

Driver name

Type:str
driver_version

Driver version

Type:str
iface_list

FCoE interface names

Type:list
nic_list

Ethernet ports running FCoE interfaces

Type:list
stat_list

FCoE interface(s) status

Type:list
Raises:
  • SkipComponent -- When input content is empty
  • ParseException -- When input content is not available to parse
fcoe

The result parsed of ‘/usr/sbin/fcoeadm -i’

Type:(dict)
get_host_from_nic(nic)[source]

Get ‘OS Device Name’ for the specified ethernet port.

Parameter:
nic (str): Ethernet port which provided by FCoE adapter
Returns:
Return fcoe host, which as ‘OS Device Name’ to display,
when nic is not valid fcoe port, raise ValueError
Return type:str
Raises:ValueError -- When nic is not valid fcoe port
get_stat_from_nic(nic)[source]

Get ‘State’ of fcoe interface created on specified ethernet port.

Parameter:
nic (str): Ethernet port which provided by FCoE adapter.
Returns:
Return fcoe status. When nic is not valid fcoe port,
raise ValueError.
Return type:str
Raises:ValueError -- When nic is not valid fcoe port
parse_content(content)[source]

This method must be implemented by classes based on this class.