Skip to content

Commit 8c546bd

Browse files
router: do not restart conntrackd if no guest networks (issue 6702) (#7265)
This PR fixes #6702 The service conntrackd will be started by the script /opt/cloud/bin/cs/CsRedundant.py, therefore add it to disabled_svcs so it is not started automatically when VR is started.
1 parent d9e0a3e commit 8c546bd

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

systemvm/debian/opt/cloud/bin/cs/CsHelper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def mkdir(name, mode, fatal):
8686
os.makedirs(name, mode)
8787
except OSError as e:
8888
if e.errno != 17:
89-
print "failed to make directories " + name + " due to :" + e.strerror
89+
print("failed to make directories " + name + " due to :" + e.strerror)
9090
if(fatal):
9191
sys.exit(1)
9292

systemvm/debian/opt/cloud/bin/cs/CsRedundant.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def _redundant_on(self):
8585

8686
# No redundancy if there is no guest network
8787
if guest is None:
88-
self.set_backup()
88+
self.set_backup(restart_conntrackd=False)
8989
self._redundant_off()
9090
return
9191

@@ -111,9 +111,9 @@ def _redundant_on(self):
111111
CsHelper.service("keepalived", "stop")
112112
return
113113

114-
CsHelper.mkdir(self.CS_RAMDISK_DIR, 0755, False)
114+
CsHelper.mkdir(self.CS_RAMDISK_DIR, 0o755, False)
115115
CsHelper.mount_tmpfs(self.CS_RAMDISK_DIR)
116-
CsHelper.mkdir(self.CS_ROUTER_DIR, 0755, False)
116+
CsHelper.mkdir(self.CS_ROUTER_DIR, 0o755, False)
117117
for s in self.CS_TEMPLATES:
118118
d = s
119119
if s.endswith(".templ"):
@@ -222,10 +222,9 @@ def set_lock(self):
222222
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
223223
s.bind('/tmp/primary_lock')
224224
return s
225-
except socket.error, e:
225+
except socket.error as e:
226226
error_code = e.args[0]
227227
error_string = e.args[1]
228-
print "Process already running (%d:%s). Exiting" % (error_code, error_string)
229228
logging.info("Primary is already running, waiting")
230229
sleep(time_between)
231230

@@ -261,7 +260,7 @@ def set_fault(self):
261260
interfaces = [interface for interface in self.address.get_interfaces() if interface.is_public()]
262261
CsHelper.reconfigure_interfaces(self.cl, interfaces)
263262

264-
def set_backup(self):
263+
def set_backup(self, restart_conntrackd=True):
265264
""" Set the current router to backup """
266265
if not self.cl.is_redundant():
267266
logging.error("Set backup called on non-redundant router")
@@ -282,7 +281,10 @@ def set_backup(self):
282281

283282
self._remove_ipv6_guest_gateway()
284283

285-
CsHelper.service("conntrackd", "restart")
284+
if restart_conntrackd:
285+
CsHelper.service("conntrackd", "restart")
286+
else:
287+
CsHelper.service("conntrackd", "stop")
286288
CsHelper.service("ipsec", "stop")
287289
CsHelper.service("xl2tpd", "stop")
288290

systemvm/debian/opt/cloud/bin/setup/common.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -702,11 +702,11 @@ routing_svcs() {
702702
echo "cloud nfs-common portmap" > /var/cache/cloud/disabled_svcs
703703
if [ "$RROUTER" -eq "1" ]
704704
then
705-
echo "keepalived conntrackd" >> /var/cache/cloud/enabled_svcs
706-
echo "dnsmasq" >> /var/cache/cloud/disabled_svcs
705+
echo "keepalived" >> /var/cache/cloud/enabled_svcs
706+
echo "dnsmasq conntrackd" >> /var/cache/cloud/disabled_svcs
707707
else
708708
echo "dnsmasq" >> /var/cache/cloud/enabled_svcs
709-
echo "keepalived conntrackd " >> /var/cache/cloud/disabled_svcs
709+
echo "keepalived conntrackd" >> /var/cache/cloud/disabled_svcs
710710
fi
711711
}
712712

0 commit comments

Comments
 (0)