|
|
|
@ -142,6 +142,28 @@ class fillVars(object, glob_attr):
|
|
|
|
|
param['dev'] = routeParam.get('dev','')
|
|
|
|
|
route_hash[network] = param
|
|
|
|
|
return route_hash
|
|
|
|
|
|
|
|
|
|
def get_os_install_net_route(self):
|
|
|
|
|
"""Route info for conf.d/net"""
|
|
|
|
|
routeMatrix = zip(self.Get('os_install_net_route_network'),
|
|
|
|
|
self.Get('os_install_net_route_gw'),
|
|
|
|
|
self.Get('os_install_net_route_dev'),
|
|
|
|
|
self.Get('os_install_net_route_src'))
|
|
|
|
|
return map(lambda x:"\n".join(
|
|
|
|
|
# build string for route from net,gateway,dev and src
|
|
|
|
|
map(lambda z:"{net}{gateway}{src}".format(
|
|
|
|
|
net=z[0],
|
|
|
|
|
gateway=" via %s"%z[1] if z[1] else "",
|
|
|
|
|
src=" src %s"%z[3] if z[3] else ""),
|
|
|
|
|
# filter by interface and discard direct routes
|
|
|
|
|
# example: for 192.168.1.5/24 discard 192.168.1.0/24 net
|
|
|
|
|
filter(lambda z:x[0]==z[2] and x[1]!=z[0],routeMatrix))),
|
|
|
|
|
# union ip and mask to ip/net
|
|
|
|
|
map(lambda x:(x[0],ip.getIpNet(x[1],x[2])),
|
|
|
|
|
zip(self.Get('os_install_net_interfaces'),
|
|
|
|
|
self.Get('os_install_net_ip'),
|
|
|
|
|
self.Get('os_install_net_mask'))))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_os_install_net_route_network(self):
|
|
|
|
|
return sorted(self.Get('os_install_net_route_hash').keys())
|
|
|
|
|