import re import sys import net_parse import ssh import telnet import pexpect if len(sys.argv) != 3: print "usage python2 console.py <device name> <method cons|ssh>" sys.exit() dev = sys.argv[1] method = sys.argv[2] username = '******' password = '******' fdata = net_parse.DICT('device_info.cfg') for i in fdata: if dev == i['host_name']: ip = i['mgmt_ip'] hostname = i['host_name'] if method == 'ssh': handler = ssh.SSH(ip, username, password, hostname) print "connected to device {}:{}".format(hostname, ip) handler.interact() elif method == 'cons': terms = 0 handler = telnet.TELNET(ip, username, password, terms) handler.interact() print "connection closed for ip", ip, hostname
import os import time import net_parse import multiprocessing import commands import vxlan_vlan_cfg if len(sys.argv) !=3: print "Usage !! python2 bulk_img_copy.py device_paramater_file ping_check=0 or 1 " sys.exit() input=sys.argv[1] ping_check = int(sys.argv[2]) print input param=net_parse.DICT(input) #print param jobs=[] cfgs=[] for i in param: if i['host_name'][0:1] == '#' : continue elif len(i) > 1: ip=i['mgmt_ip'] if ping_check == 1: ping = 0 pingv = 'ping {} -c 5'.format(ip) time.sleep(2) pdata = commands.getoutput(pingv) pingd = re.findall('(\d+)% packet loss',pdata) ping = int(pingd[0])
host_temp = host.read() host_data = re.split('\n', host_temp) host.close() return host_data spine_ip = '172.29.165.18' print 'Starting to Configure Spine' process = multiprocessing.Process(target=intf.SPINE_CFG, args=(spine_ip, )) process.start() print 'Process Started' process.join() print 'Process Ended' sys.exit() param = net_parse.DICT('device.cfg') ip_to_host = {} leaf_devices = read_connect_dev() for leaf in leaf_devices: for dev in param: if leaf == dev['host_name']: ip_to_host[dev['mgmt_ip']] = dev['host_name'] jobs = [] cfgs = [] for ip, host in ip_to_host.items(): print ip, host process = multiprocessing.Process(target=intf.LEAF_CFG, args=(ip, )) print "Batched copy for{}: {} ".format(host, ip)