Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 1 | {%- from "isc_dhcp/map.jinja" import server with context %} |
| 2 | |
| 3 | {%- if server.omapi_port is defined -%} |
| 4 | omapi-port {{ server.omapi_port }}; |
| 5 | {% endif -%} |
| 6 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 7 | {%- if server.ddns_updates is defined %} |
| 8 | |
| 9 | ddns-updates on; |
| 10 | ddns-update-style interim; |
| 11 | |
| 12 | update-static-leases on; |
| 13 | use-host-decl-names on; |
| 14 | |
| 15 | {# |
| 16 | # Key from bind |
| 17 | include "<%= @dnsupdatekey %>"; |
| 18 | <% @dnsdomain.each do |dom| -%> |
| 19 | zone <%= dom %>. { |
| 20 | primary <%= @nameservers.first %>; |
| 21 | key <%= @dnskeyname%>; |
| 22 | } |
| 23 | #} |
| 24 | |
| 25 | {%- else -%} |
| 26 | |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 27 | ddns-update-style {{ server.ddns_update_style|default('none') }}; |
| 28 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 29 | {%- endif %} |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 30 | |
| 31 | {%- if server.update_static_leases is defined %} |
| 32 | update-static-leases {{ server.update_static_leases }}; |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 33 | {%- endif %} |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 34 | |
| 35 | {%- if server.use_host_decl_names is defined %} |
| 36 | use-host-decl-names {{ server.use_host_decl_names }}; |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 37 | {%- endif %} |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 38 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 39 | {%- for zone_name, zone in server.zone.iteritems() %} |
| 40 | |
| 41 | zone {{ zone_name }} { |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 42 | primary {{ zone.primary }}; |
| 43 | {%- if 'key' in zone %} |
| 44 | key {{ zone.key|default('rndc-key') }}; |
| 45 | {%- endif %} |
| 46 | } |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 47 | |
| 48 | {%- endfor %} |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 49 | |
| 50 | default-lease-time {{ server.default_lease_time|default('600') }}; |
| 51 | max-lease-time {{ server.max_lease_time|default('7200') }}; |
| 52 | |
| 53 | {%- if server.authoritative|default(False) %} |
| 54 | authoritative; |
| 55 | {%- endif %} |
| 56 | |
| 57 | log-facility {{ server.logging.facility|default('local7') }}; |
| 58 | |
| 59 | {%- if server.next_server is defined -%} |
| 60 | {{ "\n" }} |
| 61 | next-server {{ server.next_server }}; |
| 62 | {%- endif -%} |
| 63 | |
| 64 | {%- if server.filename is defined %} |
| 65 | filename "{{ server.filename }}"; |
| 66 | {{- "\n" }} |
| 67 | {%- endif -%} |
| 68 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 69 | option domain-name "{{ server.domain_name }}"; |
| 70 | option domain-name-servers {{ server.name_servers|join( ', ') }}; |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 71 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 72 | allow booting; |
| 73 | allow bootp; |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 74 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 75 | option fqdn.no-client-update on; # set the "O" and "S" flag bits |
| 76 | option fqdn.rcode2 255; |
| 77 | option pxegrub code 150 = text ; |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 78 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 79 | {# |
Ales Komarek | 3162e35 | 2014-09-21 16:45:03 +0200 | [diff] [blame] | 80 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 81 | <% if has_variable?( 'pxeserver' ) && |
| 82 | has_variable?( 'pxefilename' ) && |
| 83 | @pxeserver && |
| 84 | @pxefilename -%> |
| 85 | # PXE Handoff. |
| 86 | next-server <%= @pxeserver %>; |
| 87 | filename "<%= @pxefilename %>"; |
| 88 | <% end -%> |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 89 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 90 | #} |
Ales Komarek | 63c2db5 | 2014-09-15 09:26:22 +0200 | [diff] [blame] | 91 | |
Ales Komarek | 6d9bc2c | 2014-09-21 17:25:05 +0200 | [diff] [blame] | 92 | include "{{ server.config.dir }}/dhcpd.hosts"; |
| 93 | |
| 94 | {%- endif -%} |