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))
Exemplo n.º 4
0
 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))