Merge "Improve security policy update rules with transactions"

This commit is contained in:
Zuul 2020-06-29 15:21:04 +00:00 committed by Gerrit Code Review
commit ab15365c2e
2 changed files with 8 additions and 5 deletions

View File

@ -456,10 +456,7 @@ class TestPolicyTransaction(policy_testcase.TestPolicyApi):
dfw_rule1['display_name'] = new_rule_name dfw_rule1['display_name'] = new_rule_name
dfw_rule1['direction'] = new_direction dfw_rule1['direction'] = new_direction
child_rules = [{'resource_type': 'ChildRule', 'Rule': dfw_rule1}, security_policy['rules'] = copy.deepcopy([dfw_rule1, dfw_rule2])
{'resource_type': 'ChildRule', 'Rule': dfw_rule2,
'marked_for_delete': True}]
security_policy.update({'children': child_rules})
child_security_policies = [{ child_security_policies = [{
'resource_type': 'ChildSecurityPolicy', 'resource_type': 'ChildSecurityPolicy',
'SecurityPolicy': security_policy 'SecurityPolicy': security_policy

View File

@ -3626,7 +3626,13 @@ class NsxPolicySecurityPolicyBaseApi(NsxPolicyResourceBase):
map_def.set_obj_dict(comm_map) map_def.set_obj_dict(comm_map)
# Update the entire map at the NSX # Update the entire map at the NSX
if transaction: if transaction:
self._create_or_store(map_def, replaced_entries) 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)
else: else:
body = map_def.get_obj_dict() body = map_def.get_obj_dict()
if not ignore_entries: if not ignore_entries: