From 20be39875a1a647be8839dce5d0a3a8a79ee801b Mon Sep 17 00:00:00 2001 From: Magesh GV Date: Sat, 1 Nov 2014 01:17:59 +0530 Subject: [PATCH] Cleanup of Group Policy Redirect Action Fixing the cleanup logic for Redirect Action Change-Id: I7ab31d04e97a11c1c2bf649677cc206900b96bf2 closes-bug:1388236 --- .../grouppolicy/drivers/resource_mapping.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gbp/neutron/services/grouppolicy/drivers/resource_mapping.py b/gbp/neutron/services/grouppolicy/drivers/resource_mapping.py index 229d8f8c4..80d48aaed 100644 --- a/gbp/neutron/services/grouppolicy/drivers/resource_mapping.py +++ b/gbp/neutron/services/grouppolicy/drivers/resource_mapping.py @@ -746,7 +746,7 @@ class ResourceMappingDriver(api.PolicyDriver): def _cleanup_redirect_action(self, context): consumed_contracts = context.current['consumed_contracts'] provided_contracts = context.current['provided_contracts'] - if not provided_contracts or not consumed_contracts: + if not provided_contracts and not consumed_contracts: return contracts = provided_contracts + consumed_contracts for contract_id in contracts: @@ -762,13 +762,12 @@ class ResourceMappingDriver(api.PolicyDriver): contract = context._plugin.get_contract( context._plugin_context, contract_id) for rule_id in contract.get('policy_rules'): - chain_id = self._get_rule_servicechain_mapping( + chain_id_map = self._get_rule_servicechain_mapping( context._plugin_context.session, - rule_id).servicechain_instance_id - if not chain_id: - continue - else: - self._delete_servicechain_instance(context, chain_id) + rule_id) + if chain_id_map: + self._delete_servicechain_instance( + context, chain_id_map.servicechain_instance_id) break # Only one redirect action per rule # The following methods perform the necessary subset of