X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/faf8ae12e85eabb050b0f5eceb2cb67ad1de5261..97aac1724da5fd406b0be6c892f43a94e846e9b8:/cookbooks/dhcpd/recipes/default.rb diff --git a/cookbooks/dhcpd/recipes/default.rb b/cookbooks/dhcpd/recipes/default.rb index 0bdba6a32..0e6b9ec3f 100644 --- a/cookbooks/dhcpd/recipes/default.rb +++ b/cookbooks/dhcpd/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: dhcpd +# Cookbook:: dhcpd # Recipe:: default # -# Copyright 2011, OpenStreetMap Foundation +# Copyright:: 2011, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -19,28 +19,64 @@ include_recipe "networking" -if node[:lsb][:release].to_f < 12.04 - package_name = "dhcp3-server" - config_file = "/etc/dhcp3/dhcpd.conf" -else - package_name = "isc-dhcp-server" - config_file = "/etc/dhcp/dhcpd.conf" +package %w[ + isc-dhcp-server + tftpd-hpa +] + +service "tftpd-hpa" do + action [:enable, :start] + supports :status => true, :restart => true +end + +remote_file "/srv/tftp/netboot.xyz.efi" do + action :create + source "https://boot.netboot.xyz/ipxe/netboot.xyz.efi" + owner "root" + group "root" + mode "644" end -package package_name +remote_file "/srv/tftp/netboot.xyz-snp.efi" do + action :create + source "https://boot.netboot.xyz/ipxe/netboot.xyz-snp.efi" + owner "root" + group "root" + mode "644" +end + +remote_file "/srv/tftp/netboot.xyz.kpxe" do + action :create + source "https://boot.netboot.xyz/ipxe/netboot.xyz.kpxe" + owner "root" + group "root" + mode "644" +end domain = "#{node[:networking][:roles][:external][:zone]}.openstreetmap.org" -template config_file do +template "/etc/dhcp/dhcpd.conf" do source "dhcpd.conf.erb" owner "root" group "root" - mode 0644 + mode "644" variables :domain => domain end -service package_name do - action [ :enable, :start ] +template "/etc/default/isc-dhcp-server" do + source "default.erb" + owner "root" + group "root" + mode "644" +end + +service "isc-dhcp-server" do + action [:enable, :start] supports :status => true, :restart => true - subscribes :restart, resources(:template => config_file) + subscribes :restart, "template[/etc/dhcp/dhcpd.conf]" + subscribes :restart, "template[/etc/default/isc-dhcp-server]" +end + +service "isc-dhcp-server6" do + action [:disable, :stop] end