Merge "Tempest: change way how QoS policies are cleaned"
This commit is contained in:
commit
86d80ee336
@ -118,14 +118,6 @@ class BaseNetworkTest(test.BaseTestCase):
|
||||
@classmethod
|
||||
def resource_cleanup(cls):
|
||||
if CONF.service_available.neutron:
|
||||
# Clean up QoS rules
|
||||
for qos_rule in cls.qos_rules:
|
||||
cls._try_delete_resource(cls.admin_client.delete_qos_rule,
|
||||
qos_rule['id'])
|
||||
# Clean up QoS policies
|
||||
for qos_policy in cls.qos_policies:
|
||||
cls._try_delete_resource(cls.admin_client.delete_qos_policy,
|
||||
qos_policy['id'])
|
||||
# Clean up floating IPs
|
||||
for floating_ip in cls.floating_ips:
|
||||
cls._try_delete_resource(cls.client.delete_floatingip,
|
||||
@ -194,6 +186,17 @@ class BaseNetworkTest(test.BaseTestCase):
|
||||
cls.admin_client.delete_address_scope,
|
||||
address_scope['id'])
|
||||
|
||||
# Clean up QoS rules
|
||||
for qos_rule in cls.qos_rules:
|
||||
cls._try_delete_resource(cls.admin_client.delete_qos_rule,
|
||||
qos_rule['id'])
|
||||
# Clean up QoS policies
|
||||
# as all networks and ports are already removed, QoS policies
|
||||
# shouldn't be "in use"
|
||||
for qos_policy in cls.qos_policies:
|
||||
cls._try_delete_resource(cls.admin_client.delete_qos_policy,
|
||||
qos_policy['id'])
|
||||
|
||||
super(BaseNetworkTest, cls).resource_cleanup()
|
||||
|
||||
@classmethod
|
||||
|
@ -214,11 +214,6 @@ class QosTestJSON(base.BaseAdminNetworkTest):
|
||||
sorted(tuple(expected_rule_type_details_keys)),
|
||||
sorted(tuple(rule_type_details.keys())))
|
||||
|
||||
def _disassociate_network(self, client, network_id):
|
||||
updated_network = client.update_network(network_id,
|
||||
qos_policy_id=None)
|
||||
self.assertIsNone(updated_network['network']['qos_policy_id'])
|
||||
|
||||
@decorators.idempotent_id('65b9ef75-1911-406a-bbdb-ca1d68d528b0')
|
||||
def test_policy_association_with_admin_network(self):
|
||||
policy = self.create_qos_policy(name='test-policy',
|
||||
@ -231,8 +226,6 @@ class QosTestJSON(base.BaseAdminNetworkTest):
|
||||
self.assertEqual(
|
||||
policy['id'], retrieved_network['network']['qos_policy_id'])
|
||||
|
||||
self._disassociate_network(self.admin_client, network['id'])
|
||||
|
||||
@decorators.idempotent_id('1738de5d-0476-4163-9022-5e1b548c208e')
|
||||
def test_policy_association_with_tenant_network(self):
|
||||
policy = self.create_qos_policy(name='test-policy',
|
||||
@ -245,8 +238,6 @@ class QosTestJSON(base.BaseAdminNetworkTest):
|
||||
self.assertEqual(
|
||||
policy['id'], retrieved_network['network']['qos_policy_id'])
|
||||
|
||||
self._disassociate_network(self.client, network['id'])
|
||||
|
||||
@decorators.idempotent_id('9efe63d0-836f-4cc2-b00c-468e63aa614e')
|
||||
def test_policy_association_with_network_nonexistent_policy(self):
|
||||
self.assertRaises(
|
||||
@ -280,13 +271,6 @@ class QosTestJSON(base.BaseAdminNetworkTest):
|
||||
self.assertEqual(
|
||||
policy['id'], retrieved_network['network']['qos_policy_id'])
|
||||
|
||||
self._disassociate_network(self.admin_client, network['id'])
|
||||
|
||||
def _disassociate_port(self, port_id):
|
||||
self.client.update_port(port_id, qos_policy_id=None)
|
||||
updated_port = self.admin_client.show_port(port_id)
|
||||
self.assertIsNone(updated_port['port']['qos_policy_id'])
|
||||
|
||||
@decorators.idempotent_id('98fcd95e-84cf-4746-860e-44692e674f2e')
|
||||
def test_policy_association_with_port_shared_policy(self):
|
||||
policy = self.create_qos_policy(name='test-policy',
|
||||
@ -299,8 +283,6 @@ class QosTestJSON(base.BaseAdminNetworkTest):
|
||||
self.assertEqual(
|
||||
policy['id'], retrieved_port['port']['qos_policy_id'])
|
||||
|
||||
self._disassociate_port(port['id'])
|
||||
|
||||
@decorators.idempotent_id('49e02f5a-e1dd-41d5-9855-cfa37f2d195e')
|
||||
def test_policy_association_with_port_nonexistent_policy(self):
|
||||
network = self.create_shared_network('test network')
|
||||
@ -336,36 +318,27 @@ class QosTestJSON(base.BaseAdminNetworkTest):
|
||||
self.assertEqual(
|
||||
policy['id'], retrieved_port['port']['qos_policy_id'])
|
||||
|
||||
self._disassociate_port(port['id'])
|
||||
|
||||
@decorators.idempotent_id('18163237-8ba9-4db5-9525-bad6d2343c75')
|
||||
def test_delete_not_allowed_if_policy_in_use_by_network(self):
|
||||
policy = self.create_qos_policy(name='test-policy',
|
||||
description='test policy',
|
||||
shared=True)
|
||||
network = self.create_shared_network(
|
||||
'test network', qos_policy_id=policy['id'])
|
||||
self.create_shared_network('test network', qos_policy_id=policy['id'])
|
||||
self.assertRaises(
|
||||
exceptions.Conflict,
|
||||
self.admin_client.delete_qos_policy, policy['id'])
|
||||
|
||||
self._disassociate_network(self.admin_client, network['id'])
|
||||
self.admin_client.delete_qos_policy(policy['id'])
|
||||
|
||||
@decorators.idempotent_id('24153230-84a9-4dd5-9525-bad6d2343c75')
|
||||
def test_delete_not_allowed_if_policy_in_use_by_port(self):
|
||||
policy = self.create_qos_policy(name='test-policy',
|
||||
description='test policy',
|
||||
shared=True)
|
||||
network = self.create_shared_network('test network')
|
||||
port = self.create_port(network, qos_policy_id=policy['id'])
|
||||
self.create_port(network, qos_policy_id=policy['id'])
|
||||
self.assertRaises(
|
||||
exceptions.Conflict,
|
||||
self.admin_client.delete_qos_policy, policy['id'])
|
||||
|
||||
self._disassociate_port(port['id'])
|
||||
self.admin_client.delete_qos_policy(policy['id'])
|
||||
|
||||
@decorators.idempotent_id('a2a5849b-dd06-4b18-9664-0b6828a1fc27')
|
||||
def test_qos_policy_delete_with_rules(self):
|
||||
policy = self.create_qos_policy(name='test-policy',
|
||||
@ -404,8 +377,6 @@ class QosTestJSON(base.BaseAdminNetworkTest):
|
||||
is_default=True)
|
||||
network = self.create_network('test network', client=self.admin_client,
|
||||
project_id=project_id)
|
||||
self.addCleanup(self._disassociate_network,
|
||||
self.admin_client, network['id'])
|
||||
retrieved_network = self.admin_client.show_network(network['id'])
|
||||
self.assertEqual(
|
||||
policy['id'], retrieved_network['network']['qos_policy_id'])
|
||||
@ -421,8 +392,6 @@ class QosTestJSON(base.BaseAdminNetworkTest):
|
||||
network = self.create_network('test network', client=self.admin_client,
|
||||
project_id=project_id,
|
||||
qos_policy_id=policy['id'])
|
||||
self.addCleanup(self._disassociate_network,
|
||||
self.admin_client, network['id'])
|
||||
retrieved_network = self.admin_client.show_network(network['id'])
|
||||
self.assertEqual(
|
||||
policy['id'], retrieved_network['network']['qos_policy_id'])
|
||||
|
Loading…
x
Reference in New Issue
Block a user