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): ...@@ -47,3 +47,12 @@ def create_host_map(net_mappings, router_mappings, host_list):
host["interface"] = _find_interface(net_mapping["host"], host_list) host["interface"] = _find_interface(net_mapping["host"], host_list)
hosts.append(host) hosts.append(host)
return hosts 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 ...@@ -2,7 +2,7 @@ import jinja2
import os import os
from modules.device_creator import create_devices 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): def _load_template(template_name):
...@@ -60,10 +60,11 @@ def _generate_playbook(definitions): ...@@ -60,10 +60,11 @@ def _generate_playbook(definitions):
host_map = create_host_map(definitions["net_mappings"], definitions["router_mappings"], definitions["hosts"]) host_map = create_host_map(definitions["net_mappings"], definitions["router_mappings"], definitions["hosts"])
network = create_network_map( 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") 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: try:
os.mkdir("provisioning") os.mkdir("provisioning")
...@@ -79,9 +80,10 @@ def _generate_device_configuration(definitions): ...@@ -79,9 +80,10 @@ def _generate_device_configuration(definitions):
host_map = create_host_map(definitions["net_mappings"], definitions["router_mappings"], definitions["hosts"]) host_map = create_host_map(definitions["net_mappings"], definitions["router_mappings"], definitions["hosts"])
network = create_network_map( 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("device_configuration") 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: try:
os.mkdir("provisioning") os.mkdir("provisioning")
......
...@@ -14,8 +14,11 @@ ...@@ -14,8 +14,11 @@
hosts: {{ host.host_name }} hosts: {{ host.host_name }}
become: yes become: yes
tasks: tasks:
- name: Change default gateway {% for network_ip in network_ips %}
command: route add default gw {{ host.router_ip }} {{ host.interface }} - name: Add gateway for {{ network_ip }}
command: route add -net {{ network_ip }} gw {{ host.router_ip }} {{ host.interface }}
{% endfor %}
{% endfor %} {% endfor %}
- name: Configuring all routers - 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