Add routing.

netsetup
Mike Hiretsky 13 years ago
parent 0b7e370294
commit 0e196813c1

Binary file not shown.

@ -125,6 +125,36 @@ class fillVars(object, glob_attr):
"""DHCP or not"""
return self.getAttributeFromHash('os_install_net_hash','dhcp')
def get_os_install_net_route_hash(self):
"""Routing hash"""
interfaces = self.Get('os_install_net_interfaces')
interfaces_dhcp = self.Get('os_install_net_dhcp_set')
staticInterface = \
map(lambda x:x[0],
filter(lambda x:x[1] == "off",
zip(interfaces,interfaces_dhcp)))
route_hash = {}
if staticInterface:
for network,routeParam in ip.getRouteTable(staticInterface):
param = {}
param['gw'] = routeParam.get('via','')
param['src'] = routeParam.get('src','')
param['dev'] = routeParam.get('dev','')
route_hash[network] = param
return route_hash
def get_os_install_net_route_network(self):
return sorted(self.Get('os_install_net_route_hash').keys())
def get_os_install_net_route_gw(self):
return self.getAttributeFromHash('os_install_net_route_hash','gw')
def get_os_install_net_route_dev(self):
return self.getAttributeFromHash('os_install_net_route_hash','dev')
def get_os_install_net_route_src(self):
return self.getAttributeFromHash('os_install_net_route_hash','src')
def get_os_net_interfaces_info(self):
"""Информация о существующих сетевых интерфейсах"""
netInterfaces=self.Get("os_net_interfaces")

@ -836,6 +836,12 @@ class cl_install(color_print, SignalInterrupt):
tableObj = tableReport("", headerList, dataList)
tableObj.printReport(False)
def printRouteTables(self):
"""Print install report"""
title, headerList, dataList = self.generateTableRouteData()
tableObj = tableReport("", headerList, dataList)
tableObj.printReport(False)
def printInfo(self,update=False):
clGet = self.clVars.Get
installedSystem = "%s %s"%(clGet('os_linux_name'),
@ -894,6 +900,9 @@ class cl_install(color_print, SignalInterrupt):
[(_("Network devices"),not flash),
(self.printNetworkTables,None,True)
],
[(_("Routes"),not flash),
(self.printRouteTables,None,True)
],
[(_("Location"),True),
(_("Master boot record")+" (MBR)",mbrdisk,True),
(self.printLocationTables,None,True)
@ -1669,6 +1678,19 @@ class cl_install(color_print, SignalInterrupt):
clGet('os_install_net_mask'),
clGet('os_install_net_dhcp_set'))))
def generateTableRouteData(self):
"""Get bind data for print table"""
clGet = self.clVars.Get
title = _("Routes")
headerList = [_("Device"),_("Network"),_("Gateway"),_("Source IP")]
return title, headerList, zip(clGet('os_install_net_route_dev'),
clGet('os_install_net_route_network'),
clGet('os_install_net_route_gw'),
clGet('os_install_net_route_src')) + \
map(lambda x:(x[0],_("DHCP")),
filter(lambda x:x[1]=='on',zip(clGet('os_install_net_interfaces'),
clGet('os_install_net_dhcp_set'))))
def getPwdHashUser(self, userName, stdinRead=False):
if stdinRead:
try:

@ -272,8 +272,20 @@ class Data:
# ip mask
os_install_net_mask = {}
# default gateway
os_install_net_gateway = {}
# routing
os_install_net_route_hash = {}
# net for route
os_install_net_route_network = {}
# gw for route
os_install_net_route_gw = {}
# dev for route
os_install_net_route_dev = {}
# src for route
os_install_net_route_src = {}
# dns servers
os_install_net_dns = {}

Loading…
Cancel
Save