From 9b3e07f3f5ace3ff339dc1f79734373f161b5620 Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 19 Feb 2023 02:59:11 +0100 Subject: [PATCH] Allow dhcp hosts and regular hosts --- personal_infra/puppet/modules/dns_dhcp/manifests/init.pp | 9 +++++++-- .../puppet/modules/dns_dhcp/templates/internal.epp | 6 +++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp index 799cad2..f7c7972 100644 --- a/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp +++ b/personal_infra/puppet/modules/dns_dhcp/manifests/init.pp @@ -2,8 +2,12 @@ class dns_dhcp { $domain = lookup('network.dns_dhcp.domain') $hostvars = lookup('hostvars') - $fixed_host_vars = $hostvars.filter |$host, $vars| { $vars['network'] and $vars['network']['dhcp_server'] == $facts["networking"]["fqdn"] } - $fixed_hosts = Hash($fixed_host_vars.map |$host, $vars| { [$host.match(/^[a-z0-9]+/)[0], $vars['network']['ip'] ] }) + $fixed_dhcp_host_vars = $hostvars.filter |$host, $vars| { $vars['network'] and $vars['network']['dhcp_server'] == $facts["networking"]["fqdn"] } + $fixed_dhcp_hosts = Hash($fixed_dhcp_host_vars.map |$host, $vars| { [$host.match(/^[-a-z0-9]+/)[0], $vars['network']['ip'] ] }) + + $fixed_host_vars = $hostvars.filter |$host, $vars| { $vars['network'] and $vars['network']['register_dns_server'] == $facts["networking"]["fqdn"] } + $fixed_hosts = Hash($fixed_host_vars.map |$host, $vars| { [$host.match(/^[-a-z0-9]+/)[0], $vars['network']['ip'] ] }) + package {'dnsmasq':} -> @@ -16,6 +20,7 @@ class dns_dhcp { content => epp('dns_dhcp/internal', { 'dns_dhcp' => lookup("network.dns_dhcp"), 'dns_other_server_defs' => $dns_other_server_defs, + 'fixed_dhcp_hosts' => $fixed_dhcp_hosts, 'fixed_hosts' => $fixed_hosts, }), } diff --git a/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp b/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp index 10f47d1..fbd896b 100644 --- a/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp +++ b/personal_infra/puppet/modules/dns_dhcp/templates/internal.epp @@ -21,6 +21,10 @@ server=/<%= $server_def['network_name'] %>/<%= $server_def['dns_ip'] %> rev-server=<%= $server_def['reverse_ip_range'] %>,<%= $server_def['dns_ip'] %> <% } %> -<% $fixed_hosts.each |$host, $ip| { %> +<% $fixed_dhcp_hosts.each |$host, $ip| { %> dhcp-host=<%= $host %>,<%= $ip %>,<%= $host %> <% } %> + +<% $fixed_hosts.each |$host, $ip| { %> +host-record=<%= $host %>,<%= $host %>.<%= $dns_dhcp['domain'] %>,<%= $ip %> +<% } %> -- 2.47.3