Exemple #1
0
def _lvm_parse_display(output):
    lvms = []
    lines = output.split(os.linesep)
    for line in lines:
        line = line.strip()
        if line.startswith(_lv_seperator):
            lvm = LVM()
            lvms.insert(0, lvm)

        r_name = _re_lv_name.match(line)
        r_path = _re_lv_path.match(line)
        r_vgname = _re_vg_name.match(line)
        r_stat = _re_lv_stat.match(line)
        r_size = _re_lv_size.match(line)
        r_uuid = _re_lv_uuid.match(line)

        if r_name:
            lvms[0].name = r_name.group(1)
        if r_path:
            lvms[0].path = r_path.group(1)
        if r_vgname:
            lvms[0].vg_name = r_vgname.group(1)
        if r_stat:
            lvms[0].state = _lvm_status.get(r_stat.group(1), 0)
        if r_size:
            lvms[0].size = yield from _size_to_kb(r_size.group(1),
                                                  r_size.group(2))
        if r_uuid:
            lvms[0].id = r_uuid.group(1).lower().replace('-', '')

    print(lvms)
    return lvms
Exemple #2
0
def _lvm_parse_display(output):
    lvms = []
    lines = output.split(os.linesep)
    for line in lines:
        line = line.strip()
        if line.startswith(_lv_seperator):
            lvm = LVM()
            lvms.insert(0, lvm)

        r_name = _re_lv_name.match(line)
        r_path = _re_lv_path.match(line)
        r_vgname = _re_vg_name.match(line)
        r_stat = _re_lv_stat.match(line)
        r_size = _re_lv_size.match(line)
        r_uuid = _re_lv_uuid.match(line)

        if r_name:
            lvms[0].name = r_name.group(1)
        if r_path:
            lvms[0].path = r_path.group(1)
        if r_vgname:
            lvms[0].vg_name = r_vgname.group(1)
        if r_stat:
            lvms[0].state = _lvm_status.get(r_stat.group(1), 0)
        if r_size:
            lvms[0].size = yield from _size_to_kb(r_size.group(1), r_size.group(2))
        if r_uuid:
            lvms[0].id = r_uuid.group(1).lower().replace('-', '')

    print(lvms)
    return lvms
Exemple #3
0
def _parse_show_target(output):
    targets = []
    lines = output.split(os.linesep)
    for line in lines:
        line = line.strip()
        if len(line) == 0:
            continue
        r = _re_target.match(line)
        if r:
            target = Target()
            target.tid = r.group(1)
            target.iqn = r.group(2)
            colon_pos = target.iqn.rfind(':')
            target.name = target.iqn[colon_pos+1:] if colon_pos != -1 else None
            target.luns = []
            target.sessions = []
            targets.insert(0, target)
        r = _re_target_driver.match(line)
        if r:
            targets[0].driver = r.group(1)
        r = _re_target_state.match(line)
        if r:
            targets[0].state = _target_state.get(r.group(1), 0)

        if len(targets) > 0:
            r = _re_nexus.match(line)
            if r:
                session = dict()
                session['sid'] = int(r.group(1))
                targets[0].sessions.insert(0, session)
        if len(targets) > 0 and len(targets[0].sessions) > 0:
            r = _re_initiator_name.match(line)
            if r:
                targets[0].sessions[0]['initiator'] = r.group(1)
            r = _re_initiator_conn.match(line)
            if r:
                targets[0].sessions[0]['cid'] = int(r.group(1))
                targets[0].sessions[0]['connections'] = []
            r = _re_initiator_addr.match(line)
            if r:
                targets[0].sessions[0]['connections'].append(r.group(1))

        r = _re_lun.match(line)
        if r:
            lun = LUN()
            lun.lid = int(r.group(1))
            targets[0].luns.insert(0, lun)
        if len(targets[0].luns) > 0:
            r = _re_lun_type.match(line)
            if r:
                targets[0].luns[0].type = r.group(1)
            r = _re_lun_name.match(line)
            if r:
                targets[0].luns[0].name = r.group(1)
            r = _re_lun_size.match(line)
            if r:
                targets[0].luns[0].size = yield from _size_to_kb(r.group(1), r.group(2))

    return targets
Exemple #4
0
def _parse_show_target(output):
    targets = []
    lines = output.split(os.linesep)
    for line in lines:
        line = line.strip()
        if len(line) == 0:
            continue
        r = _re_target.match(line)
        if r:
            target = Target()
            target.tid = r.group(1)
            target.iqn = r.group(2)
            colon_pos = target.iqn.rfind(':')
            target.name = target.iqn[colon_pos +
                                     1:] if colon_pos != -1 else None
            target.luns = []
            target.sessions = []
            targets.insert(0, target)
        r = _re_target_driver.match(line)
        if r:
            targets[0].driver = r.group(1)
        r = _re_target_state.match(line)
        if r:
            targets[0].state = _target_state.get(r.group(1), 0)

        if len(targets) > 0:
            r = _re_nexus.match(line)
            if r:
                session = dict()
                session['sid'] = int(r.group(1))
                targets[0].sessions.insert(0, session)
        if len(targets) > 0 and len(targets[0].sessions) > 0:
            r = _re_initiator_name.match(line)
            if r:
                targets[0].sessions[0]['initiator'] = r.group(1)
            r = _re_initiator_conn.match(line)
            if r:
                targets[0].sessions[0]['cid'] = int(r.group(1))
                targets[0].sessions[0]['connections'] = []
            r = _re_initiator_addr.match(line)
            if r:
                targets[0].sessions[0]['connections'].append(r.group(1))

        r = _re_lun.match(line)
        if r:
            lun = LUN()
            lun.lid = int(r.group(1))
            targets[0].luns.insert(0, lun)
        if len(targets[0].luns) > 0:
            r = _re_lun_type.match(line)
            if r:
                targets[0].luns[0].type = r.group(1)
            r = _re_lun_name.match(line)
            if r:
                targets[0].luns[0].name = r.group(1)
            r = _re_lun_size.match(line)
            if r:
                targets[0].luns[0].size = yield from _size_to_kb(
                    r.group(1), r.group(2))

    return targets