diff --git a/octavia/amphorae/backends/agent/api_server/osutils.py b/octavia/amphorae/backends/agent/api_server/osutils.py index 40cf07b50f..4f5431c938 100644 --- a/octavia/amphorae/backends/agent/api_server/osutils.py +++ b/octavia/amphorae/backends/agent/api_server/osutils.py @@ -199,7 +199,7 @@ class BaseOS(object): return host_routes @classmethod - def _bring_if_up(cls, interface, what): + def _bring_if_up(cls, interface, what, flush=True): # Note, we are not using pyroute2 for this as it is not /etc/netns # aware. # Work around for bug: @@ -215,9 +215,10 @@ class BaseOS(object): out = subprocess.check_output(int_up.split(), stderr=subprocess.STDOUT) LOG.debug(out) - out = subprocess.check_output(addr_flush.split(), - stderr=subprocess.STDOUT) - LOG.debug(out) + if flush: + out = subprocess.check_output(addr_flush.split(), + stderr=subprocess.STDOUT) + LOG.debug(out) out = subprocess.check_output(cmd.split(), stderr=subprocess.STDOUT) LOG.debug(out) @@ -248,7 +249,7 @@ class BaseOS(object): cls._bring_if_down(secondary_interface) cls._bring_if_up(primary_interface, 'VIP') if secondary_interface: - cls._bring_if_up(secondary_interface, 'VIP') + cls._bring_if_up(secondary_interface, 'VIP', flush=False) def has_ifup_all(self): return True diff --git a/releasenotes/notes/fix-eth1-ip-flush-7fadda4bdca387b5.yaml b/releasenotes/notes/fix-eth1-ip-flush-7fadda4bdca387b5.yaml new file mode 100644 index 0000000000..76992ab444 --- /dev/null +++ b/releasenotes/notes/fix-eth1-ip-flush-7fadda4bdca387b5.yaml @@ -0,0 +1,11 @@ +--- +upgrade: + - | + To fix the issue with active/standby load balancers or single topology + load balancers with members on the VIP subnet, you need to update the + amphora image. +critical: + - | + Fixed a bug where active/standby load balancers and single topology + load balancers with members on the VIP subnet may fail. An updated + image is required to fix this bug.