Exemple #1
0
 def getDeviceBySysOid(self, sysoid):
     devices = []
     device_keys = self.__getDeviceKeys()
     for key in device_keys:
         device_obj = self.redis_conn.hgetall(key)
         sysOid = device_obj.get('sysOid', '')
         if sysOid != sysoid:
             continue
         if 'managementIP' in device_obj.keys():
             man_ip = device_obj['managementIP']
         else:
             man_ip = device_obj['ip']
             device_obj.update(dict(managementIP=man_ip))
             del device_obj['ip']
         devices.append(xDevice(**device_obj))
     return devices
Exemple #2
0
 def getAllDevices(self, known=True):
     devices = []
     # filter device which is snmpUnreachable
     if known:
         device_keys = [
             key for key in self.__getKeys() if not key.endswith(':')
         ]
     for key in device_keys:
         device_obj = self.redis_conn.hgetall(key)
         #sysOid = device_obj.get('sysOid', '')
         #if len(sysOid)==0:
         #continue
         #if 'managementIP' in device_obj.keys():
         #    man_ip = device_obj['managementIP']
         #else:
         #    man_ip = device_obj['ip']
         #    device_obj.update(dict(managementIP=man_ip))
         #    del device_obj['ip']
         devices.append(xDevice(**device_obj))
     return devices
Exemple #3
0
from NetworkManagement.Controllers.controller import ControllerFactory
from NetworkManagement.Models.networkDevice import xDevice

controllerFactory = ControllerFactory()

#d = xDevice('10.20.102.100', telnet_enabled=True)
#iosController = controllerFactory.get_controller('IOS')
#iosController.login(d)
#print(iosController.get_raw_name())
#iosController.terLen()
#iosController.get_config_syslog()
#print(iosController.lastPrompt)
#print(iosController.isLastCmdSuccess)
#c37Controller.ip_arp()

d = xDevice('10.20.101.210', telnet_enabled=True)
nxController = controllerFactory.get_controller('Nexus')
nxController.login(d)
print(nxController.get_raw_name())
nxController.terLen()
#print(nxController.get_error_prompt())
print(nxController.get_config_syslog())
nxController.logoff()
Exemple #4
0
    #seg_list = segSvc.getSegmentByZone('M')

    #location = 'sh'
    #
    #for seg in seg_list:
    #   print(seg.items())
    #   if seg.location != location:
    #       continue
    #   pt = PingTool(seg.segment+'/'+str(seg.mask))
    #   pt.probe().filter()
    #   reachable_ip_list = [ r[0] for r in pt.result ]
    #   for ip in reachable_ip_list:
    #       print(ip)
    #       d = xDevice(ip, zone=seg.role, location=seg.location, isICMPReachable=True)
    #       d.render()
    #       netDevSvc.save(d)

    seg = Segment('10.20.101.0', role='JiaoYi', zone='M', location='sh')
    pt = PingTool(seg.segment + '/' + str(seg.mask))
    pt.probe().filter()
    reachable_ip_list = [r[0] for r in pt.result]
    for ip in reachable_ip_list[1:]:
        print(ip)
        d = xDevice(ip,
                    zone=seg.role,
                    location=seg.location,
                    isICMPReachable=True)
        d.render()
        print(d.items())
        netDevSvc.save(d)
Exemple #5
0
if __name__ == '__main__':
    config_text = ""
    deviceIPs = [
        '10.20.101.60',
        '10.20.101.70',
        '10.20.101.110',
        '10.20.101.140',
        '10.20.101.223',
        '10.20.101.224',
        '10.20.101.226'
    ]

    nds = NetworkDeviceService()
    #devices = nds.getAllDevices()
    devices = [ xDevice(ip, location='sh', zone='JiaoYi', manufacturer='Cisco') for ip in deviceIPs ]

    location = 'sh'

    for d in devices:
        #if d.location != location or d.isICMPReachable !=True:
        if d.location != location:
            continue
        host_ip = d.managementIP
        tc = TelnetClient(host_ip)
        tc.comm_connect()
        if tc.isConnected():
            name = tc.get_raw_name()
            d.name = name
            print('{name}({ip}) telnet success'.format(name=d.name, ip=d.managementIP))
            tc.close()
Exemple #6
0
from NetworkManagement.Models.networkDevice import xDevice
from NetworkManagement.Service.DeviceService import NetworkDeviceService

if __name__ == '__main__':
    d = xDevice('10.20.101.60')
    d.render()
    print(d.items())