def loadbalancer_monitor(): time_interval=0.5 print '**********************************************************' print '* *' print '* Layer 2 Load Balancer *' print '* *' print '**********************************************************' loadbalancers=loadbalancer_Builder() print loadbalancers print '*******************************************' numoflb=len(loadbalancers) print '[Service Info]'+ctime() print str(numoflb)+' rules Loaded!' print '[Service Info]'+ctime() print 'LoadBalancer working now!' data_old=get_all_ports_statics() while 1: time.sleep(time_interval) data_new=get_all_ports_statics() result_switch={'Added Port':[],'Deleted Port':[]} #check_old_ports(data_old,data_new,result,time_interval) result_switch=check_ports_rate_lb(data_old,data_new,result_switch,time_interval,loadbalancers) data_old=data_new
def loadbalancer_monitor(): time_interval = 0.5 print '**********************************************************' print '* *' print '* Layer 2 Load Balancer *' print '* *' print '**********************************************************' loadbalancers = loadbalancer_Builder() print loadbalancers print '*******************************************' numoflb = len(loadbalancers) print '[Service Info]' + ctime() print str(numoflb) + ' rules Loaded!' print '[Service Info]' + ctime() print 'LoadBalancer working now!' data_old = get_all_ports_statics() while 1: time.sleep(time_interval) data_new = get_all_ports_statics() result_switch = {'Added Port': [], 'Deleted Port': []} #check_old_ports(data_old,data_new,result,time_interval) result_switch = check_ports_rate_lb(data_old, data_new, result_switch, time_interval, loadbalancers) data_old = data_new
def refresh(self, event): print 'refresh started' if self.ini == 0: self.data_old = get_all_ports_statics() self.restart() self.ini = 1 self.time_interval = 1 self.mode = 'all' #time.sleep(self.time_interval) self.data_new = get_all_ports_statics() self.result_switch = {'Added Port': [], 'Deleted Port': []} self.result_rate = [] #Refresh data rate self.rates = check_ports_rate_spg(self.data_old, self.data_new, self.result_switch, self.time_interval, self.mode, self.result_rate) self.time = self.cv.create_text((550, 480), text='Last updated: ' + ctime(), anchor=W, tags='time') for link in self.links: head_rate = self.get_rate(self.rates, link.head, link.head_port) tail_rate = self.get_rate(self.rates, link.head, link.head_port) if head_rate['TX_rate'] != 'none': if tail_rate['RX_rate'] != 'none': link.colorrate( min(head_rate['TX_rate'], tail_rate['RX_rate'])) #Refresh link self.result = check_topo_spg(self.data, self.data, get_topology()) for link in self.result['Remove link']: result_t = self.find_link(link) if result_t != 'none': result_t.broken() for link in self.result['Add link']: result_t = self.find_link(link) if result_t != 'none': result_t.recovery() self.data_old = self.data_new print 'relodad' self.cv.delete('time') self.time = self.cv.create_text((550, 480), text='Last updated: ' + ctime(), anchor=W, tags='time') thread.start_new_thread(self.auto_triger, ())
def rate_monitor_spg(): mode='all' time_interval=0.5 data_old=get_all_ports_statics() time.sleep(time_interval) data_new=get_all_ports_statics() result_switch={'Added Port':[],'Deleted Port':[]} result_rate=[] #check_old_ports(data_old,data_new,result,time_interval) print 'Check Rate' result_rate=check_ports_rate_spg(data_old,data_new,result_switch,time_interval,mode,result_rate) data_old=data_new return result_rate
def rate_monitor_spg(): mode='all' time_interval=0.5 data_old=get_all_ports_statics() time.sleep(time_interval) data_new=get_all_ports_statics() result_switch={'Added Port':[],'Deleted Port':[]} result_rate=[] #check_old_ports(data_old,data_new,result,time_interval) print 'Check Rate' result_rate=check_ports_rate_spg(data_old,data_new,result_switch,time_interval,mode,result_rate) data_old=data_new return result_rate
def refresh(self): print 'refresh started' #self.data_old=get_all_ports_statics() #while 1: self.time_interval = 1 self.mode = 'all' #time.sleep(self.time_interval) self.data_new = get_all_ports_statics() self.result_switch = {'Added Port': [], 'Deleted Port': []} self.result_rate = [] self.rates = check_ports_rate_spg(self.data_old, self.data_new, self.result_switch, self.time_interval, self.mode, self.result_rate) for link in self.links: head_rate = self.get_rate(self.rates, link.head, link.head_port) tail_rate = self.get_rate(self.rates, link.head, link.head_port) if head_rate['TX_rate'] != 'none': if tail_rate['RX_rate'] != 'none': link.colorrate( min(head_rate['TX_rate'], tail_rate['RX_rate'])) self.data_old = self.data_new print 'relodad' self.frame_traffic.update_idletasks()
def refresh(self, event): print 'refresh started' self.time_interval = 1 self.mode = 'all' #time.sleep(self.time_interval) self.data_new = get_all_ports_statics() self.result_switch = {'Added Port': [], 'Deleted Port': []} self.result_rate = [] self.rates = check_ports_rate_spg(self.data_old, self.data_new, self.result_switch, self.time_interval, self.mode, self.result_rate) for link in self.links: head_rate = self.get_rate(self.rates, link.head, link.head_port) tail_rate = self.get_rate(self.rates, link.head, link.head_port) if head_rate['TX_rate'] != 'none': if tail_rate['RX_rate'] != 'none': link.colorrate( min(head_rate['TX_rate'], tail_rate['RX_rate'])) self.data_old = self.data_new print 'relodad' thread.start_new_thread(self.auto_triger, ())
def __init__(self, root): self.root = root self.frame_traffic = LabelFrame(self.root, text="Traffic Visualization", font=30) self.frame_traffic.pack() self.refresh_index = 1 self.switch_image = PhotoImage(file="switch.gif") self.height = 600 self.width = 800 self.cv = Canvas(self.frame_traffic, bg='white', height=self.height, width=self.width) self.switches = [] self.links = [] self.data_old = get_all_ports_statics() #add switch self.data = get_topology() self.num_of_links = len(self.data['edgeProperties']) for index in range(self.num_of_links): switch_id_1 = self.data['edgeProperties'][index]['edge'][ 'headNodeConnector']['node']['id'] if check_new_switch(self.switches, switch_id_1) == 0: new_switch_1 = switch(switch_id_1, self.cv, self.switch_image, random.randint(30, 370), random.randint(30, 370)) self.switches.append(new_switch_1) switch_id_2 = self.data['edgeProperties'][index]['edge'][ 'tailNodeConnector']['node']['id'] if check_new_switch(self.switches, switch_id_2) == 0: new_switch_2 = switch(switch_id_2, self.cv, self.switch_image, random.randint(30, 370), random.randint(30, 370)) self.switches.append(new_switch_2) if check_new_link(self.links, switch_id_1, switch_id_2) == 0: print 'creat link' port_1 = self.data['edgeProperties'][index]['edge'][ 'headNodeConnector']['id'] port_2 = self.data['edgeProperties'][index]['edge'][ 'tailNodeConnector']['id'] new_link = link_helper( switch_finder(self.switches, switch_id_1), switch_finder(self.switches, switch_id_2), self.cv, port_1, port_2) self.links.append(new_link) self.cv.pack()
def restart(self): for item in self.switches: self.cv.delete(item.name) for item in self.links: self.cv.delete(item.name) self.switches = [] self.links = [] self.data_old = get_all_ports_statics() #add switch self.data = get_topology() self.num_of_links = len(self.data['edgeProperties']) for index in range(self.num_of_links): switch_id_1 = self.data['edgeProperties'][index]['edge'][ 'headNodeConnector']['node']['id'] if check_new_switch(self.switches, switch_id_1) == 0: new_switch_1 = switch(switch_id_1, self.cv, self.switch_image, random.randint(30, 370), random.randint(30, 370)) self.switches.append(new_switch_1) switch_id_2 = self.data['edgeProperties'][index]['edge'][ 'tailNodeConnector']['node']['id'] if check_new_switch(self.switches, switch_id_2) == 0: new_switch_2 = switch(switch_id_2, self.cv, self.switch_image, random.randint(30, 370), random.randint(30, 370)) self.switches.append(new_switch_2) if check_new_link(self.links, switch_id_1, switch_id_2) == 0: print 'creat link' port_1 = self.data['edgeProperties'][index]['edge'][ 'headNodeConnector']['id'] port_2 = self.data['edgeProperties'][index]['edge'][ 'tailNodeConnector']['id'] new_link = link_helper( switch_finder(self.switches, switch_id_1), switch_finder(self.switches, switch_id_2), self.cv, port_1, port_2) self.links.append(new_link) for switch_t in self.switches: switch_t.draw() self.cv.delete('time') self.time = self.cv.create_text((550, 480), text='Last updated: ' + ctime(), anchor=W, tags='time') self.ini = 1
def loadbalancer_monitor(): time_interval=3 print '===========================================================' print ctime(),'Loading the loadbalancing rules...' print '===========================================================' loadbalancers=loadbalancer_Builder() numoflb=len(loadbalancers) print ctime()+str(numoflb)+'rules Loaded!' print '===========================================================' print ctime(),'LoadBalancer working now!' print '========================Log================================' data_old=get_all_ports_statics() while 1: time.sleep(time_interval) data_new=get_all_ports_statics() result_switch={'Added Port':[],'Deleted Port':[]} #check_old_ports(data_old,data_new,result,time_interval) result_switch=check_ports_rate_lb(data_old,data_new,result_switch,time_interval,loadbalancers) data_old=data_new
def __init__(self): self.root = Tk() self.frame_traffic = LabelFrame(self.root,text="Traffic Visualization",font=30) self.frame_traffic.pack() self.switch_image= PhotoImage(file = "switch.gif") self.start_image=PhotoImage(file = "start.gif") self.height=500 self.width=500 self.cv = Canvas(self.frame_traffic,bg = 'white',height=self.height,width=self.width) self.switches=[] self.links=[] self.data_old=get_all_ports_statics() #start button self.start=self.cv.create_image(64,0,anchor=NE,image=self.start_image,tags='start') self.cv.tag_bind('start',' <Button-1>',self.refresh) self.refresh() #add switch self.data=get_topology() self.num_of_links=len(self.data['edgeProperties']) for index in range(self.num_of_links): switch_id_1=self.data['edgeProperties'][index]['edge']['headNodeConnector']['node']['id'] if check_new_switch(self.switches,switch_id_1)==0: new_switch_1=switch(switch_id_1,self.cv,self.switch_image,random.randint(30,370),random.randint(30,370)) self.switches.append(new_switch_1) switch_id_2=self.data['edgeProperties'][index]['edge']['tailNodeConnector']['node']['id'] if check_new_switch(self.switches,switch_id_2)==0: new_switch_2=switch(switch_id_2,self.cv,self.switch_image,random.randint(30,370),random.randint(30,370)) self.switches.append(new_switch_2) if check_new_link(self.links,switch_id_1,switch_id_2)==0: print 'creat link' port_1=self.data['edgeProperties'][index]['edge']['headNodeConnector']['id'] port_2=self.data['edgeProperties'][index]['edge']['tailNodeConnector']['id'] new_link=link_helper(switch_finder(self.switches,switch_id_1),switch_finder(self.switches,switch_id_2),self.cv,port_1,port_2) self.links.append(new_link) self.cv.pack() self.root.mainloop()
def loadbalancer_monitor(): time_interval = 3 print '===========================================================' print ctime(), 'Loading the loadbalancing rules...' print '===========================================================' loadbalancers = loadbalancer_Builder() numoflb = len(loadbalancers) print ctime() + str(numoflb) + 'rules Loaded!' print '===========================================================' print ctime(), 'LoadBalancer working now!' print '========================Log================================' data_old = get_all_ports_statics() while 1: time.sleep(time_interval) data_new = get_all_ports_statics() result_switch = {'Added Port': [], 'Deleted Port': []} #check_old_ports(data_old,data_new,result,time_interval) result_switch = check_ports_rate_lb(data_old, data_new, result_switch, time_interval, loadbalancers) data_old = data_new
def refresh(self,event): print 'refresh started' self.time_interval=1 self.mode='all' #time.sleep(self.time_interval) self.data_new=get_all_ports_statics() self.result_switch={'Added Port':[],'Deleted Port':[]} self.result_rate=[] self.rates=check_ports_rate_spg(self.data_old,self.data_new,self.result_switch,self.time_interval,self.mode,self.result_rate) for link in self.links: head_rate=self.get_rate(self.rates,link.head,link.head_port) tail_rate=self.get_rate(self.rates,link.head,link.head_port) if head_rate['TX_rate']!='none': if tail_rate['RX_rate']!='none': link.colorrate(min(head_rate['TX_rate'],tail_rate['RX_rate'])) self.data_old=self.data_new print 'relodad' thread.start_new_thread(self.auto_triger,())
def refresh(self): print 'refresh started' #self.data_old=get_all_ports_statics() #while 1: self.time_interval=1 self.mode='all' #time.sleep(self.time_interval) self.data_new=get_all_ports_statics() self.result_switch={'Added Port':[],'Deleted Port':[]} self.result_rate=[] self.rates=check_ports_rate_spg(self.data_old,self.data_new,self.result_switch,self.time_interval,self.mode,self.result_rate) for link in self.links: head_rate=self.get_rate(self.rates,link.head,link.head_port) tail_rate=self.get_rate(self.rates,link.head,link.head_port) if head_rate['TX_rate']!='none': if tail_rate['RX_rate']!='none': link.colorrate(min(head_rate['TX_rate'],tail_rate['RX_rate'])) self.data_old=self.data_new print 'relodad' self.frame_traffic.update_idletasks()
from get_all_ports_statics import get_all_ports_statics from check_old_switches import check_old_switches from check_new_switches import check_new_switches data_old=get_all_ports_statics() print '===========================================================' print 'Port Moniting Started...' print '===================Port changes record===================' while 1: data_new=get_all_ports_statics() result_port={'Added Switch:':[],'Deleted Switch:':[]} result_switch=check_old_switches(data_old,data_new,result_port) data_old=data_new #print result_switch
from get_all_ports_statics import get_all_ports_statics from check_old_switches import check_old_switches from check_new_switches import check_new_switches data_old = get_all_ports_statics() print '===========================================================' print 'Port Moniting Started...' print '===================Port changes record===================' while 1: data_new = get_all_ports_statics() result_switch = {'Added Switch:': [], 'Deleted Switch:': []} result_switch = check_old_switches(data_old, data_new, result_switch) result_switch = check_new_switches(data_old, data_new, result_switch) data_old = data_new #print result_switch