access: move switch config templates back to this repo
Let’s keep it simple. Also editing templates in NetBox is a pain.
This commit is contained in:
parent
1ffdea8e43
commit
c479f90669
7 changed files with 128 additions and 11 deletions
1
roles/access/templates/config-d-link-dgs-1510-52x.j2
Symbolic link
1
roles/access/templates/config-d-link-dgs-1510-52x.j2
Symbolic link
|
@ -0,0 +1 @@
|
|||
config-d-link.j2
|
1
roles/access/templates/config-d-link-dgs-1510-52xmp.j2
Symbolic link
1
roles/access/templates/config-d-link-dgs-1510-52xmp.j2
Symbolic link
|
@ -0,0 +1 @@
|
|||
config-d-link.j2
|
68
roles/access/templates/config-d-link.j2
Normal file
68
roles/access/templates/config-d-link.j2
Normal file
|
@ -0,0 +1,68 @@
|
|||
terminal length default 0
|
||||
line console
|
||||
line telnet
|
||||
line ssh
|
||||
|
||||
port-channel load-balance src-dst-ip
|
||||
|
||||
ip ssh server
|
||||
|
||||
vlan {{ vlans | map(attribute='vid') | compact_numlist }}
|
||||
|
||||
{% for iface in interfaces | selectattr('lag') %}
|
||||
interface {{ iface.name }}
|
||||
{% if iface.enabled %} no{% endif %} shutdown
|
||||
channel-group {{ iface.lag.name | select('in', '0123456789') | join('') }} mode active
|
||||
|
||||
{% endfor %}
|
||||
|
||||
{%- set mgmt = namespace(ip=false, gw=false) %}
|
||||
{%- for iface in interfaces | rejectattr('lag') %}
|
||||
interface {{ iface.name }}
|
||||
{% if iface.type.value != 'lag' %}
|
||||
{% if iface.enabled %} no shutdown{% else %} shutdown{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{%+ if iface.mode and iface.mode.value == 'access' %}
|
||||
switchport mode access
|
||||
{% if iface.untagged_vlan and iface.untagged_vlan.vid != 1 %}
|
||||
switchport access vlan {{ iface.untagged_vlan.vid }}
|
||||
{% else %}
|
||||
no switchport access vlan
|
||||
{% endif %}
|
||||
|
||||
{%+ elif iface.mode and iface.mode.value == 'tagged' %}
|
||||
switchport mode trunk
|
||||
switchport trunk allowed vlan {{ (iface.tagged_vlans or vlans) | map(attribute='vid') | compact_numlist }}
|
||||
|
||||
{%+ else %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{%- if iface.mgmt_only and iface.ip_addresses %}
|
||||
{% set mgmt.ip = iface.ip_addresses[0].address %}
|
||||
{% if iface.custom_fields.gateway %}
|
||||
{% set mgmt.gw = iface.custom_fields.gateway.address %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{%- if mgmt.ip %}
|
||||
interface Vlan1
|
||||
ip address {{ mgmt.ip | ipaddr('address') }} {{ mgmt.ip | ipaddr('netmask') }}
|
||||
{% endif %}
|
||||
|
||||
snmp-server name {{ inventory_hostname }}
|
||||
|
||||
sntp enable
|
||||
{% for address in ntp %}
|
||||
sntp server {{ address }}
|
||||
{% endfor %}
|
||||
|
||||
ntp access-group default nomodify noquery
|
||||
|
||||
{% if mgmt.gw %}
|
||||
ip route 0.0.0.0 0.0.0.0 {{ mgmt.gw | ipaddr('address') }} primary
|
||||
{% endif %}
|
||||
|
||||
no ddp
|
1
roles/access/templates/config-fs-s5860-48xmg-u.j2
Symbolic link
1
roles/access/templates/config-fs-s5860-48xmg-u.j2
Symbolic link
|
@ -0,0 +1 @@
|
|||
config-fs.j2
|
41
roles/access/templates/config-fs.j2
Normal file
41
roles/access/templates/config-fs.j2
Normal file
|
@ -0,0 +1,41 @@
|
|||
hostname {{ inventory_hostname }}
|
||||
|
||||
no netconf enable
|
||||
|
||||
no enable service telnet-server
|
||||
no enable service web-server http
|
||||
no enable service web-server https
|
||||
|
||||
vlan range {{ vlans | map(attribute='vid') | union([1]) | compact_numlist }}
|
||||
|
||||
{% for iface in interfaces %}
|
||||
interface {{ iface.name }}
|
||||
{% if iface.enabled %} no{% endif %} shutdown
|
||||
{% if iface.lag %}
|
||||
port-group {{ iface.lag.name | select('in', '0123456789') | join('') }} mode active
|
||||
|
||||
{% elif iface.mgmt_only %}
|
||||
{% if iface.ip_addresses %}
|
||||
{% set address = iface.ip_addresses | map(attribute='address') | first %}
|
||||
ip address {{ address | ipaddr('address') }} {{ address | ipaddr('netmask') }}
|
||||
{% if iface.custom_fields.gateway %}
|
||||
gateway {{ iface.custom_fields.gateway.address | ipaddr('address') }}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
{% else %}
|
||||
mtu {{ iface.mtu | default('9216', true) }}
|
||||
{% if iface.mode and iface.mode.value == 'access' %}
|
||||
switchport mode access
|
||||
{% if iface.untagged_vlan and iface.untagged_vlan.vid != 1 %}
|
||||
switchport access vlan {{ iface.untagged_vlan.vid }}
|
||||
{% else %}
|
||||
no switchport access vlan
|
||||
{% endif %}
|
||||
{%- elif iface.mode and iface.mode.value == 'tagged' %}
|
||||
switchport mode trunk
|
||||
switchport trunk allowed vlan only {{ (iface.tagged_vlans or vlans) | map(attribute='vid') | compact_numlist }}
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
Loading…
Add table
Add a link
Reference in a new issue