Пример #1
0
def list_name_of_name_server(service_name):
    """This keyword is to get the service pid by the service name

    #COMMAND: nasext ls service_name

    | Parameters | Man. | Description |
    | service_name      | Yes  | The name of the service
    | Return value |call detail information (CommonItem)

    Example
    | Get Service Pid Of Name Server | test_service |

    """
    command = "nasext ls " + service_name
    output = connections.execute_mml(command)

    item = """Service_Name:([a-zA-Z0-9\-_]+)"""
    match = re.search(item, output)

    if match is not None:
        service_pid = CommonItem()
        service_pid.Name = match.group(1)
        return service_pid
    else:
        exceptions.raise_ILError("ILCommandExecuteError", output)
Пример #2
0
def _parse_release_result(output):
    #lines = output.strip().splitlines()
    return_value = CommonItem()
    if (-1 != output.lower().find("success")):
    	return_value.result = "success"
    else:
    	return_value.result = "failed"
    return return_value
Пример #3
0
def _cac_release_all_leg_objects(command):
    exec_output = connections.execute_mml_without_check(command)
    return_value = CommonItem()
    if (-1 != exec_output.lower().find("success")):
        return_value.result = "success"
    else:
        return_value.result = "failed"
    return return_value
Пример #4
0
def get_feature_license(feature_name=''):
    command = 'fsclish -c "show license all" '
    result = connections.execute_mml_without_check(command)
    lines = result.splitlines()
    license_list = CommonDict()
    key = '0'
    for line in lines:
        items = line.split(':')
        if len(items) != 2:
            continue
        if items[0].strip() == 'Unique ID':
            key = items[1].strip()
            license_list[key] = CommonItem()
        if key == '0':
            print 'no key'
            continue
        setattr(license_list[key], items[0].strip().replace(' ', '_').lower(),
                items[1].strip())
    if not feature_name:
        return license_list

    for unique_id in license_list:
        if license_list[unique_id].feature_name_list == feature_name:
            return license_list[unique_id]
    return
Пример #5
0
def get_counters_in_cac():
    """    
    This keyword is used to shows counters in CAC part.
    #COMMAND: fsclish -c "show troubleshooting cac leg"
    | Parameters          | Man. | Description                                 |
    | NA                  |      |                                             |

    | Return value | an Instance of list with legs number and capacity         |

    Example
    | result | get_couters_in_cac  |  |
    """
    command = """fsclish -c "show troubleshooting cac leg" """
    print "Command: " + command
    output = connections.execute_mml_without_check(command)
    pattern = re.compile(
        '''^.*
UDP\sleg\s:\s+(?P<udp_num>\d+)\s+
RTP\sleg\s:\s+(?P<rtp_num>\d+)\s+
GTP\sleg\s:\s+(?P<gtp_num>\d+)\s+
Capacities:\s+
UDP\sand\s+RTP\s+leg\s+:\s+(?P<udp_rtp_leg_capacity>\d+)\s+
GTP\sleg\s+:\s+(?P<gtp_leg_capacity>\d+)\s+
''', re.VERBOSE | re.DOTALL)
    item = pattern.match(output)
    leg_info = CommonItem()
    if item:
        leg_list = item.groupdict()
        leg_info.udp_num = leg_list['udp_num']
        leg_info.rtp_num = leg_list['rtp_num']
        leg_info.gtp_num = leg_list['gtp_num']
        leg_info.udp_rtp_leg_capacity = leg_list['udp_rtp_leg_capacity']
        leg_info.gtp_leg_capacity = leg_list['gtp_leg_capacity']

    return leg_info
Пример #6
0
def _search_vcp_connection_list_with_conn_id(conn_id):
    command = """vcp_conn_list -c 0x%s""" %(conn_id)
    exec_output = connections.execute_mml_without_check(command)
    items = exec_output.strip().splitlines()
    vcp_res = {}
    for item in items:
        infos = item.split("|")
        if len(infos) == 10:
            vcp_res = CommonItem()
            vcp_res.index = infos[0].strip()
            vcp_res.conn_id =infos[1].strip()
            vcp_res.owner_id =infos[2].strip()
            vcp_res.type =infos[3].strip()
            local_ip = infos[4].strip().split(":")
            vcp_res.local_ip=local_ip[1].strip()
            vcp_res.local_port = local_ip[2].strip()
            remote_ip =  infos[5].strip().split(":")
            vcp_res.remote_ip=remote_ip[1].strip()
            vcp_res.remote_port=remote_ip[2].strip()
    return vcp_res
Пример #7
0
def create_ipro_attribute_instance_with_specified_parameters(attribute_string):
    attribute_items = attribute_string.split()
    attribute_instance = CommonItem()
    attribute_instance.ipbr_id = ''
    attribute_instance.iface = ''
    attribute_instance.ip_address = ''
    attribute_instance.owner = ''
    attribute_instance.mode = ''
    attribute_instance.phb_set = ''
    attribute_instance.vrf = ''
    for attribute in attribute_items:
        items = attribute.split('=')
        if len(items) != 2:
            continue
        setattr(attribute_instance, items[0].lower().strip(), items[1].strip())

    return attribute_instance
Пример #8
0
def search_iu_transport_info_in_tf_table(leg_info):
    """
     This keyword is used to search transport information in TF routine table
     
    #COMMAND: lgutilgx RID:USCP-0:1,2; vcp_conn_list -c 0x12345

    | Parameters     | Man.| Description       |
    | leg_info    | Yes | Iu Leg info parsed by keyword create_iucs_leg_with_cac_params      |
    
    | Return value | two instance of CommonItem, transport info in RM2 and TF table |

    Example
    | result | search_iu_transport_info_in_tf_table | ${iu_leg_info} |
    """
    command = """lgutilgx RID:%s:%s,%s""" % (leg_info.computer, leg_info.hand_id, leg_info.focus_id)
    exec_output = connections.execute_mml_without_check(command)
    pattern = re.compile("""CONNECTION\s+ID:(\S+)""")
    leg_pattern = re.compile("""RES_TYPE\s+PRID\s+ENC\s+CAC_ALLOC\s+OUT\s+IPv4\s+(\S+):(\S+)""")
    rg_pattern = re.compile("""PROVIDER\s+QNUP-(\S+)""")
    conn_id = pattern.findall(exec_output)[0]
    rg_index = rg_pattern.findall(exec_output)
    result = leg_pattern.findall(exec_output)
    rm2_info = CommonItem()
    rm2_info.ip   = result[0][0]
    rm2_info.port = result[0][1]
    eitpuptrm_list = upm_lib.class_all_units_info('QUNP')
    eitpuptrm_key = 'QNUP-000%d' % (int(rg_index[0]))
    print "QNUP key:",eitpuptrm_key
    starter_fileparse.change_ru(eitpuptrm_list[eitpuptrm_key].moname)
    vcp_info = _search_vcp_connection_list_with_conn_id(conn_id)
    
#    if (connections.execute_mml('echo $HW_PLATFORM').count('BCN') > 0):
#        ssh_eipu = 'ssh EIPU-%d' % (int(rg_index[0]))
#        connections.execute_mml(ssh_eipu)
#        for conn_id in result:
#            vcp_info = _search_vcp_connection_list_with_conn_id(conn_id)
#        connections.execute_mml('exit')
#    else:
#        vcp_info = _search_vcp_connection_list_with_conn_id(conn_id)
   
    return rm2_info, vcp_info
Пример #9
0
def _get_available_ip_with_sepcified_recovery_group_type(rg_type):
    command = 'fsclish -c "show networking instance default address"'
    output = connections.execute_mml_without_check(command)
    if output.find('type') != -1:
        ip_addr_pattern_str = "(\w+)\s+type\s+:\s+(\w+)\s+address\s+:\s+(\d+.\d+.\d+.\d+)/(\d+)\s+owner\s+:\s+(\S+)"
        iface_index = 0
        addr_index = 2
        owner_index = 4
    else:
        ip_addr_pattern_str = "(\w+)\s+address\s+:\s+(\d+.\d+.\d+.\d+)/(\d+)\s+owner\s+:\s+(\S+)"
        iface_index = 0
        addr_index = 1
        owner_index = 3

    ip_addr_list = re.findall(ip_addr_pattern_str, output)
    eitp_ip_list = []
    for ip_info in ip_addr_list:

        if ip_info[addr_index].startswith('169.254'):
            continue

        if -1 == ip_info[owner_index].find(rg_type):
            continue
        temp_items = ip_info[owner_index].split('-')

        if len(temp_items) == 1:
            index = 0
        else:
            index = atoi(temp_items[1])

        if index >= len(eitp_ip_list):
            for i in range(len(eitp_ip_list), index + 1):
                eitp_ip_list.append([])
        ip_content = CommonItem()
        ip_content.rg_name = ip_info[owner_index]
        ip_content.ip_addr = ip_info[addr_index]
        ip_content.iface = ip_info[iface_index]
        eitp_ip_list[index].append(ip_content)

    return eitp_ip_list
Пример #10
0
def get_leg_cac_info(ip_addr, port_id):
    """    
    This keyword is used to basic ipbr config information from CAC PRB
    #COMMAND: iltrmcli -S -u <IP Address> <Port ID>
    | Parameters         | Man. | Description   |
    | ip_addr            | Yes  | IP address    |
    | port_id            | Yes  | port ID       |

    | Return value | an Instance of commonitem |

    Example
    | result | Get Leg CAC Info | 10.1.2.4 | 4000 |
    """

    result = inquiry_udp_conn_resource_info(ip_addr, port_id)
    ip_port = '%s:%s' % (ip_addr, port_id)
    return_var = CommonItem()
    if result.has_key(ip_port):
        return_var.port = port_id
        return_var.ipbr_id = result[ip_port]["ipbr_id"]
        return_var.bw = result[ip_port]["reserve_bw"]
    return return_var
Пример #11
0
def _parse_in_leg_creation_output(exec_output):

    result = CommonItem()
    if (-1 != exec_output.find("SUCCESSFUL")):
        pattern = re.compile("""^.*IP-RESOURCE\s+(IN-\d+)\s+RESERVED\s+(\S+).*IPv4\s+Addr:\s+(\d+\.\d+\.\d+\.\d+)\s+:\s*(\d+).*$""", re.DOTALL)
        match = re.match(pattern, exec_output) 
        if match:
            result.result = "success"
            result.leg_id = match.group(1)
            result.ip = match.group(3)
            result.port = match.group(4)
    elif (-1 != exec_output.find("FAILED")):
        pattern = re.compile("""^.*IP-RESOURCE\s+RESERVATION\s+(\S+),\s*EC=(\S+).*$""", re.DOTALL | re.VERBOSE)
        match = re.match(pattern, exec_output) 
        if match:
            result.result = "failed"
            result.error_code = match.group(2)
    else:
        result.result = "failed"
    return result
Пример #12
0
def release_all_udp_conn_resource():
    """
     This keyword is used to release all UDP connection resource in CACPRB

    #COMMAND: iltrmcli -D -u all

    | Parameters | Man.| Description       |
    |            |     |                   |


    | Return value | an instance of String, success or failed |

    Example
    | result | release all udp conn resource | 
    """
    command = "iltrmcli -D -u all"
    print "Command:", command
    exec_output = connections.execute_mml_without_check(command)
    return_value = CommonItem()
    if (-1 != exec_output.lower().find("success")):
        return_value.result = "success"
    else:
        return_value.result = "failed"
    return return_value
Пример #13
0
def list_service_pid_of_name_server(service_name):
    """This keyword is to list the service PID of the speceified serivce name

    #COMMAND: nasext lp service_name

    | Parameters | Man. | Description |
    | service_name      | Yes  | The name of the service

    | Return value |call detail information (CommonItem)
     can support the following attributes:
         *service_pid.Computer
         *service_pid.Family
         *service_pid.Process
         *service_pid.Focus
         *service_pid.Group
         *service_pid.Delivery
         *service_pid.Attr

    Example
    | List Service Pid Of Name Server | test_service |

    """
    command = "nasext lp " + service_name
    output = connections.execute_mml(command)
    item = '\s*Computer\s*:\s*(\w+)\s*Family\s*:\s*(\w+)\s*Process\s*Id\s*:\s*(\w+)\s*Focus\s*:\s*(\w+)\s*Group\s*number\s*:\s*(\w+)\s*Delivery\s*:\s*(\w+)\s*Attr\s*:\s*(\w+)\s*'
    items = re.findall(item, output)
    if items is None:
        exceptions.raise_ILError("ILCommandExecuteError", output)

    result = []
    for item in items:
        service_pid = CommonItem()
        service_pid.Computer = item[0]
        service_pid.Family = item[1]
        service_pid.Process = item[2]
        service_pid.Focus = item[3]
        service_pid.Group = item[4]
        service_pid.Delivery = item[5]
        service_pid.Attr = item[6]
        result.append(service_pid)
    return result
Пример #14
0
def get_pending_result_of_name_server():
    """This keyword is to get the pending request result from the result file

    #COMMAND: cat file

    | Parameters | Man. | Description |

    | Return value |call detail information (CommonItem)
     can support the following attributes:
         *service_pid.Computer
         *service_pid.Family
         *service_pid.Process
         *service_pid.Focus
         *service_pid.Group
         *service_pid.Delivery
         *service_pid.Attr

    Example
    |${result}  | Get Pending Result Of Name Server |

    """
    command = 'cat ' + result_file
    output = connections.execute_mml(command)

    item = '\s*Computer\s*:\s*(\w+)\s*Family\s*:\s*(\w+)\s*Process\s*id\s*:\s*(\w+)\s*Focus\s*:\s*(\w+)\s*Group\s*:\s*(\w+)\s*Delivery\s*:\s*(\w+)\s*Attr\s*:\s*(\w+)\s*'
    match = re.search(item, output)
    if match is not None:
        service_pid = CommonItem()
        service_pid.Computer = match.group(1)
        service_pid.Family = match.group(2)
        service_pid.Process = match.group(3)
        service_pid.Focus = match.group(4)
        service_pid.Group = match.group(5)
        service_pid.Delivery = match.group(6)
        service_pid.Attr = match.group(7)
        return service_pid
    else:
        exceptions.raise_ILError("ILCommandExecuteError", output)
Пример #15
0
def get_service_pid_of_name_server(service_name):
    """This keyword is to get the service pid by the service name

    #COMMAND: nasext g service_name

    | Parameters | Man. | Description |
    | service_name      | Yes  | The name of the service
    | Return value |call detail information (CommonItem)
     can support the following attributes:
         *service_pid.Computer
         *service_pid.Family
         *service_pid.Process
         *service_pid.Focus
         *service_pid.Group
         *service_pid.Delivery
         *service_pid.Attr

    Example
    | Get Service Pid Of Name Server | test_service |

    """
    command = "nasext g " + service_name
    output = connections.execute_mml(command)

    item = '\s*Computer\s*:\s*(\w+)\s*Family\s*:\s*(\w+)\s*Process\s*id\s*:\s*(\w+)\s*Focus\s*:\s*(\w+)\s*Group\s*:\s*(\w+)\s*Delivery\s*:\s*(\w+)\s*Attr\s*:\s*(\w+)\s*'
    match = re.search(item, output)
    if match is not None:
        service_pid = CommonItem()
        service_pid.Computer = match.group(1)
        service_pid.Family = match.group(2)
        service_pid.Process = match.group(3)
        service_pid.Focus = match.group(4)
        service_pid.Group = match.group(5)
        service_pid.Delivery = match.group(6)
        service_pid.Attr = match.group(7)
        return service_pid
    else:
        exceptions.raise_ILError("ILCommandExecuteError", output)
Пример #16
0
def _parse_out_leg_creation_output(exec_output):
    result = CommonItem()
    if (-1 != exec_output.find("SUCCESSFUL")):
        pattern = re.compile("""^.*CALL_ID\s+(\S+).*RM2\s+HAND\s+=\s+(\S+)\s+(\S+).*IPv4\s+Addr:\s+(\d+\.\d+\.\d+\.\d+)\s+:\s*(\d+).*$""", re.DOTALL)
        match = re.match(pattern, exec_output)
        if match:
            result.result = "success"
            result.call_id = match.group(1)
            result.hand_id = match.group(2)
            result.focus_id = match.group(3)
            result.ip = match.group(4)
            result.port = match.group(5)
        else:
            print "not match"
    elif (-1 != exec_output.find("FAILED")):
        pattern = re.compile("""^.*CALL_ID\s+(\S+).*EC=(\S+).*$""", re.DOTALL)
        match = re.match(pattern, exec_output)
        if match:
            result.result  = "failed"
            result.call_id = match.group(1)
            result.error_code = match.group(2)
    return result
Пример #17
0
def get_specific_ipbr_info_in_cac(ipbr_id):
    """    
    This keyword is used to get ipbr resource information from CAC PRB
    
    #COMMAND: fsclish -c "show troubleshooting cac ipbr ipbr-id  <IPBR ID>"
    
    | Parameters         | Man. | Description                                 |
    | ipbr_id            | Yes  | IPBR ID                                     |

    | Return value | an Instance of commonitem with specific IPBR all information in CAC |

    Example
    | result | get_specific_ipbr_info_in_cac | 12 |
    """
    command = """fsclish -c "show troubleshooting cac ipbr ipbr-id %s" """ % (
        ipbr_id)
    print "Command: " + command
    output = connections.execute_mml_without_check(command)
    if output.find('does not exist') != -1:
        output = 'IPBR with ipbr-id (%s) does not exist in connection admission control part.' % (
            ipbr_id)
        return output
    if output.find('NO WORKING') != -1:
        return output
    else:
        pattern = re.compile(
            '''^.*
IPBR\sID\s+:\s+(?P<ipbr_id>\d+)\s+
IPBR\sname\s+:\s+(?P<ipbr_name>\S+)\s+
Route\sbandwidth\s+:\s(?P<route_bw>\d+)\s+kbps\s+
Committed\sbandwidth\s+:\s(?P<cmmt_bw>\d+)\s+kbps\s+
Committed\sDCN\sbandwidth\s+:\s(?P<cmmt_dcn_bw>\d+)\s+kbps\s+
Committed\ssignaling\sbandwidth\s+:\s(?P<cmmt_sig_bw>\d+)\s+kbps\s+
Committed\suser\splane\sbandwidth\s+:\s(?P<up_bw>\d+)\s+kbps\s+
Reserved\sbandwidth\s+:\s(?P<res_bw>\S+)\s+kbps\s+
IFC\sNRTDCH\s+:\s+(?P<ifc_nrtdch>\S+)\s+
IFC\sNRTHSDPA\s+:\s+(?P<ifc_nrthsdpa>\S+)\s+
Scheduler\stype\s+:\s+(?P<scheduler_type>\S+)\s+ 
PHB\sprofile\sID\s+:\s+(?P<phb_profile>\d+)\s+
DSPM\sprofile\sID\s+:\s+(?P<dspm_profile>\d+)\s+
MUX\senable\s+:\s+(?P<mux_enable>\S+)\s+
Max\sMUX\spackets\snumber\s+:\s+(?P<max_mux_packet>\d+)\s+
Local\sMUX\sUDP\sport\s+:\s+(?P<local_mux_port>\d+)\s+
Remote\sMUX\sUDP\sport\s+:\s+(?P<remote_mux_port>\d+)\s+
MUX\sUDP\sDSCP\svalue\s+:\s+(?P<mux_udp_value>\d+)\s+ 
GTP\sleg\snumber\s+:\s+(?P<gtp_num>\d+)\s+
RTP\sleg\snumber\s+:\s+(?P<rtp_num>\d+)\s+
UDP\sleg\snumber\s+:\s+(?P<udp_num>\d+)\s+
IPBR\sstatus\s+:\s((?P<ipbr_status>\S+)\s+)
''', re.VERBOSE | re.DOTALL)
        item = pattern.match(output)
        ipbr_info = CommonItem()
        if item:
            ipbr_attr = item.groupdict()
            ipbr_info.ipbr_id = ipbr_attr['ipbr_id']
            ipbr_info.ipbr_name = ipbr_attr['ipbr_name']
            ipbr_info.route_bw = ipbr_attr['route_bw']
            ipbr_info.cmmt_bw = ipbr_attr['cmmt_bw']
            ipbr_info.cmmt_dcn_bw = ipbr_attr['cmmt_dcn_bw']
            ipbr_info.cmmt_sig_bw = ipbr_attr['cmmt_sig_bw']
            ipbr_info.ifc_nrtdch = ipbr_attr['ifc_nrtdch']
            ipbr_info.ifc_nrthsdpa = ipbr_attr['ifc_nrthsdpa']
            ipbr_info.scheduler_type = ipbr_attr['scheduler_type']
            ipbr_info.phb_profile = ipbr_attr['phb_profile']
            ipbr_info.dspm_profile = ipbr_attr['dspm_profile']
            ipbr_info.mux_enable = ipbr_attr['mux_enable']
            ipbr_info.max_mux_packet = ipbr_attr['max_mux_packet']
            ipbr_info.local_mux_port = ipbr_attr['local_mux_port']
            ipbr_info.mux_udp_value = ipbr_attr['mux_udp_value']
            ipbr_info.up_bw = ipbr_attr['up_bw']
            ipbr_info.res_bw = "%d" % (atof(ipbr_attr['res_bw']) * 1000)
            ipbr_info.free_bw = "%d" % (atof(ipbr_info.up_bw) -
                                        atof(ipbr_info.res_bw))
            ipbr_info.gtp_num = ipbr_attr['gtp_num']
            ipbr_info.rtp_num = ipbr_attr['rtp_num']
            ipbr_info.udp_num = ipbr_attr['udp_num']
            ipbr_info.ipbr_status = ipbr_attr['ipbr_status']
            ipbr_info.ip_list = []
        else:
            return ipbr_info

    if output.find('No IP address bound with the IPBR.') != -1:
        ipbr_info.ip_list = 'No IP address bound with the IPBR.'
    else:
        ip_pattern = re.compile('(\d+\.\d+\.\d+\.\d+)\s+(\d+)\s+(\S+)\s+(\S+)')
        items = ip_pattern.findall(output)
        for item in items:
            ip_info = CommonItem()
            ip_info.ip_addr = item[0]
            ip_info.vrf_id = item[1]
            ip_info.monitor = item[2]
            ip_info.status = item[3]
            ipbr_info.ip_list.append(ip_info)
    return ipbr_info
Пример #18
0
def show_ipro(ipbr_id='', ip_address='', owner='', iface='', vrf=''):
    """
    This keyword is used to show networking ipros
    #COMMAND: fsclish -c "show networking ipro ipbr-id <ipbr id> iface <interface> ip-address <ip address> owner <owner recovery group>"
    
    | Parameters  | Man. | Description             |
    | owner       | No   | owner recovery group    |  
    | ipbr_id     | No   | IPBR ID                 |
    | iface       | No   | network interface |    
    | ip_addr     | No   | IP address        |
     
    | Return value | instance of dictionary |
    
    | ${result} | show networking ipro | 123 | 12.0.0.1 | /EITPUPTRMRG | ether1_1 | VRF | 
    """

    ipro_attributes_list_str = _set_ipro_attributes_list_str(
        ipbr_id=ipbr_id,
        vrf=vrf,
        ip_address=ip_address,
        owner=owner,
        iface=iface)
    command = 'fsclish -c "show networking ipro %s"' % (
        ipro_attributes_list_str)
    print "Execute Command:", command
    ipro_info_str = connections.execute_mml_without_check(command)
    if ipro_info_str.upper().find('VRF') != -1:
        pattern = re.compile(
            '(\d+)\s+(\d+\.\d+\.\d+\.\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)')
    else:
        pattern = re.compile(
            '(\d+)\s+(\d+\.\d+\.\d+\.\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+')
    items = pattern.findall(ipro_info_str)
    if len(items) == 0:
        return {'result': 'FAILED', 'error_info': ipro_info_str.strip()}

    ipro_list = {'result': 'SUCCESS'}
    for item in items:
        ipro_info = CommonItem()
        ipro_info.ipbr_id = item[0]
        ipro_info.ip_address = item[1]
        ipro_info.owner = item[2]
        ipro_info.iface = item[3]
        ipro_info.phb_set = CommonItem()
        if item[4].find('ALL') != -1:
            ipro_info.phb_set.ef = 'on'
            ipro_info.phb_set.af4 = 'on'
            ipro_info.phb_set.af3 = 'on'
            ipro_info.phb_set.af2 = 'on'
            ipro_info.phb_set.af1 = 'on'
            ipro_info.phb_set.be = 'on'
        else:
            ipro_info.phb_set.ef = 'on' if item[4].find('EF') != -1 else 'off'
            ipro_info.phb_set.af4 = 'on' if item[4].find(
                'AF4') != -1 else 'off'
            ipro_info.phb_set.af3 = 'on' if item[4].find(
                'AF3') != -1 else 'off'
            ipro_info.phb_set.af2 = 'on' if item[4].find(
                'AF2') != -1 else 'off'
            ipro_info.phb_set.af1 = 'on' if item[4].find(
                'AF1') != -1 else 'off'
            ipro_info.phb_set.be = 'on' if item[4].find('BE') != -1 else 'off'
        if ipro_info_str.upper().find('VRF') != -1:
            ipro_info.vrf = item[5]
        ipro_key = ipro_info.ipbr_id + "@" + ipro_info.ip_address + "@" + ipro_info.iface + "@" + ipro_info.owner
        ipro_list[ipro_key] = ipro_info

    return ipro_list
Пример #19
0
def list_content_of_name_server(service_name):
    """This keyword is to get the service pid by the service name

    #COMMAND: nasext g service_name

    | Parameters | Man. | Description |
    | service_name      | Yes  | The name of the service
    | Return value |call detail information (CommonItem)
     can support the following attributes:
         *service_pid.Computer
         *service_pid.Family
         *service_pid.Process
         *service_pid.Focus
         *service_pid.Group
         *service_pid.Delivery
         *service_pid.Attr

    Example
    | Get Service Pid Of Name Server | test_service |

    """
    command = "nasext lc " + service_name
    output = connections.execute_mml(command)

    item = 'Index\s*:\s*(\d+)\w+\s+Service name  :\s*([a-zA-Z0-9\-_]+)\s*Real location :\s*(\d+)\s*Computer      :\s*(\w+)\s*Family        :\s*(\d+)\s*Process Id    :\s*(\d+)\s*Focus         :\s*(\d+)\s*Group service :\s*(\d+)\s*Local service :\s*(\d+)\s*Replaceable   :\s*(\d+)\s*Msg group     :\s*(\d+)\s*Delivery      :\s*(\d+)\s*Attributes    :\s*(\d+)\s*Number of use :\s*(\d+)\s*Token         :\s*(\d+)\s*In use        :\s*(\d+)\s*Can show      :\s*(\d+)'
    match = re.search(item, output)
    print match
    if match is not None:
        service_pid = CommonItem()
        service_pid.Name = match.group(2)
        service_pid.Computer = match.group(4)
        service_pid.Family = match.group(5)
        service_pid.Process = match.group(6)
        service_pid.Focus = match.group(7)
        service_pid.Group = match.group(8)
        service_pid.Local = match.group(9)
        service_pid.Replace = match.group(10)
        service_pid.GroupNum = match.group(11)
        service_pid.Delivery = match.group(12)
        service_pid.Attr = match.group(13)
        return service_pid
    else:
        exceptions.raise_ILError("ILCommandExecuteError", output)
Пример #20
0
def initialize_IP_based_route_attribute_with_default_value(attribute_string):
    attribute_items = attribute_string.split()
    attribute_instance = CommonItem()
    attribute_instance.ipbr_id = ''
    attribute_instance.ipbr_name = ''
    attribute_instance.route_bw = '1000'
    attribute_instance.commit_bw = '1000'
    attribute_instance.commit_sig_bw = '0'
    attribute_instance.commit_dcn_bw = '0'
    attribute_instance.ifc_nrtdch = 'E-RED'
    attribute_instance.ifc_nrthsdpa = 'E-RED'
    attribute_instance.scheduler_type = 'none'
    attribute_instance.phb_profile = '0'
    attribute_instance.dspm_profile = '0'
    attribute_instance.mux_flag = 'disable'
    attribute_instance.max_mux_pkt_num = '30'
    attribute_instance.mux_local_port = '65535'
    attribute_instance.mux_remote_port = '65535'
    attribute_instance.mux_udp_dscp = '46'
    for attribute in attribute_items:
        items = attribute.split('=')
        if len(items) != 2:
            continue
        setattr(attribute_instance, items[0].lower().strip(), items[1].strip())
    return attribute_instance
Пример #21
0
def create_ipbr_attribute_instance_with_specified_parameters(
        attribute_string, operation):
    attribute_items = attribute_string.split()
    attribute_instance = CommonItem()
    attribute_instance.ipbr_id = ''
    if (operation == 'update'):
        attribute_instance.ipbr_name = ''
        attribute_instance.route_bw = ''
        attribute_instance.commit_bw = ''
        attribute_instance.commit_sig_bw = ''
        attribute_instance.commit_dcn_bw = ''
    else:
        attribute_instance.ipbr_name = 'test-ipbr'
        attribute_instance.route_bw = '1000'
        attribute_instance.commit_bw = '1000'
        attribute_instance.commit_sig_bw = '0'
        attribute_instance.commit_dcn_bw = '0'
    attribute_instance.ifc_nrtdch = ''
    attribute_instance.ifc_nrthsdpa = ''
    attribute_instance.scheduler_type = ''
    attribute_instance.phb_profile = ''
    attribute_instance.dspm_profile = ''
    attribute_instance.mux_flag = ''
    attribute_instance.max_mux_pkt_num = ''
    attribute_instance.mux_local_port = ''
    attribute_instance.mux_remote_port = ''
    attribute_instance.mux_udp_dscp = ''
    for attribute in attribute_items:
        items = attribute.split('=')
        if len(items) != 2:
            continue
        setattr(attribute_instance, items[0].lower().strip(), items[1].strip())
    return attribute_instance
Пример #22
0
import os

from comm.communication.helper import CommonItem, CommonDict
from ilcallmgmt_subsystem_lib import library
#### OS Env
ENV = CommonItem()

ENV.HOSTIP = os.getenv('HOSTIP', '')
ENV.SRNC = os.getenv('HOSTIP', '')
ENV.DRNC = os.getenv('FGW2IP', '')
ENV.USERNAME = os.getenv('USERNAME', '')
ENV.PASSWD = os.getenv('PASSWD', '')
ENV.PORT = os.getenv('PORT', '')
ENV.FPCIP = os.getenv('FPCIP', '')
ENV.NODEBIP = os.getenv('FPCIP_ETH1', '')

ENV.RNC_IUB_IP = os.getenv('DSP0_IUB_IP', '')
ENV.RNC_IUR_IP = os.getenv('DSP0_IUR_IP', '')
ENV.RNC_IUCS_IP = os.getenv('DSP0_IUCS_IP', '')
ENV.RNC_IUPS_IP = os.getenv('DSP0_IUPS_IP', '')

#print 'ENV={%s}' % ENV
###########################################################################################
#### CM CALL MODEL ########################################################################
# CM VAR
CM_VAR = CommonItem()
CM_VAR.TESTDATA_PATH = '/home/public/SS_ILFT/TestData/NODEB'
#CM_VAR.USCP0 = os.getenv('USCP_TYPE_NAME', '') + '-' + os.getenv('USUP_0_INDEX', '')
#CM_VAR.CSCP0 = os.getenv('CSCP_TYPE_NAME', '') + '-' + os.getenv('CSUP_0_INDEX', '')
CM_VAR.USCP0 = 'USCP-0'
CM_VAR.CSCP0 = 'CSCP-0'