From ea6f81da0d1bdc81cb9b7ae7f4ff84a00da80df0 Mon Sep 17 00:00:00 2001 From: Wei Tie Date: Wed, 1 Apr 2015 15:36:57 +0800 Subject: [PATCH] Nova metadata protocol should be configurable Metadata agent request nova metadata endpoint by default via http, it will get issue if nova's endpoints are over https. The configuration should be part of puppet. Change-Id: Id57b81a8f8f0998f363ee9ee8f0a162d279dcaf9 Closes-bug: #1439034 --- manifests/agents/metadata.pp | 5 ++++ spec/classes/neutron_agents_metadata_spec.rb | 28 +++++++++++--------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/manifests/agents/metadata.pp b/manifests/agents/metadata.pp index 84bb2f3ee..7ecbd07df 100644 --- a/manifests/agents/metadata.pp +++ b/manifests/agents/metadata.pp @@ -48,6 +48,9 @@ # [*metadata_port*] # The TCP port of the metadata service. Defaults to 8775. # +# [*metadata_protocol*] +# The protocol to use for requests to Nova metadata server. Defaults to 'http'. +# # [*metadata_workers*] # (optional) Number of separate worker processes to spawn. # The default, count of machine's processors, runs the worker thread in the @@ -83,6 +86,7 @@ class neutron::agents::metadata ( $auth_region = 'RegionOne', $metadata_ip = '127.0.0.1', $metadata_port = '8775', + $metadata_protocol = 'http', $metadata_workers = $::processorcount, $metadata_backlog = '4096', $metadata_memory_cache_ttl = 5, @@ -104,6 +108,7 @@ class neutron::agents::metadata ( 'DEFAULT/admin_password': value => $auth_password, secret => true; 'DEFAULT/nova_metadata_ip': value => $metadata_ip; 'DEFAULT/nova_metadata_port': value => $metadata_port; + 'DEFAULT/nova_metadata_protocol': value => $metadata_protocol; 'DEFAULT/metadata_proxy_shared_secret': value => $shared_secret; 'DEFAULT/metadata_workers': value => $metadata_workers; 'DEFAULT/metadata_backlog': value => $metadata_backlog; diff --git a/spec/classes/neutron_agents_metadata_spec.rb b/spec/classes/neutron_agents_metadata_spec.rb index ec28f14ac..fa27f1050 100644 --- a/spec/classes/neutron_agents_metadata_spec.rb +++ b/spec/classes/neutron_agents_metadata_spec.rb @@ -7,19 +7,20 @@ describe 'neutron::agents::metadata' do end let :params do - { :package_ensure => 'present', - :debug => false, - :enabled => true, - :auth_url => 'http://localhost:35357/v2.0', - :auth_insecure => false, - :auth_region => 'RegionOne', - :auth_tenant => 'services', - :auth_user => 'neutron', - :auth_password => 'password', - :metadata_ip => '127.0.0.1', - :metadata_port => '8775', - :metadata_backlog => '4096', - :shared_secret => 'metadata-secret' + { :package_ensure => 'present', + :debug => false, + :enabled => true, + :auth_url => 'http://localhost:35357/v2.0', + :auth_insecure => false, + :auth_region => 'RegionOne', + :auth_tenant => 'services', + :auth_user => 'neutron', + :auth_password => 'password', + :metadata_ip => '127.0.0.1', + :metadata_port => '8775', + :metadata_protocol => 'http', + :metadata_backlog => '4096', + :shared_secret => 'metadata-secret' } end @@ -57,6 +58,7 @@ describe 'neutron::agents::metadata' do is_expected.to contain_neutron_metadata_agent_config('DEFAULT/admin_password').with_secret( true ) is_expected.to contain_neutron_metadata_agent_config('DEFAULT/nova_metadata_ip').with(:value => params[:metadata_ip]) is_expected.to contain_neutron_metadata_agent_config('DEFAULT/nova_metadata_port').with(:value => params[:metadata_port]) + is_expected.to contain_neutron_metadata_agent_config('DEFAULT/nova_metadata_protocol').with(:value => params[:metadata_protocol]) is_expected.to contain_neutron_metadata_agent_config('DEFAULT/metadata_workers').with(:value => facts[:processorcount]) is_expected.to contain_neutron_metadata_agent_config('DEFAULT/metadata_backlog').with(:value => params[:metadata_backlog]) is_expected.to contain_neutron_metadata_agent_config('DEFAULT/metadata_proxy_shared_secret').with(:value => params[:shared_secret])