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
Example #2
0
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
Example #11
0
        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,())
Example #14
0
 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()
Example #15
0
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
Example #16
0
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