diff --git a/vmware_nsxlib/tests/unit/v3/policy/test_transaction.py b/vmware_nsxlib/tests/unit/v3/policy/test_transaction.py index 38b87a30..091ca9b1 100644 --- a/vmware_nsxlib/tests/unit/v3/policy/test_transaction.py +++ b/vmware_nsxlib/tests/unit/v3/policy/test_transaction.py @@ -454,7 +454,10 @@ class TestPolicyTransaction(policy_testcase.TestPolicyApi): dfw_rule1['display_name'] = new_rule_name dfw_rule1['direction'] = new_direction - security_policy['rules'] = copy.deepcopy([dfw_rule1, dfw_rule2]) + child_rules = [{'resource_type': 'ChildRule', 'Rule': dfw_rule1}, + {'resource_type': 'ChildRule', 'Rule': dfw_rule2, + 'marked_for_delete': True}] + security_policy.update({'children': child_rules}) child_security_policies = [{ 'resource_type': 'ChildSecurityPolicy', 'SecurityPolicy': security_policy diff --git a/vmware_nsxlib/v3/policy/core_resources.py b/vmware_nsxlib/v3/policy/core_resources.py index 5c2e6aad..8965efeb 100644 --- a/vmware_nsxlib/v3/policy/core_resources.py +++ b/vmware_nsxlib/v3/policy/core_resources.py @@ -3535,13 +3535,7 @@ class NsxPolicySecurityPolicyBaseApi(NsxPolicyResourceBase): map_def.set_obj_dict(comm_map) # Update the entire map at the NSX if transaction: - if not ignore_entries: - # Add the rules under the map and not as ChileRules for - # improved performance on the NSX side - comm_map['rules'] = [rule.get_obj_dict() for rule in - replaced_entries] - map_def.set_obj_dict(comm_map) - self._create_or_store(map_def) + self._create_or_store(map_def, replaced_entries) else: body = map_def.get_obj_dict() if not ignore_entries: