Пример #1
0
    def get_reload_check_flow(self, vthunder, store):
        """Perform write memory for thunder """
        sf_name = 'a10-house-keeper' + '-' + a10constants.RELOAD_CHECK_THUNDER_FLOW

        reload_check_flow = linear_flow.Flow(sf_name)
        vthunder_store = {}
        vthunder_store[vthunder.vthunder_id] = vthunder
        reload_check_flow.add(
            a10_database_tasks.GetActiveLoadBalancersByThunder(
                requires=a10constants.VTHUNDER,
                rebind={a10constants.VTHUNDER: vthunder.vthunder_id},
                name='{flow}-{id}'.format(
                    id=vthunder.vthunder_id,
                    flow='GetActiveLoadBalancersByThunder'),
                provides=a10constants.LOADBALANCERS_LIST))
        reload_check_flow.add(
            vthunder_tasks.WriteMemoryThunderStatusCheck(
                name='{flow}-{id}'.format(
                    id=vthunder.vthunder_id,
                    flow='WriteMemoryThunderStatusCheck'),
                requires=(a10constants.VTHUNDER,
                          a10constants.LOADBALANCERS_LIST),
                rebind={a10constants.VTHUNDER: vthunder.vthunder_id}))

        store.update(vthunder_store)
        return reload_check_flow
Пример #2
0
    def get_write_memory_flow(self, vthunder, store):
        """Perform write memory for thunder """
        sf_name = 'a10-house-keeper' + '-' + a10constants.WRITE_MEMORY_THUNDER_FLOW

        write_memory_flow = linear_flow.Flow(sf_name)
        vthunder_store = {}
        vthunder_store[vthunder.vthunder_id] = vthunder
        write_memory_flow.add(
            a10_database_tasks.GetActiveLoadBalancersByThunder(
                requires=a10constants.VTHUNDER,
                rebind={a10constants.VTHUNDER: vthunder.vthunder_id},
                name='{flow}-{id}'.format(
                    id=vthunder.vthunder_id,
                    flow='GetActiveLoadBalancersByThunder'),
                provides=a10constants.LOADBALANCERS_LIST))
        write_memory_flow.add(
            a10_database_tasks.MarkLoadBalancersPendingUpdateInDB(
                name='{flow}-{id}'.format(
                    id=vthunder.vthunder_id,
                    flow='MarkLoadBalancersPendingUpdateInDB'),
                requires=a10constants.LOADBALANCERS_LIST))
        write_memory_flow.add(
            vthunder_tasks.WriteMemoryHouseKeeper(
                requires=(a10constants.VTHUNDER,
                          a10constants.LOADBALANCERS_LIST,
                          a10constants.WRITE_MEM_SHARED_PART),
                rebind={a10constants.VTHUNDER: vthunder.vthunder_id},
                name='{flow}-{partition}-{id}'.format(
                    id=vthunder.vthunder_id,
                    flow='WriteMemory-' +
                    a10constants.WRITE_MEMORY_THUNDER_FLOW,
                    partition=a10constants.WRITE_MEM_FOR_SHARED_PARTITION),
                provides=a10constants.WRITE_MEM_SHARED))
        write_memory_flow.add(
            vthunder_tasks.WriteMemoryHouseKeeper(
                requires=(a10constants.VTHUNDER,
                          a10constants.LOADBALANCERS_LIST),
                rebind={a10constants.VTHUNDER: vthunder.vthunder_id},
                name='{flow}-{partition}-{id}'.format(
                    id=vthunder.vthunder_id,
                    flow='WriteMemory-' +
                    a10constants.WRITE_MEMORY_THUNDER_FLOW,
                    partition=a10constants.WRITE_MEM_FOR_LOCAL_PARTITION),
                provides=a10constants.WRITE_MEM_PRIVATE))
        write_memory_flow.add(
            a10_database_tasks.SetThunderLastWriteMem(
                requires=(a10constants.VTHUNDER, a10constants.WRITE_MEM_SHARED,
                          a10constants.WRITE_MEM_PRIVATE),
                rebind={a10constants.VTHUNDER: vthunder.vthunder_id},
                name='{flow}-{id}'.format(id=vthunder.vthunder_id,
                                          flow='SetThunderLastWriteMem')))
        write_memory_flow.add(
            a10_database_tasks.MarkLoadBalancersActiveInDB(
                name='{flow}-{id}'.format(id=vthunder.vthunder_id,
                                          flow='MarkLoadBalancersActiveInDB'),
                requires=a10constants.LOADBALANCERS_LIST))

        store.update(vthunder_store)
        return write_memory_flow
Пример #3
0
 def test_GetActiveLoadBalancersByThunder_return_list(self):
     lb_task = task.GetActiveLoadBalancersByThunder()
     vthunder = copy.deepcopy(VTHUNDER)
     vthunder.loadbalancer_id = a10constants.MOCK_LOAD_BALANCER_ID
     lb_task.loadbalancer_repo.get_active_lbs_by_thunder = mock.Mock()
     lb_task.loadbalancer_repo.get_active_lbs_by_thunder.return_value = [LB]
     lb_list = lb_task.execute(vthunder)
     self.assertEqual(len(lb_list), 1)