backport/2.8/57916 ce_vrrp: update ce_vrrp to fix a bug (#57916) (#58554)

* update vrrp (#57916)


(cherry picked from commit 442d275ae3)

* add a changelog fragment to PR 58554.

* Update 58554-update-ce_vrrp-to-fix-a-bug.yml
This commit is contained in:
YuandongXu 2019-07-09 08:58:20 +08:00 committed by Toshio Kuratomi
parent c66ee98d23
commit b53ed66d78
2 changed files with 11 additions and 8 deletions

View file

@ -0,0 +1,4 @@
bugfixes:
- ce_vrrp - tag 'data' is the root node of data xml tree,remove 'data' tag to find all.
line 700,747 "vrrp_group_info["adminIgnoreIfDown"]", value is string and lower case.
line 1177,1240. Compare wrong! They should be same key of value to be compared.

View file

@ -482,7 +482,7 @@ class Vrrp(object):
virtual_ip_info["vrrpVirtualIpInfos"] = list()
root = ElementTree.fromstring(xml_str)
vrrp_virtual_ip_infos = root.findall(
"data/vrrp/vrrpGroups/vrrpGroup/virtualIps/virtualIp")
"vrrp/vrrpGroups/vrrpGroup/virtualIps/virtualIp")
if vrrp_virtual_ip_infos:
for vrrp_virtual_ip_info in vrrp_virtual_ip_infos:
virtual_ip_dict = dict()
@ -508,7 +508,7 @@ class Vrrp(object):
root = ElementTree.fromstring(xml_str)
global_info = root.findall(
"data/vrrp/vrrpGlobalCfg")
"vrrp/vrrpGlobalCfg")
if global_info:
for tmp in global_info:
@ -532,7 +532,7 @@ class Vrrp(object):
root = ElementTree.fromstring(xml_str)
global_info = root.findall(
"data/vrrp/vrrpGroups/vrrpGroup")
"vrrp/vrrpGroups/vrrpGroup")
if global_info:
for tmp in global_info:
@ -693,12 +693,11 @@ class Vrrp(object):
def is_vrrp_group_info_change(self):
"""whether vrrp group attribute info change"""
if self.vrrp_type:
if self.vrrp_group_info["vrrpType"] != self.vrrp_type:
return True
if self.admin_ignore_if_down:
if self.vrrp_group_info["adminIgnoreIfDown"] != self.admin_ignore_if_down:
if self.vrrp_group_info["adminIgnoreIfDown"] != str(self.admin_ignore_if_down).lower():
return True
if self.admin_vrid:
if self.vrrp_group_info["adminVrrpId"] != self.admin_vrid:
@ -745,7 +744,7 @@ class Vrrp(object):
if self.vrrp_group_info["vrrpType"] != self.vrrp_type:
return False
if self.admin_ignore_if_down:
if self.vrrp_group_info["adminIgnoreIfDown"] != self.admin_ignore_if_down:
if self.vrrp_group_info["adminIgnoreIfDown"] != str(self.admin_ignore_if_down).lower():
return False
if self.admin_vrid:
if self.vrrp_group_info["adminVrrpId"] != self.admin_vrid:
@ -1174,7 +1173,7 @@ class Vrrp(object):
self.existing["vrrp_type"] = self.vrrp_group_info["vrrpType"]
if self.vrrp_type == "admin":
self.existing["admin_ignore_if_down"] = self.vrrp_group_info[
"authenticationMode"]
"adminIgnoreIfDown"]
if self.admin_vrid and self.admin_interface:
self.existing["admin_vrid"] = self.vrrp_group_info[
"adminVrrpId"]
@ -1237,7 +1236,7 @@ class Vrrp(object):
self.end_state["vrrp_type"] = self.vrrp_group_info["vrrpType"]
if self.vrrp_type == "admin":
self.end_state["admin_ignore_if_down"] = self.vrrp_group_info[
"authenticationMode"]
"adminIgnoreIfDown"]
if self.admin_vrid and self.admin_interface:
self.existing["admin_vrid"] = self.vrrp_group_info[
"adminVrrpId"]