Skip to content

Commit 8c078b8

Browse files
committed
Merge release branch 4.13 to master
* 4.13: vrouter: reload keepalived instead of restart and fix password… (#3898) Allow port 80/8080 accessible only from guest network (#3907)
2 parents ba8fb61 + 3f8b2c3 commit 8c078b8

3 files changed

Lines changed: 19 additions & 8 deletions

File tree

systemvm/debian/opt/cloud/bin/configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def __update(self, vm_ip, password):
6161
server_ip = None
6262
guest_ip = None
6363
for interface in self.config.address().get_interfaces():
64-
if interface.ip_in_subnet(vm_ip):
64+
if interface.ip_in_subnet(vm_ip) and interface.is_added():
6565
if self.config.cl.is_redundant():
6666
server_ip = interface.get_gateway()
6767
guest_ip = interface.get_ip()

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -412,9 +412,9 @@ def fw_router(self):
412412
self.fw.append(
413413
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 53 -s %s -j ACCEPT" % (self.dev, guestNetworkCidr)])
414414
self.fw.append(
415-
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT" % self.dev])
415+
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 80 -s %s -m state --state NEW -j ACCEPT" % (self.dev, guestNetworkCidr)])
416416
self.fw.append(
417-
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 8080 -m state --state NEW -j ACCEPT" % self.dev])
417+
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 8080 -s %s -m state --state NEW -j ACCEPT" % (self.dev, guestNetworkCidr)])
418418
self.fw.append(
419419
["filter", "", "-A FORWARD -i %s -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT" % self.dev])
420420
self.fw.append(
@@ -464,9 +464,9 @@ def fw_vpcrouter(self):
464464
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 53 -s %s -j ACCEPT" % (self.dev, guestNetworkCidr)])
465465

466466
self.fw.append(
467-
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT" % self.dev])
467+
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 80 -s %s -m state --state NEW -j ACCEPT" % (self.dev, guestNetworkCidr)])
468468
self.fw.append(
469-
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 8080 -m state --state NEW -j ACCEPT" % self.dev])
469+
["filter", "", "-A INPUT -i %s -p tcp -m tcp --dport 8080 -s %s -m state --state NEW -j ACCEPT" % (self.dev, guestNetworkCidr)])
470470
self.fw.append(["mangle", "",
471471
"-A PREROUTING -m state --state NEW -i %s -s %s ! -d %s/32 -j ACL_OUTBOUND_%s" %
472472
(self.dev, guestNetworkCidr, self.address['gateway'], self.dev)])
@@ -581,6 +581,11 @@ def post_config_change(self, method):
581581
CsPasswdSvc(self.address['public_ip']).start()
582582
elif method == "delete":
583583
CsPasswdSvc(self.address['public_ip']).stop()
584+
elif cmdline.is_master():
585+
if method == "add":
586+
CsPasswdSvc(self.address['gateway'] + "," + self.address['public_ip']).start()
587+
elif method == "delete":
588+
CsPasswdSvc(self.address['gateway'] + "," + self.address['public_ip']).stop()
584589

585590
if self.get_type() == "public" and self.config.is_vpc() and method == "add":
586591
if self.address["source_nat"]:

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

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,15 @@ def _redundant_on(self):
194194
heartbeat_cron.commit()
195195

196196
proc = CsProcess(['/usr/sbin/keepalived'])
197-
if not proc.find() or keepalived_conf.is_changed() or force_keepalived_restart:
197+
if not proc.find():
198+
force_keepalived_restart = True
199+
if keepalived_conf.is_changed() or force_keepalived_restart:
198200
keepalived_conf.commit()
199201
os.chmod(self.KEEPALIVED_CONF, 0o644)
200-
CsHelper.service("keepalived", "restart")
202+
if force_keepalived_restart or not self.cl.is_master():
203+
CsHelper.service("keepalived", "restart")
204+
else:
205+
CsHelper.service("keepalived", "reload")
201206

202207
def release_lock(self):
203208
try:
@@ -339,7 +344,8 @@ def set_master(self):
339344

340345
interfaces = [interface for interface in self.address.get_interfaces() if interface.needs_vrrp()]
341346
for interface in interfaces:
342-
CsPasswdSvc(interface.get_gateway() + "," + interface.get_ip()).restart()
347+
if interface.is_added():
348+
CsPasswdSvc(interface.get_gateway() + "," + interface.get_ip()).restart()
343349

344350
CsHelper.service("dnsmasq", "restart")
345351
self.cl.set_master_state(True)

0 commit comments

Comments
 (0)