'lsnode command.
svcinfo lsnode -delim !
svcinfo lsnode -delim ! <node>'

def _cmd_lsnode(self, **kwargs):

    if ((self._protocol == 'FC') or (self._protocol == 'both')):
        port_status = 'active'
    else:
        port_status = 'unconfigured'
    rows1 = ([None] * 7)
    rows1[0] = ['name', 'node1']
    rows1[1] = ['port_id', '000000000000001']
    rows1[2] = ['port_status', port_status]
    rows1[3] = ['port_speed', '8Gb']
    rows1[4] = ['port_id', '000000000000001']
    rows1[5] = ['port_status', port_status]
    rows1[6] = ['port_speed', '8Gb']
    rows2 = ([None] * 7)
    rows2[0] = ['name', 'node2']
    rows2[1] = ['port_id', '000000000000002']
    rows2[2] = ['port_status', port_status]
    rows2[3] = ['port_speed', '8Gb']
    rows2[4] = ['port_id', '000000000000002']
    rows2[5] = ['port_status', port_status]
    rows2[6] = ['port_speed', 'N/A']
    rows3 = ([None] * 3)
    rows3[0] = ['id', 'name', 'UPS_serial_number', 'WWNN', 'status', 'IO_group_id', 'IO_group_name', 'config_node', 'UPS_unique_id', 'hardware', 'iscsi_name', 'iscsi_alias', 'panel_name', 'enclosure_id', 'canister_id', 'enclosure_serial_number']
    rows3[1] = ['1', 'node1', '', '0123456789ABCDEF', 'online', '0', 'io_grp0', 'yes', '', 'TR1', 'naa.0123456789ABCDEF', '', '01-1', '1', '1', 'H441028']
    rows3[2] = ['2', 'node2', '', '0123456789ABCDEF', 'online', '0', 'io_grp0', 'no', '', 'TR1', 'naa.0123456789ABCDEF', '', '01-2', '1', '2', 'H441028']
    if (self._next_cmd_error['lsnode'] == 'error'):
        self._next_cmd_error['lsnode'] = ''
        return self._errors['CMMVC50000']
    rows = None
    if ('obj' not in kwargs):
        rows = rows3
    elif (kwargs['obj'] == '1'):
        rows = rows1
    elif (kwargs['obj'] == '2'):
        rows = rows2
    else:
        return self._errors['CMMVC50000']
    if (self._next_cmd_error['lsnode'] == 'header_mismatch'):
        rows[0].pop(2)
        self._next_cmd_error['lsnode'] = ''
    return self._print_cmd_info(rows=rows, delim=kwargs.get('delim', None))
