From 145d228d0fd7955b140adf46aab856d08ada8b89 Mon Sep 17 00:00:00 2001 From: Sebastien Badia Date: Mon, 8 Dec 2014 01:26:43 +0100 Subject: [PATCH] network/dhcp: Update deprecated option dnsmasq_server dnsmasq_dns_server is deprecated since approx. 1 year, the new option is dnsmasq_dns_servers (an array of DNS IP). See: https://github.com/openstack/neutron/commit/a269541c603f8923b35b7e722f1b8c0ebd42c95a Change-Id: I752fc0c6b176d36e9fc5d35609e533f2659afdd4 --- manifests/network/dhcp.pp | 16 ++++++++-------- spec/classes/cloud_network_dhcp_spec.rb | 12 +++++++++--- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/manifests/network/dhcp.pp b/manifests/network/dhcp.pp index d4abee4f..4357e6a3 100644 --- a/manifests/network/dhcp.pp +++ b/manifests/network/dhcp.pp @@ -16,10 +16,10 @@ # Network DHCP node # class cloud::network::dhcp( - $veth_mtu = 1500, - $debug = true, - $dnsmasq_dns_server = false, - $firewall_settings = {}, + $veth_mtu = 1500, + $debug = true, + $dnsmasq_dns_servers = false, + $firewall_settings = {}, ) { include 'cloud::network' @@ -31,12 +31,12 @@ class cloud::network::dhcp( enable_isolated_metadata => true } - if $dnsmasq_dns_server { - neutron_dhcp_agent_config { 'DEFAULT/dnsmasq_dns_server': - value => $dnsmasq_dns_server + if $dnsmasq_dns_servers { + neutron_dhcp_agent_config { 'DEFAULT/dnsmasq_dns_servers': + value => join($dnsmasq_dns_servers, ',') } } else { - neutron_dhcp_agent_config { 'DEFAULT/dnsmasq_dns_server': + neutron_dhcp_agent_config { 'DEFAULT/dnsmasq_dns_servers': ensure => absent } } diff --git a/spec/classes/cloud_network_dhcp_spec.rb b/spec/classes/cloud_network_dhcp_spec.rb index 579f4d3e..9f0cfe98 100644 --- a/spec/classes/cloud_network_dhcp_spec.rb +++ b/spec/classes/cloud_network_dhcp_spec.rb @@ -66,7 +66,7 @@ describe 'cloud::network::dhcp' do :enable_isolated_metadata => true ) - is_expected.to contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_dns_server').with_ensure('absent') + is_expected.to contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_dns_servers').with_ensure('absent') is_expected.to contain_file('/etc/neutron/dnsmasq-neutron.conf').with( :mode => '0755', @@ -94,7 +94,7 @@ describe 'cloud::network::dhcp' do let :params do { :veth_mtu => '1400', :debug => true, - :dnsmasq_dns_server => '1.2.3.4' } + :dnsmasq_dns_servers => ['1.2.3.4'] } end it 'configure neutron dhcp' do @@ -104,7 +104,7 @@ describe 'cloud::network::dhcp' do is_expected.to contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_config_file').with_value('/etc/neutron/dnsmasq-neutron.conf') is_expected.to contain_neutron_dhcp_agent_config('DEFAULT/enable_isolated_metadata').with_value(true) - is_expected.to contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_dns_server').with_value('1.2.3.4') + is_expected.to contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_dns_servers').with_value('1.2.3.4') is_expected.to contain_file('/etc/neutron/dnsmasq-neutron.conf').with( :mode => '0755', @@ -112,6 +112,12 @@ describe 'cloud::network::dhcp' do :group => 'root' ) is_expected.to contain_file('/etc/neutron/dnsmasq-neutron.conf').with_content(/^dhcp-option-force=26,1400$/) + + end + + context 'with more than one dns server' do + before { params.merge!(:dnsmasq_dns_servers => ['1.2.3.4','4.3.2.1','2.2.2.2']) } + it { is_expected.to contain_neutron_dhcp_agent_config('DEFAULT/dnsmasq_dns_servers').with_value('1.2.3.4,4.3.2.1,2.2.2.2') } end context 'with default firewall enabled' do