def test_DeleteMemberVRIDPort_member_count_lb_count(self): mock_network_task = a10_network_tasks.DeleteVRIDPort() mock_network_task.axapi_client = self.client_mock result = mock_network_task.execute(VTHUNDER, [VRID_1], SUBNET_1, 1, 1) self.network_driver_mock.delete_port.assert_not_called() self.client_mock.vrrpa.delete.assert_not_called() self.assertEqual(result, (None, False))
def delete_multi_vrid_port_against_all_subnet_used(self): mock_network_task = a10_network_tasks.DeleteVRIDPort() vrid = copy.deepcopy(VRID_1) vrid.vrid_port_id = a10constants.MOCK_VRRP_PORT_ID vrid.vrid = VRID_VALUE mock_network_task.axapi_client = self.client_mock result = mock_network_task.execute(VTHUNDER, [vrid], []) self.network_driver_mock.delete_port.assert_not_called() self.client_mock.vrrpa.update.assert_not_called() self.assertEqual(result, None)
def test_DeleteMemberVRIDPort_delete_vrid_ip_member_count_equals_one(self): mock_network_task = a10_network_tasks.DeleteVRIDPort() vrid = copy.deepcopy(VRID_1) vrid.vrid_port_id = a10constants.MOCK_VRRP_PORT_ID vrid.vrid = VRID_VALUE mock_network_task.axapi_client = self.client_mock result = mock_network_task.execute(VTHUNDER, [vrid], SUBNET_1, 0, 1) self.network_driver_mock.delete_port.assert_called_with( a10constants.MOCK_VRRP_PORT_ID) self.client_mock.vrrpa.update.assert_called_with(vrid.vrid, floating_ips=[]) self.assertEqual(result, (vrid, True))
def get_delete_member_vrid_subflow(self): delete_member_vrid_subflow = linear_flow.Flow( a10constants.DELETE_MEMBER_VRID_SUBFLOW) delete_member_vrid_subflow.add( a10_network_tasks.GetLBResourceSubnet( rebind={a10constants.LB_RESOURCE: constants.MEMBER}, provides=constants.SUBNET)) delete_member_vrid_subflow.add( a10_database_tasks.GetChildProjectsOfParentPartition( rebind={a10constants.LB_RESOURCE: constants.MEMBER}, provides=a10constants.PARTITION_PROJECT_LIST)) delete_member_vrid_subflow.add( a10_database_tasks.CountLoadbalancersInProjectBySubnet( requires=[ constants.SUBNET, a10constants.PARTITION_PROJECT_LIST, a10constants.USE_DEVICE_FLAVOR ], provides=a10constants.LB_COUNT_SUBNET)) delete_member_vrid_subflow.add( a10_database_tasks.CountLoadbalancersOnThunderBySubnet( requires=[ a10constants.VTHUNDER, constants.SUBNET, a10constants.USE_DEVICE_FLAVOR ], provides=a10constants.LB_COUNT_THUNDER)) delete_member_vrid_subflow.add( a10_database_tasks.CountMembersInProjectBySubnet( requires=[ constants.SUBNET, a10constants.PARTITION_PROJECT_LIST ], provides=a10constants.MEMBER_COUNT)) delete_member_vrid_subflow.add( a10_database_tasks.GetVRIDForLoadbalancerResource( requires=[ a10constants.PARTITION_PROJECT_LIST, a10constants.VTHUNDER, constants.LOADBALANCER ], provides=a10constants.VRID_LIST)) delete_member_vrid_subflow.add( a10_network_tasks.DeleteVRIDPort( requires=[ a10constants.VTHUNDER, a10constants.VRID_LIST, constants.SUBNET, a10constants.USE_DEVICE_FLAVOR, a10constants.LB_COUNT_SUBNET, a10constants.MEMBER_COUNT, a10constants.LB_COUNT_THUNDER, a10constants.MEMBER_COUNT_THUNDER ], rebind={a10constants.LB_RESOURCE: constants.MEMBER}, provides=(a10constants.VRID, a10constants.DELETE_VRID))) delete_member_vrid_subflow.add( a10_database_tasks.DeleteVRIDEntry( requires=[a10constants.VRID, a10constants.DELETE_VRID])) return delete_member_vrid_subflow
def delete_multi_vrid_port_against_subnet_not_used(self): mock_network_task = a10_network_tasks.DeleteVRIDPort() vrid = copy.deepcopy(VRID_1) vrid.vrid_port_id = a10constants.MOCK_VRRP_PORT_ID vrid.vrid = VRID_VALUE mock_network_task.axapi_client = self.client_mock result = mock_network_task.execute(VTHUNDER, [vrid], [SUBNET_1]) self.network_driver_mock.delete_port.assert_called_with( a10constants.MOCK_VRRP_PORT_ID) self.client_mock.vrrpa.update.assert_called_with(vrid.vrid, floating_ips=[], is_partiton=False) self.assertEqual(result, [])
def test_DeleteMemberVRIDPort_delete_vrid_ip_member_count_equals_one( self, mock_utils): mock_network_task = a10_network_tasks.DeleteVRIDPort() vrid = copy.deepcopy(VRID_1) vrid.vrid_port_id = a10constants.MOCK_VRRP_PORT_ID vrid.vrid = VRID_VALUE mock_network_task.axapi_client = self.client_mock self.client_mock.vrrpa.get.return_value = EXISTING_FIP_SHARED_PARTITION result = mock_network_task.execute(VTHUNDER, [vrid], SUBNET_1, False, 0, 1, 0, 0, MEMBER) self.network_driver_mock.deallocate_vrid_fip.assert_called_with( vrid, mock.ANY, mock.ANY) self.client_mock.vrrpa.update.assert_called_with(vrid.vrid, floating_ips=[]) self.assertEqual(result, (vrid, True))