fixes
diff --git a/files/dhcpd.conf b/files/dhcpd.conf
index 8681c92..13375a6 100644
--- a/files/dhcpd.conf
+++ b/files/dhcpd.conf
@@ -4,32 +4,48 @@
omapi-port {{ server.omapi_port }};
{% endif -%}
+{%- if server.ddns_updates is defined %}
+
+ddns-updates on;
+ddns-update-style interim;
+
+update-static-leases on;
+use-host-decl-names on;
+
+{#
+# Key from bind
+include "<%= @dnsupdatekey %>";
+<% @dnsdomain.each do |dom| -%>
+zone <%= dom %>. {
+ primary <%= @nameservers.first %>;
+ key <%= @dnskeyname%>;
+}
+#}
+
+{%- else -%}
+
ddns-update-style {{ server.ddns_update_style|default('none') }};
-{%- if server.ddns_updates is defined %}
-ddns-updates {{ server.ddns_updates }};
-{%- endif -%}
+{%- endif %}
{%- if server.update_static_leases is defined %}
update-static-leases {{ server.update_static_leases }};
-{%- endif -%}
+{%- endif %}
{%- if server.use_host_decl_names is defined %}
use-host-decl-names {{ server.use_host_decl_names }};
-{{- "\n" }}
-{%- endif -%}
+{%- endif %}
-{%- if server.zones is defined -%}
-{%- for zone in server.dhcpd.zones|default({}) %}
-zone {{ zone.name }} {
+{%- for zone_name, zone in server.zone.iteritems() %}
+
+zone {{ zone_name }} {
primary {{ zone.primary }};
{%- if 'key' in zone %}
key {{ zone.key|default('rndc-key') }};
{%- endif %}
}
-{{- "\n" }}
-{%- endfor -%}
-{%- endif %}
+
+{%- endfor %}
default-lease-time {{ server.default_lease_time|default('600') }};
max-lease-time {{ server.max_lease_time|default('7200') }};
@@ -50,36 +66,29 @@
{{- "\n" }}
{%- endif -%}
-{%- if server.allow is defined -%}
- {%- for a in server.dhcpd.allow|default([]) %}
-allow {{ a }};
- {%- endfor -%}
-{{ "\n" }}
-{%- endif -%}
+option domain-name "{{ server.domain_name }}";
+option domain-name-servers {{ server.name_servers|join( ', ') }};
-{%- if server.deny is defined -%}
- {%- for d in server.dhcpd.deny|default([]) %}
-deny {{ d }};
- {%- endfor -%}
-{{ "\n" }}
-{%- endif -%}
+allow booting;
+allow bootp;
-{%- if server.ignore is defined -%}
- {%- for i in server.ignore|default([]) %}
-ignore {{ i }};
- {%- endfor -%}
-{{ "\n" }}
-{%- endif -%}
+option fqdn.no-client-update on; # set the "O" and "S" flag bits
+option fqdn.rcode2 255;
+option pxegrub code 150 = text ;
-{%- set options = server.default_options|default([]) -%}
+{#
-{%- if server.dhcpd.options is defined -%}
- {%- do options.extend(server.dhcpd.options) -%}
-{%- endif -%}
+<% if has_variable?( 'pxeserver' ) &&
+ has_variable?( 'pxefilename' ) &&
+ @pxeserver &&
+ @pxefilename -%>
+# PXE Handoff.
+next-server <%= @pxeserver %>;
+filename "<%= @pxefilename %>";
+<% end -%>
-{%- for o in options %}
-option {{ o }};
-{%- endfor -%}
-{%- set options = [] -%}
+#}
-{%- endif -%}
+include "{{ server.config.dir }}/dhcpd.hosts";
+
+{%- endif -%}
\ No newline at end of file