Merge "Delete network quotas"
This commit is contained in:
commit
c34a0599fd
tempest
@ -362,6 +362,25 @@ class NovaQuotaService(BaseService):
|
||||
self.data['compute_quotas'] = quotas['absolute']
|
||||
|
||||
|
||||
class NetworkQuotaService(BaseService):
|
||||
def __init__(self, manager, **kwargs):
|
||||
super(NetworkQuotaService, self).__init__(kwargs)
|
||||
self.client = manager.network_quotas_client
|
||||
|
||||
def delete(self):
|
||||
client = self.client
|
||||
try:
|
||||
client.reset_quotas(self.project_id)
|
||||
except Exception:
|
||||
LOG.exception("Delete Network Quotas exception for 'project %s'.",
|
||||
self.project_id)
|
||||
|
||||
def dry_run(self):
|
||||
resp = [quota for quota in self.client.list_quotas()['quotas']
|
||||
if quota['project_id'] == self.project_id]
|
||||
self.data['network_quotas'] = resp
|
||||
|
||||
|
||||
# Begin network service classes
|
||||
class BaseNetworkService(BaseService):
|
||||
def __init__(self, manager, **kwargs):
|
||||
@ -1048,6 +1067,7 @@ def get_resource_cleanup_services():
|
||||
resource_cleanup_services.append(NetworkService)
|
||||
resource_cleanup_services.append(NetworkSecGroupService)
|
||||
resource_cleanup_services.append(NetworkSubnetPoolsService)
|
||||
resource_cleanup_services.append(NetworkQuotaService)
|
||||
if IS_CINDER:
|
||||
resource_cleanup_services.append(SnapshotService)
|
||||
resource_cleanup_services.append(VolumeService)
|
||||
|
@ -196,6 +196,7 @@ class BaseCmdServiceTests(MockFunctionsBase):
|
||||
is_save_state=is_save_state,
|
||||
is_preserve=is_preserve,
|
||||
is_dry_run=is_dry_run,
|
||||
project_id='b8e3ece07bb049138d224436756e3b57',
|
||||
data={},
|
||||
saved_state_json=self.saved_state
|
||||
)
|
||||
@ -533,6 +534,135 @@ class TestVolumeService(BaseCmdServiceTests):
|
||||
self._test_saved_state_true([(self.get_method, self.response, 200)])
|
||||
|
||||
|
||||
class TestVolumeQuotaService(BaseCmdServiceTests):
|
||||
|
||||
service_class = 'VolumeQuotaService'
|
||||
service_name = 'volume_quota_service'
|
||||
response = {
|
||||
"quota_set": {
|
||||
"groups":
|
||||
{"reserved": 0, "limit": 10, "in_use": 0},
|
||||
"per_volume_gigabytes":
|
||||
{"reserved": 0, "limit": -1, "in_use": 0},
|
||||
"volumes":
|
||||
{"reserved": 0, "limit": 10, "in_use": 0},
|
||||
"gigabytes":
|
||||
{"reserved": 0, "limit": 1000, "in_use": 0},
|
||||
"backup_gigabytes":
|
||||
{"reserved": 0, "limit": 1000, "in_use": 0},
|
||||
"snapshots":
|
||||
{"reserved": 0, "limit": 10, "in_use": 0},
|
||||
"volumes_iscsi":
|
||||
{"reserved": 0, "limit": -1, "in_use": 0},
|
||||
"snapshots_iscsi":
|
||||
{"reserved": 0, "limit": -1, "in_use": 0},
|
||||
"backups":
|
||||
{"reserved": 0, "limit": 10, "in_use": 0},
|
||||
"gigabytes_iscsi":
|
||||
{"reserved": 0, "limit": -1, "in_use": 0},
|
||||
"id": "b8e3ece07bb049138d224436756e3b57"
|
||||
}
|
||||
}
|
||||
|
||||
def test_delete_fail(self):
|
||||
delete_mock = [(self.delete_method, 'error', None),
|
||||
(self.log_method, 'exception', None)]
|
||||
self._test_delete(delete_mock, fail=True)
|
||||
|
||||
def test_delete_pass(self):
|
||||
delete_mock = [(self.delete_method, None, 200),
|
||||
(self.log_method, 'exception', None)]
|
||||
self._test_delete(delete_mock)
|
||||
|
||||
def test_dry_run(self):
|
||||
dry_mock = [(self.get_method, self.response, 200),
|
||||
(self.delete_method, "delete", None)]
|
||||
self._test_dry_run_true(dry_mock)
|
||||
|
||||
|
||||
class TestNovaQuotaService(BaseCmdServiceTests):
|
||||
|
||||
service_class = 'NovaQuotaService'
|
||||
service_name = 'nova_quota_service'
|
||||
response = {
|
||||
"limits": {
|
||||
"rate": [],
|
||||
"absolute": {
|
||||
"maxServerMeta": 128,
|
||||
"maxPersonality": 5,
|
||||
"totalServerGroupsUsed": 0,
|
||||
"maxImageMeta": 128,
|
||||
"maxPersonalitySize": 10240,
|
||||
"maxTotalKeypairs": 100,
|
||||
"maxSecurityGroupRules": 20,
|
||||
"maxServerGroups": 10,
|
||||
"totalCoresUsed": 0,
|
||||
"totalRAMUsed": 0,
|
||||
"totalInstancesUsed": 0,
|
||||
"maxSecurityGroups": 10,
|
||||
"totalFloatingIpsUsed": 0,
|
||||
"maxTotalCores": 20,
|
||||
"maxServerGroupMembers": 10,
|
||||
"maxTotalFloatingIps": 10,
|
||||
"totalSecurityGroupsUsed": 0,
|
||||
"maxTotalInstances": 10,
|
||||
"maxTotalRAMSize": 51200
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def test_delete_fail(self):
|
||||
delete_mock = [(self.delete_method, 'error', None),
|
||||
(self.log_method, 'exception', None)]
|
||||
self._test_delete(delete_mock, fail=True)
|
||||
|
||||
def test_delete_pass(self):
|
||||
delete_mock = [(self.delete_method, None, 202),
|
||||
(self.log_method, 'exception', None)]
|
||||
self._test_delete(delete_mock)
|
||||
|
||||
def test_dry_run(self):
|
||||
dry_mock = [(self.get_method, self.response, 200),
|
||||
(self.delete_method, "delete", None)]
|
||||
self._test_dry_run_true(dry_mock)
|
||||
|
||||
|
||||
class TestNetworkQuotaService(BaseCmdServiceTests):
|
||||
|
||||
service_class = 'NetworkQuotaService'
|
||||
service_name = 'network_quota_service'
|
||||
response = {
|
||||
"quotas": [{
|
||||
"subnet": 110,
|
||||
"network": 100,
|
||||
"floatingip": 50,
|
||||
"tenant_id": "81e8490db559474dacb2212fca9cca2d",
|
||||
"subnetpool": -1,
|
||||
"security_group_rule": 100,
|
||||
"trunk": -1,
|
||||
"security_group": 10,
|
||||
"router": 10,
|
||||
"rbac_policy": 10, "project_id":
|
||||
"81e8490db559474dacb2212fca9cca2d", "port": 500
|
||||
}]
|
||||
}
|
||||
|
||||
def test_delete_fail(self):
|
||||
delete_mock = [(self.delete_method, 'error', None),
|
||||
(self.log_method, 'exception', None)]
|
||||
self._test_delete(delete_mock, fail=True)
|
||||
|
||||
def test_delete_pass(self):
|
||||
delete_mock = [(self.delete_method, None, 204),
|
||||
(self.log_method, 'exception', None)]
|
||||
self._test_delete(delete_mock)
|
||||
|
||||
def test_dry_run(self):
|
||||
dry_mock = [(self.get_method, self.response, 200),
|
||||
(self.delete_method, "delete", None)]
|
||||
self._test_dry_run_true(dry_mock)
|
||||
|
||||
|
||||
# Begin network service classes
|
||||
class TestNetworkService(BaseCmdServiceTests):
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user