diff --git a/manifests/agents/dhcp.pp b/manifests/agents/dhcp.pp index 599c2c30f..7185fe0e6 100644 --- a/manifests/agents/dhcp.pp +++ b/manifests/agents/dhcp.pp @@ -69,7 +69,7 @@ # # [*enable_force_metadata*] # (optional) enable metadata support on all networks. -# Defaults to $::os_service_default +# Defaults to false. # # [*enable_metadata_network*] # (optional) Allows for serving metadata requests coming from a dedicated metadata @@ -139,7 +139,7 @@ class neutron::agents::dhcp ( $dnsmasq_lease_max = $::os_service_default, $dnsmasq_enable_addr6_list = $::os_service_default, $enable_isolated_metadata = false, - $enable_force_metadata = $::os_service_default, + $enable_force_metadata = false, $enable_metadata_network = false, $dhcp_broadcast_reply = $::os_service_default, $purge_config = false, @@ -156,14 +156,18 @@ class neutron::agents::dhcp ( include neutron::deps include neutron::params + validate_legacy('Boolean', 'validate_bool', $enable_isolated_metadata) + validate_legacy('Boolean', 'validate_bool', $enable_force_metadata) + validate_legacy('Boolean', 'validate_bool', $enable_metadata_network) + if (! ($enable_isolated_metadata or $enable_force_metadata)) and $enable_metadata_network { fail('enable_metadata_network to true requires enable_isolated_metadata or enable_force_metadata also enabled.') - } else { - neutron_dhcp_agent_config { - 'DEFAULT/enable_isolated_metadata': value => $enable_isolated_metadata; - 'DEFAULT/force_metadata': value => $enable_force_metadata; - 'DEFAULT/enable_metadata_network': value => $enable_metadata_network; - } + } + + neutron_dhcp_agent_config { + 'DEFAULT/enable_isolated_metadata': value => $enable_isolated_metadata; + 'DEFAULT/force_metadata': value => $enable_force_metadata; + 'DEFAULT/enable_metadata_network': value => $enable_metadata_network; } resources { 'neutron_dhcp_agent_config': diff --git a/spec/classes/neutron_agents_dhcp_spec.rb b/spec/classes/neutron_agents_dhcp_spec.rb index 6261f8160..bd56b48f2 100644 --- a/spec/classes/neutron_agents_dhcp_spec.rb +++ b/spec/classes/neutron_agents_dhcp_spec.rb @@ -18,6 +18,7 @@ describe 'neutron::agents::dhcp' do :interface_driver => 'neutron.agent.linux.interface.OVSInterfaceDriver', :root_helper => 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf', :enable_isolated_metadata => false, + :enable_force_metadata => false, :enable_metadata_network => false, :purge_config => false } @@ -38,7 +39,7 @@ describe 'neutron::agents::dhcp' do should contain_neutron_dhcp_agent_config('DEFAULT/dhcp_driver').with_value(''); should contain_neutron_dhcp_agent_config('DEFAULT/root_helper').with_value(p[:root_helper]); should contain_neutron_dhcp_agent_config('DEFAULT/enable_isolated_metadata').with_value(p[:enable_isolated_metadata]); - should contain_neutron_dhcp_agent_config('DEFAULT/force_metadata').with_value(''); + should contain_neutron_dhcp_agent_config('DEFAULT/force_metadata').with_value(p[:enable_force_metadata]); should contain_neutron_dhcp_agent_config('DEFAULT/enable_metadata_network').with_value(p[:enable_metadata_network]); should contain_neutron_dhcp_agent_config('DEFAULT/dhcp_broadcast_reply').with_value(''); should contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_local_resolv').with_value('');