Example #1
0
def createIpsNetworksOSHV(ipList, sysTable, hostId, hostIsComplete):
    ipsAndNetworksOSHV = ObjectStateHolderVector()
    isRoute = checkIsRoute(ipList)
    hostOSH = modeling.createOshByCmdbId(sysTable.sysClass, hostId)
    builder = HostBuilder(hostOSH)
    
    builder.setAsRouter(isRoute, __NOT_SET_ROLE)    
    if str(sysTable.sysModel).lower() != 'unknown':
        builder.setStringAttribute("host_model", sysTable.sysModel)
    if str(sysTable.sysOs).lower() != 'unknown':
        builder.setOsName(sysTable.sysOs)
    if str(sysTable.sysVendor).lower() != 'unknown':
        builder.setStringAttribute("host_vendor", sysTable.sysVendor)
    if sysTable.sysName != None and str(sysTable.sysName).lower() != 'unknown':
        builder.setStringAttribute("host_snmpsysname", sysTable.sysName)
    if sysTable.sysNodeName is not None:
        builder.setStringAttribute("host_hostname", sysTable.sysNodeName)
    hostOSH = builder.build()
    ipsAndNetworksOSHV.add(hostOSH)
    
    for ip in ipList:
        if not isValidIP(ip):
            continue
        #create ip object
        ipOSH = modeling.createIpOSH(ip.ipAddr, ip.ipNetMask)
        
        #create network object
        networkOSH = modeling.createNetworkOSH(ip.ipAddr, ip.ipNetMask)
        if ip.nettype != None and int(ip.nettype) > 0:
            networkOSH.setEnumAttribute("network_nettype", int(ip.nettype))
        
        #create member link object ( end1(network) and end2(ip) )
        memberLinkOSHIpNetwork = modeling.createLinkOSH("member", networkOSH, ipOSH)
        
        #create member link object ( end1(network) and end2(host) )
        memberLinkOSHHostNetwork = modeling.createLinkOSH("member", networkOSH, hostOSH)
        
        #create contained link object ( end1(host) and end2(ip) )
        if Boolean.parseBoolean(hostIsComplete):
            containedLinkOSHIpHost = modeling.createLinkOSH("contained", hostOSH, ipOSH)
            ipsAndNetworksOSHV.add(containedLinkOSHIpHost)
        
        ipsAndNetworksOSHV.add(ipOSH)
        ipsAndNetworksOSHV.add(networkOSH)
        ipsAndNetworksOSHV.add(memberLinkOSHIpNetwork)
        ipsAndNetworksOSHV.add(memberLinkOSHHostNetwork)
    
    return ipsAndNetworksOSHV
Example #2
0
def createVirtHostOsh(config):
    vHostOsh = modeling.createCompleteHostOSHByInterfaceList(
        'host', config.interfaceList)
    return HostBuilder(vHostOsh).setAsVirtual(1).build()