def _uve_get_stats(stats):
    obj_stats = UveLoadbalancerStats()
    obj_stats.obj_name = stats['name']
    obj_stats.uuid = stats['name']
    obj_stats.status = stats['status']

    for attr in dir(obj_stats):
        if attr in stats and stats[attr].isdigit():
            setattr(obj_stats, attr, int(stats[attr]))

    return [obj_stats]
def _uve_get_member_stats(stats):
    member_stats = []
    for stat in stats:
        obj_stats = UveLoadbalancerStats()
        obj_stats.obj_name = stat['name']
        obj_stats.uuid = stat['name']
        obj_stats.status = stat['status']
        for attr in dir(obj_stats):
            if attr in stat and stat[attr].isdigit():
                setattr(obj_stats, attr, int(stat[attr]))
        member_stats.append(obj_stats)
    return member_stats
    def _uve_get_stats(self, stats):
        obj_stats = UveLoadbalancerStats()
        obj_stats.obj_name = stats['name']
        obj_stats.uuid = stats['name']
        obj_stats.status = stats['status']
        obj_stats.vrouter = stats['vrouter']

        for attr in dir(obj_stats):
            if attr in stats and stats[attr].isdigit():
                setattr(obj_stats, attr, int(stats[attr]))

        return [obj_stats]
 def _uve_get_member_stats(self, stats):
     member_stats = []
     for stat in stats:
         obj_stats = UveLoadbalancerStats()
         obj_stats.obj_name = stat['name']
         obj_stats.uuid = stat['name']
         obj_stats.status = stat['status']
         obj_stats.vrouter = stat['vrouter']
         for attr in dir(obj_stats):
             if attr in stat and stat[attr].isdigit():
                 setattr(obj_stats, attr, int(stat[attr]))
         member_stats.append(obj_stats)
     return member_stats
Esempio n. 5
0
    def _send_loadbalancer_uve(self):
        try:
            pool_uuids = os.listdir(self.driver.lbaas_dir)
        except OSError:
            return

        # delete stale uves
        for pool_uuid in self.old_pool_uuids:
            if pool_uuid not in pool_uuids:
                uve_lb = UveLoadbalancerStats(name=pool_uuid, deleted=True)
                uve_lb.listener = {}
                uve_lb.pool = {}
                uve_lb.member = {}
                uve_trace = UveLoadbalancerTrace(data=uve_lb)
                uve_trace.send()
        self.old_pool_uuids = pool_uuids

        # send stats
        for pool_uuid in pool_uuids:
            lb_stats = self.driver.get_stats(pool_uuid)
            if not 'listener' in lb_stats or not len(lb_stats['listener']):
                uve_lb = UveLoadbalancerStats(name=pool_uuid, deleted=True)
                uve_lb.listener = {}
                uve_lb.pool = {}
                uve_lb.member = {}
                uve_trace = UveLoadbalancerTrace(data=uve_lb)
                uve_trace.send()
                continue

            uve_lb = UveLoadbalancerStats()
            uve_lb.name = pool_uuid
            uve_lb.listener = {}
            uve_lb.pool = {}
            uve_lb.member = {}
            count = 0
            total_items = len(lb_stats['listener'])
            while (total_items > count):
                lb_stat = lb_stats['listener'][count]
                name = lb_stat['name']
                value = self._uve_get_stats(lb_stat)
                uve_lb.listener[name] = value
                count = count + 1
            count = 0
            total_items = len(lb_stats['pool'])
            while (total_items > count):
                lb_stat = lb_stats['pool'][count]
                name = lb_stat['name']
                value = self._uve_get_stats(lb_stat)
                uve_lb.pool[name] = value
                count = count + 1
            count = 0
            total_items = len(lb_stats['member'])
            while (total_items > count):
                lb_stat = lb_stats['member'][count]
                name = lb_stat['name']
                value = self._uve_get_stats(lb_stat)
                uve_lb.member[name] = value
                count = count + 1
            uve_trace = UveLoadbalancerTrace(data=uve_lb)
            uve_trace.send()
    def _send_loadbalancer_uve(self):
        try:
            pool_uuids = os.listdir(self.driver.lbaas_dir)
        except OSError:
            return

        # delete stale uves
        for pool_uuid in self.old_pool_uuids:
            if pool_uuid not in pool_uuids:
                uve_lb = UveLoadbalancerStats(name=pool_uuid, deleted=True)
                uve_lb.listener = {}
                uve_lb.pool = {}
                uve_lb.member = {}
                uve_trace = UveLoadbalancerTrace(data=uve_lb)
                uve_trace.send()
        self.old_pool_uuids = pool_uuids

        # send stats
        for pool_uuid in pool_uuids:
            lb_stats = self.driver.get_stats(pool_uuid)
            if not 'listener' in lb_stats or not len(lb_stats['listener']):
                uve_lb = UveLoadbalancerStats(name=pool_uuid, deleted=True)
                uve_lb.listener = {}
                uve_lb.pool = {}
                uve_lb.member = {}
                uve_trace = UveLoadbalancerTrace(data=uve_lb)
                uve_trace.send()
                continue

            uve_lb = UveLoadbalancerStats()
            uve_lb.name = pool_uuid
            uve_lb.listener = {}
            uve_lb.pool = {}
            uve_lb.member = {}
            count = 0
            total_items = len(lb_stats['listener'])
            while (total_items > count):
                lb_stat = lb_stats['listener'][count]
                name = lb_stat['name']
                value = self._uve_get_stats(lb_stat)
                uve_lb.listener[name] = value
                count = count + 1
            count = 0
            total_items = len(lb_stats['pool'])
            while (total_items > count):
                lb_stat = lb_stats['pool'][count]
                name = lb_stat['name']
                value = self._uve_get_stats(lb_stat)
                uve_lb.pool[name] = value
                count = count + 1
            count = 0
            total_items = len(lb_stats['member'])
            while (total_items > count):
                lb_stat = lb_stats['member'][count]
                name = lb_stat['name']
                value = self._uve_get_stats(lb_stat)
                uve_lb.member[name] = value
                count = count + 1
            uve_trace = UveLoadbalancerTrace(data=uve_lb)
            uve_trace.send()