From 3633d6383b61218a55b46bad5d8dc71246ff9686 Mon Sep 17 00:00:00 2001 From: Anna Khmelnitsky Date: Thu, 23 May 2019 10:31:15 -0700 Subject: [PATCH] Remove double StaleRevision handling from FW rules _create_with_retry already handles StaleRevision exception Change-Id: I5a10d93d12006fc5b9984111fb927f813e0c3b59 --- vmware_nsxlib/v3/security.py | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/vmware_nsxlib/v3/security.py b/vmware_nsxlib/v3/security.py index 8b8f3adb..54b41484 100644 --- a/vmware_nsxlib/v3/security.py +++ b/vmware_nsxlib/v3/security.py @@ -469,30 +469,22 @@ class NsxLibFirewallSection(utils.NsxLibApiBase): return rule_dict def add_rule(self, rule, section_id, operation=consts.FW_INSERT_BOTTOM): - @utils.retry_upon_exception(exceptions.StaleRevision, - max_attempts=self.client.max_attempts) - def do_add_rule(): - resource = '%s/rules' % self.get_path(section_id) - params = '?operation=%s' % operation - if (version.LooseVersion(self.nsxlib.get_version()) >= - 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() + resource = '%s/rules' % self.get_path(section_id) + params = '?operation=%s' % operation + if (version.LooseVersion(self.nsxlib.get_version()) >= + version.LooseVersion(consts.NSX_VERSION_2_4_0)): + rule['_revision'] = self.get(section_id)['_revision'] + return self._create_with_retry(resource + params, rule) def add_rules(self, rules, section_id, operation=consts.FW_INSERT_BOTTOM): - @utils.retry_upon_exception(exceptions.StaleRevision, - max_attempts=self.client.max_attempts) - def do_add_rules(): - resource = '%s/rules' % self.get_path(section_id) - params = '?action=create_multiple&operation=%s' % operation - if (version.LooseVersion(self.nsxlib.get_version()) >= - version.LooseVersion(consts.NSX_VERSION_2_4_0)): - rev_id = self.get(section_id)['_revision'] - for rule in rules: - rule['_revision'] = rev_id - return self._create_with_retry(resource + params, {'rules': rules}) - return do_add_rules() + resource = '%s/rules' % self.get_path(section_id) + params = '?action=create_multiple&operation=%s' % operation + if (version.LooseVersion(self.nsxlib.get_version()) >= + version.LooseVersion(consts.NSX_VERSION_2_4_0)): + rev_id = self.get(section_id)['_revision'] + for rule in rules: + rule['_revision'] = rev_id + return self._create_with_retry(resource + params, {'rules': rules}) def delete_rule(self, section_id, rule_id): resource = '%s/rules/%s' % (section_id, rule_id)