Isolated network support

This patch aims to enable support for both:
- isolated metadata which enable metadata support on isolated networks.
- metadata networks which allows for serving metadata requests coming
  from a dedicated metadata access network

Change-Id: I0e892c4183bd2bf1910b9b6758c1759475053529
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
This commit is contained in:
Emilien Macchi
2013-12-24 18:32:06 +01:00
parent 5abee51f2e
commit 8654569fb4
2 changed files with 57 additions and 2 deletions

View File

@@ -21,7 +21,9 @@ describe 'neutron::agents::dhcp' do
:root_helper => 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf',
:use_namespaces => true,
:dnsmasq_config_file => nil,
:dhcp_delete_namespaces => false }
:dhcp_delete_namespaces => false,
:enable_isolated_metadata => false,
:enable_metadata_network => false }
end
@@ -43,6 +45,8 @@ describe 'neutron::agents::dhcp' do
should contain_neutron_dhcp_agent_config('DEFAULT/root_helper').with_value(p[:root_helper]);
should contain_neutron_dhcp_agent_config('DEFAULT/use_namespaces').with_value(p[:use_namespaces]);
should contain_neutron_dhcp_agent_config('DEFAULT/dhcp_delete_namespaces').with_value(p[:dhcp_delete_namespaces]);
should contain_neutron_dhcp_agent_config('DEFAULT/enable_isolated_metadata').with_value(p[:enable_isolated_metadata]);
should contain_neutron_dhcp_agent_config('DEFAULT/enable_metadata_network').with_value(p[:enable_metadata_network]);
end
it 'installs neutron dhcp agent package' do
@@ -67,6 +71,35 @@ describe 'neutron::agents::dhcp' do
:require => 'Class[Neutron]'
)
end
context 'when enabling isolated metadata only' do
before :each do
params.merge!(:enable_isolated_metadata => true, :enable_metadata_network => false)
end
it 'should enable isolated_metadata only' do
should contain_neutron_dhcp_agent_config('DEFAULT/enable_isolated_metadata').with_value('true');
should contain_neutron_dhcp_agent_config('DEFAULT/enable_metadata_network').with_value('false');
end
end
context 'when enabling isolated metadata with metadata networks' do
before :each do
params.merge!(:enable_isolated_metadata => true, :enable_metadata_network => true)
end
it 'should enable both isolated_metadata and metadata_network' do
should contain_neutron_dhcp_agent_config('DEFAULT/enable_isolated_metadata').with_value('true');
should contain_neutron_dhcp_agent_config('DEFAULT/enable_metadata_network').with_value('true');
end
end
context 'when enabling metadata networks without enabling isolated metadata' do
before :each do
params.merge!(:enable_isolated_metadata => false, :enable_metadata_network => true)
end
it 'should fails to configure metadata_network without isolated_metadata' do
expect { subject }.to raise_error(Puppet::Error, /enable_metadata_network to true requires enable_isolated_metadata also enabled./)
end
end
end
shared_examples_for 'neutron dhcp agent with dnsmasq_config_file specified' do