1 {% set nat_port_range = item.nat_port_range|default([1024, 65535]) %}
2 {% set netmask = item.netmask|default('255.255.255.0') %}
3 {% if item.dhcp_hosts is defined %}
4 {% set dhcp_hosts_names = item.dhcp_hosts | map(attribute='name') | map('replace', '-', '_') | list %}
7 <name>{{ item.name }}</name>
8 <bridge name='{{ item.bridge }}'/>
9 {% if item.forward_mode is defined %}
10 <forward mode='{{ item.forward_mode }}'>
11 {% if item.forward_mode == 'nat' %}
13 <port start='{{ nat_port_range[0] }}' end='{{ nat_port_range[1] }}' />
18 {% if item.virtualport_type is defined %}
19 <virtualport type='{{ item.virtualport_type }}'/>
21 {% if item.address is defined and item.forward_mode != 'bridge' %}
22 <ip address='{{ item.address }}' netmask='{{ netmask }}'>
23 {% if item.dhcp_range is defined %}
25 <range start='{{ item.dhcp_range[0] }}' end='{{ item.dhcp_range[1] }}'/>
26 {% if item.dhcp_hosts is defined %}
27 {% for host in item.dhcp_hosts %}
28 <host mac='{{ node_mac_map.get(ironic_prefix + dhcp_hosts_names[loop.index0]).get(item.name) }}' name='{{ host.name }}' ip='{{ host.ip }}'/>
34 {% if item.domain is defined %}
35 <domain name='{{ item.domain }}' localOnly='yes'/>
37 {% if item.dns is defined %}
39 {% for host in item.dns.hosts %}
40 <host ip='{{ host.ip }}'>
41 {% for name in host.hostnames %}
42 <hostname>{{ name }}</hostname>
46 {% if item.dns.srvs is defined %}
47 {% for srv in item.dns.srvs %}
48 <srv service='{{ srv.name }}' protocol='{{ srv.protocol }}' domain='{{ srv.domain }}' port='{{ srv.port }}' target='{{ srv.target }}' />
51 {% if item.dns.forwarders is defined %}
52 {% for forwarder in item.dns.forwarders %}
53 <forwarder domain='{{ forwarder.domain }}' addr='{{ forwarder.addr }}' />