mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge pull request #3018 from shapeblue/fixrouterfilecreation
Prevent error on GroupAnswers on VR creation
This commit is contained in:
commit
f95aec4a84
@ -524,15 +524,16 @@ class CsIP:
|
|||||||
CsHelper.execute("sudo ip route add throw " + self.config.address().dbag['eth1'][0]['network'] + " table " + tableName + " proto static")
|
CsHelper.execute("sudo ip route add throw " + self.config.address().dbag['eth1'][0]['network'] + " table " + tableName + " proto static")
|
||||||
|
|
||||||
# add 'defaul via gateway' rule in the device specific routing table
|
# add 'defaul via gateway' rule in the device specific routing table
|
||||||
if "gateway" in self.address and self.address["gateway"] != "None":
|
if "gateway" in self.address and self.address["gateway"] and self.address["gateway"] != "None":
|
||||||
route.add_route(self.dev, self.address["gateway"])
|
route.add_route(self.dev, self.address["gateway"])
|
||||||
route.add_network_route(self.dev, str(self.address["network"]))
|
if "network" in self.address and self.address["network"]:
|
||||||
|
route.add_network_route(self.dev, str(self.address["network"]))
|
||||||
|
|
||||||
if self.get_type() in ["public"]:
|
if self.get_type() in ["public"]:
|
||||||
CsRule(self.dev).addRule("from " + str(self.address["network"]))
|
CsRule(self.dev).addRule("from " + str(self.address["network"]))
|
||||||
|
|
||||||
if self.config.is_vpc():
|
if self.config.is_vpc():
|
||||||
if self.get_type() in ["public"] and "gateway" in self.address and self.address["gateway"] != "None":
|
if self.get_type() in ["public"] and "gateway" in self.address and self.address["gateway"] and self.address["gateway"] != "None":
|
||||||
route.add_route(self.dev, self.address["gateway"])
|
route.add_route(self.dev, self.address["gateway"])
|
||||||
for inf, addresses in self.config.address().dbag.iteritems():
|
for inf, addresses in self.config.address().dbag.iteritems():
|
||||||
if not inf.startswith("eth"):
|
if not inf.startswith("eth"):
|
||||||
|
|||||||
@ -50,20 +50,29 @@ class CsRoute:
|
|||||||
""" Wrapper method that adds table name and device to route statement """
|
""" Wrapper method that adds table name and device to route statement """
|
||||||
# ip route add dev eth1 table Table_eth1 10.0.2.0/24
|
# ip route add dev eth1 table Table_eth1 10.0.2.0/24
|
||||||
table = self.get_tablename(dev)
|
table = self.get_tablename(dev)
|
||||||
logging.info("Adding route: dev " + dev + " table: " +
|
|
||||||
table + " network: " + address + " if not present")
|
if not table or not address:
|
||||||
cmd = "dev %s table %s %s" % (dev, table, address)
|
empty_param = "table" if not table else "address"
|
||||||
cmd = "default via %s table %s proto static" % (address, table)
|
logging.info("Empty parameter received %s while trying to add route, skipping" % empty_param)
|
||||||
self.set_route(cmd)
|
else:
|
||||||
|
logging.info("Adding route: dev " + dev + " table: " +
|
||||||
|
table + " network: " + address + " if not present")
|
||||||
|
cmd = "default via %s table %s proto static" % (address, table)
|
||||||
|
self.set_route(cmd)
|
||||||
|
|
||||||
def add_network_route(self, dev, address):
|
def add_network_route(self, dev, address):
|
||||||
""" Wrapper method that adds table name and device to route statement """
|
""" Wrapper method that adds table name and device to route statement """
|
||||||
# ip route add dev eth1 table Table_eth1 10.0.2.0/24
|
# ip route add dev eth1 table Table_eth1 10.0.2.0/24
|
||||||
table = self.get_tablename(dev)
|
table = self.get_tablename(dev)
|
||||||
logging.info("Adding route: dev " + dev + " table: " +
|
|
||||||
table + " network: " + address + " if not present")
|
if not table or not address:
|
||||||
cmd = "throw %s table %s proto static" % (address, table)
|
empty_param = "table" if not table else "address"
|
||||||
self.set_route(cmd)
|
logging.info("Empty parameter received %s while trying to add network route, skipping" % empty_param)
|
||||||
|
else:
|
||||||
|
logging.info("Adding route: dev " + dev + " table: " +
|
||||||
|
table + " network: " + address + " if not present")
|
||||||
|
cmd = "throw %s table %s proto static" % (address, table)
|
||||||
|
self.set_route(cmd)
|
||||||
|
|
||||||
def set_route(self, cmd, method="add"):
|
def set_route(self, cmd, method="add"):
|
||||||
""" Add a route if it is not already defined """
|
""" Add a route if it is not already defined """
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user