Allow Transaction for Policy IP Pool Deletion
This patch allows IP Pool to be deleted with transaction, so that the IP
pool can be removed with its child resources (i.e. pool subnets, ip
allocations) in one API call.
Change-Id: I873f7b714a313ff5b512a3898aedab9bd805163b
(cherry picked from commit cf25fb0923
)
This commit is contained in:
parent
3c8fee6a47
commit
16171471f6
|
@ -164,6 +164,21 @@ class TestPolicyTransaction(policy_testcase.TestPolicyApi):
|
||||||
|
|
||||||
self.assert_infra_patch_call(expected_body)
|
self.assert_infra_patch_call(expected_body)
|
||||||
|
|
||||||
|
def test_ip_address_pool_delete(self):
|
||||||
|
|
||||||
|
pool = {'id': 'pool1',
|
||||||
|
'resource_type': 'IpAddressPool'}
|
||||||
|
|
||||||
|
with trans.NsxPolicyTransaction():
|
||||||
|
self.policy_lib.ip_pool.delete(ip_pool_id=pool['id'])
|
||||||
|
|
||||||
|
expected_body = {'resource_type': 'Infra',
|
||||||
|
'children': [{'resource_type': 'ChildIpAddressPool',
|
||||||
|
'IpAddressPool': pool,
|
||||||
|
'marked_for_delete': True}]}
|
||||||
|
|
||||||
|
self.assert_infra_patch_call(expected_body)
|
||||||
|
|
||||||
def test_groups_only(self):
|
def test_groups_only(self):
|
||||||
|
|
||||||
g1 = {'resource_type': 'Group', 'id': 'group1',
|
g1 = {'resource_type': 'Group', 'id': 'group1',
|
||||||
|
|
|
@ -3222,7 +3222,7 @@ class NsxPolicyIpPoolApi(NsxPolicyResourceBase):
|
||||||
def delete(self, ip_pool_id, tenant=constants.POLICY_INFRA_TENANT):
|
def delete(self, ip_pool_id, tenant=constants.POLICY_INFRA_TENANT):
|
||||||
ip_pool_def = self.entry_def(ip_pool_id=ip_pool_id,
|
ip_pool_def = self.entry_def(ip_pool_id=ip_pool_id,
|
||||||
tenant=tenant)
|
tenant=tenant)
|
||||||
self._delete_with_retry(ip_pool_def)
|
self._delete_or_store(ip_pool_def)
|
||||||
|
|
||||||
def get(self, ip_pool_id, tenant=constants.POLICY_INFRA_TENANT,
|
def get(self, ip_pool_id, tenant=constants.POLICY_INFRA_TENANT,
|
||||||
silent=False):
|
silent=False):
|
||||||
|
|
Loading…
Reference in New Issue