From c9bb03ea364487542f0c0cf663ab0d67fdf23f5e Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Thu, 5 Oct 2023 12:44:39 +0200 Subject: [PATCH] Read default gateway for a subnet from a custom field in netbox --- templates/interfaces.j2 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/templates/interfaces.j2 b/templates/interfaces.j2 index d86e240..3185a09 100644 --- a/templates/interfaces.j2 +++ b/templates/interfaces.j2 @@ -11,12 +11,14 @@ iface {{ iface.name }} vrf mgmt {% for ip in iface.ip_addresses %} address {{ ip.address }} -{% set gw = query('netbox.netbox.nb_lookup', 'ip-addresses', api_filter=('tag=gateway parent=' + ip.address))|first %} -{% if gw is defined %} - gateway {{ gw.value.address | ipaddr('address') }} +{% set subnet = ip.address | ipaddr('subnet') %} +{% set prefix = query('netbox.netbox.nb_lookup', 'prefixes', api_filter=('prefix='+subnet))|first %} +{% set gateway = prefix.value.custom_fields.gateway.address %} +{% if gateway is defined %} + gateway {{ gateway | ipaddr('address') }} {% endif %} {% endfor %} {% endfor %} -source /etc/network/interfaces.d/* \ No newline at end of file +source /etc/network/interfaces.d/*