|
33 | 33 | directory "/etc/dhcp3/subnets.d" |
34 | 34 | directory "/etc/dhcp3/hosts.d" |
35 | 35 |
|
36 | | -file "/etc/dhcp3/groups.d/group_list.conf" do |
| 36 | +# This needs to be evaled. |
| 37 | +admin_network = Chef::Recipe::Barclamp::Inventory.get_network_by_type(node, "admin") |
| 38 | +address = admin_network.address |
| 39 | +intfs = [admin_network.interface] |
| 40 | + |
| 41 | +group_list = DhcpHelper.config_filename("group_list", admin_network.ip_version) |
| 42 | +file "/etc/dhcp3/groups.d/#{group_list}" do |
37 | 43 | owner "root" |
38 | 44 | group "root" |
39 | 45 | mode 0644 |
40 | 46 | end |
41 | | -file "/etc/dhcp3/subnets.d/subnet_list.conf" do |
| 47 | +subnet_list = DhcpHelper.config_filename("subnet_list", admin_network.ip_version) |
| 48 | +file "/etc/dhcp3/subnets.d/#{subnet_list}" do |
42 | 49 | owner "root" |
43 | 50 | group "root" |
44 | 51 | mode 0644 |
45 | 52 | end |
46 | | -file "/etc/dhcp3/hosts.d/host_list.conf" do |
| 53 | +host_list = DhcpHelper.config_filename("host_list", admin_network.ip_version) |
| 54 | +file "/etc/dhcp3/hosts.d/#{host_list}" do |
47 | 55 | owner "root" |
48 | 56 | group "root" |
49 | 57 | mode 0644 |
|
59 | 67 | not_if "test -f /etc/dhcp3/omapi.key" |
60 | 68 | end |
61 | 69 |
|
62 | | -# This needs to be evaled. |
63 | | -intfs = [Chef::Recipe::Barclamp::Inventory.get_network_by_type(node, "admin").interface] |
64 | | -address = Chef::Recipe::Barclamp::Inventory.get_network_by_type(node, "admin").address |
65 | 70 |
|
66 | | -d_opts = node[:dhcp][:options] |
| 71 | +d_opts = node[:dhcp][:options]["v#{admin_network.ip_version}"] |
| 72 | +dhcpd_conf = DhcpHelper.config_filename("dhcpd", admin_network.ip_version) |
67 | 73 |
|
68 | 74 | case node[:platform_family] |
69 | 75 | when "debian" |
70 | 76 | case node[:lsb][:codename] |
71 | 77 | when "natty","oneiric","precise" |
72 | | - template "/etc/dhcp/dhcpd.conf" do |
| 78 | + template "/etc/dhcp/#{dhcpd_conf}" do |
73 | 79 | owner "root" |
74 | 80 | group "root" |
75 | 81 | mode 0644 |
76 | 82 | source "dhcpd.conf.erb" |
77 | | - variables(options: d_opts) |
| 83 | + variables(options: d_opts, ip_version: admin_network.ip_version) |
78 | 84 | if node[:provisioner][:enable_pxe] |
79 | 85 | notifies :restart, "service[dhcp3-server]" |
80 | 86 | end |
|
90 | 96 | end |
91 | 97 | end |
92 | 98 | else |
93 | | - template "/etc/dhcp3/dhcpd.conf" do |
| 99 | + template "/etc/dhcp3/#{dhcpd_conf}" do |
94 | 100 | owner "root" |
95 | 101 | group "root" |
96 | 102 | mode 0644 |
97 | 103 | source "dhcpd.conf.erb" |
98 | | - variables(options: d_opts) |
| 104 | + variables(options: d_opts, ip_version: admin_network.ip_version) |
99 | 105 | if node[:provisioner][:enable_pxe] |
100 | 106 | notifies :restart, "service[dhcp3-server]" |
101 | 107 | end |
|
115 | 121 |
|
116 | 122 | dhcp_config_file = case |
117 | 123 | when node[:platform_version].to_f >= 6 |
118 | | - "/etc/dhcp/dhcpd.conf" |
| 124 | + "/etc/dhcp/#{dhcpd_conf}" |
119 | 125 | else |
120 | | - "/etc/dhcpd.conf" |
| 126 | + "/etc/#{dhcpd_conf}" |
121 | 127 | end |
122 | 128 |
|
123 | 129 | template dhcp_config_file do |
124 | 130 | owner "root" |
125 | 131 | group "root" |
126 | 132 | mode 0644 |
127 | 133 | source "dhcpd.conf.erb" |
128 | | - variables(options: d_opts) |
| 134 | + variables(options: d_opts, ip_version: admin_network.ip_version) |
129 | 135 | if node[:provisioner][:enable_pxe] |
130 | 136 | notifies :restart, "service[dhcp3-server]" |
131 | 137 | end |
|
143 | 149 | end |
144 | 150 |
|
145 | 151 | when "suse" |
146 | | - template "/etc/dhcpd.conf" do |
| 152 | + template "/etc/#{dhcpd_conf}" do |
147 | 153 | owner "root" |
148 | 154 | group "root" |
149 | 155 | mode 0644 |
150 | 156 | source "dhcpd.conf.erb" |
151 | | - variables(options: d_opts) |
| 157 | + variables(options: d_opts, ip_version: admin_network.ip_version) |
152 | 158 | if node[:provisioner][:enable_pxe] |
153 | 159 | notifies :restart, "service[dhcp3-server]" |
154 | 160 | end |
|
168 | 174 |
|
169 | 175 | service "dhcp3-server" do |
170 | 176 | if %w(suse rhel).include?(node[:platform_family]) |
171 | | - service_name "dhcpd" |
| 177 | + service_name DhcpHelper.config_filename("dhcpd", admin_network.ip_version, "") |
172 | 178 | elsif node[:platform] == "ubuntu" |
173 | 179 | case node[:lsb][:codename] |
174 | 180 | when "maverick" |
|
0 commit comments