Skip to content
Snippets Groups Projects
Commit e2602387 authored by Attila Farkas's avatar Attila Farkas
Browse files

fix routing to internet

parent 86f0ff5a
No related branches found
No related tags found
No related merge requests found
......@@ -47,3 +47,12 @@ def create_host_map(net_mappings, router_mappings, host_list):
host["interface"] = _find_interface(net_mapping["host"], host_list)
hosts.append(host)
return hosts
def create_network_ips(networks):
network_ips = []
for network in networks:
if network["cidr"] not in network_ips:
network_ips.append(network["cidr"])
return network_ips
......@@ -2,7 +2,7 @@ import jinja2
import os
from modules.device_creator import create_devices
from modules.ansible_data_generator import create_network_map, create_host_map
from modules.ansible_data_generator import create_network_map, create_host_map, create_network_ips
def _load_template(template_name):
......@@ -60,10 +60,11 @@ def _generate_playbook(definitions):
host_map = create_host_map(definitions["net_mappings"], definitions["router_mappings"], definitions["hosts"])
network = create_network_map(
definitions["net_mappings"], definitions["router_mappings"])
definitions["net_mappings"], definitions["router_mappings"])
network_ips = create_network_ips(definitions["networks"])
template = _load_template("playbook")
output = template.render(hosts=host_map, routers=network)
output = template.render(hosts=host_map, routers=network, network_ips=network_ips)
try:
os.mkdir("provisioning")
......@@ -79,9 +80,10 @@ def _generate_device_configuration(definitions):
host_map = create_host_map(definitions["net_mappings"], definitions["router_mappings"], definitions["hosts"])
network = create_network_map(
definitions["net_mappings"], definitions["router_mappings"])
network_ips = create_network_ips(definitions["networks"])
template = _load_template("device_configuration")
output = template.render(hosts=host_map, routers=network)
output = template.render(hosts=host_map, routers=network, network_ips=network_ips)
try:
os.mkdir("provisioning")
......
......@@ -14,8 +14,11 @@
hosts: {{ host.host_name }}
become: yes
tasks:
- name: Change default gateway
command: route add default gw {{ host.router_ip }} {{ host.interface }}
{% for network_ip in network_ips %}
- name: Add gateway for {{ network_ip }}
command: route add -net {{ network_ip }} gw {{ host.router_ip }} {{ host.interface }}
{% endfor %}
{% endfor %}
- name: Configuring all routers
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment