Merge "Remove double StaleRevision handling from FW rules"

This commit is contained in:
Zuul 2019-05-29 05:48:33 +00:00 committed by Gerrit Code Review
commit 75506f4baf

View File

@ -469,30 +469,22 @@ class NsxLibFirewallSection(utils.NsxLibApiBase):
return rule_dict return rule_dict
def add_rule(self, rule, section_id, operation=consts.FW_INSERT_BOTTOM): def add_rule(self, rule, section_id, operation=consts.FW_INSERT_BOTTOM):
@utils.retry_upon_exception(exceptions.StaleRevision, resource = '%s/rules' % self.get_path(section_id)
max_attempts=self.client.max_attempts) params = '?operation=%s' % operation
def do_add_rule(): if (version.LooseVersion(self.nsxlib.get_version()) >=
resource = '%s/rules' % self.get_path(section_id) version.LooseVersion(consts.NSX_VERSION_2_4_0)):
params = '?operation=%s' % operation rule['_revision'] = self.get(section_id)['_revision']
if (version.LooseVersion(self.nsxlib.get_version()) >= return self._create_with_retry(resource + params, rule)
version.LooseVersion(consts.NSX_VERSION_2_4_0)):
rule['_revision'] = self.get(section_id)['_revision']
return self._create_with_retry(resource + params, rule)
return do_add_rule()
def add_rules(self, rules, section_id, operation=consts.FW_INSERT_BOTTOM): def add_rules(self, rules, section_id, operation=consts.FW_INSERT_BOTTOM):
@utils.retry_upon_exception(exceptions.StaleRevision, resource = '%s/rules' % self.get_path(section_id)
max_attempts=self.client.max_attempts) params = '?action=create_multiple&operation=%s' % operation
def do_add_rules(): if (version.LooseVersion(self.nsxlib.get_version()) >=
resource = '%s/rules' % self.get_path(section_id) version.LooseVersion(consts.NSX_VERSION_2_4_0)):
params = '?action=create_multiple&operation=%s' % operation rev_id = self.get(section_id)['_revision']
if (version.LooseVersion(self.nsxlib.get_version()) >= for rule in rules:
version.LooseVersion(consts.NSX_VERSION_2_4_0)): rule['_revision'] = rev_id
rev_id = self.get(section_id)['_revision'] return self._create_with_retry(resource + params, {'rules': rules})
for rule in rules:
rule['_revision'] = rev_id
return self._create_with_retry(resource + params, {'rules': rules})
return do_add_rules()
def delete_rule(self, section_id, rule_id): def delete_rule(self, section_id, rule_id):
resource = '%s/rules/%s' % (section_id, rule_id) resource = '%s/rules/%s' % (section_id, rule_id)