From a2393f6465b2d1443685255c64f6f3cf8a4e6362 Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 10 Jun 2014 11:00:47 +0200 Subject: [PATCH] Increase glance_num_retries for Glance and Cinder Sometimes but very often, nova-compute fails to start a VM when using a large RAW image from Glance (RBD driver). After looking in the code, it looks like we could increase the number of retries when downloading an image from Glance. Closes-bug #505 --- manifests/compute.pp | 1 + manifests/volume/api.pp | 3 ++- spec/classes/cloud_compute_api_spec.rb | 1 + spec/classes/cloud_compute_cert_spec.rb | 1 + spec/classes/cloud_compute_conductor_spec.rb | 1 + spec/classes/cloud_compute_consoleauth_spec.rb | 1 + spec/classes/cloud_compute_consoleproxy_spec.rb | 1 + spec/classes/cloud_compute_controller_spec.rb | 1 + spec/classes/cloud_compute_hypervisor_spec.rb | 1 + spec/classes/cloud_compute_scheduler_spec.rb | 1 + spec/classes/cloud_volume_controller_spec.rb | 3 ++- 11 files changed, 13 insertions(+), 2 deletions(-) diff --git a/manifests/compute.pp b/manifests/compute.pp index 1a7e63d3..55743872 100644 --- a/manifests/compute.pp +++ b/manifests/compute.pp @@ -129,6 +129,7 @@ class cloud::compute( 'DEFAULT/resume_guests_state_on_host_boot': value => true; 'DEFAULT/default_availability_zone': value => $availability_zone; 'DEFAULT/servicegroup_driver': value => 'mc'; + 'DEFAULT/glance_num_retries': value => '10'; } # Note(EmilienM): diff --git a/manifests/volume/api.pp b/manifests/volume/api.pp index 34a88399..f671a556 100644 --- a/manifests/volume/api.pp +++ b/manifests/volume/api.pp @@ -49,7 +49,8 @@ class cloud::volume::api( class { 'cinder::glance': glance_api_servers => "${ks_glance_internal_host}:${ks_glance_api_internal_port}", - glance_request_timeout => '10' + glance_request_timeout => '10', + glance_num_retries => '10' } @@haproxy::balancermember{"${::fqdn}-cinder_api": diff --git a/spec/classes/cloud_compute_api_spec.rb b/spec/classes/cloud_compute_api_spec.rb index 1509a8f9..0106a678 100644 --- a/spec/classes/cloud_compute_api_spec.rb +++ b/spec/classes/cloud_compute_api_spec.rb @@ -71,6 +71,7 @@ describe 'cloud::compute::api' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('DEFAULT/servicegroup_driver').with_value('mc') + should contain_nova_config('DEFAULT/glance_num_retries').with_value('10') end it 'configure neutron on compute node' do diff --git a/spec/classes/cloud_compute_cert_spec.rb b/spec/classes/cloud_compute_cert_spec.rb index ebc9fb85..7ba4babb 100644 --- a/spec/classes/cloud_compute_cert_spec.rb +++ b/spec/classes/cloud_compute_cert_spec.rb @@ -61,6 +61,7 @@ describe 'cloud::compute::cert' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('DEFAULT/servicegroup_driver').with_value('mc') + should contain_nova_config('DEFAULT/glance_num_retries').with_value('10') end it 'configure neutron on compute node' do diff --git a/spec/classes/cloud_compute_conductor_spec.rb b/spec/classes/cloud_compute_conductor_spec.rb index 88021187..5c263237 100644 --- a/spec/classes/cloud_compute_conductor_spec.rb +++ b/spec/classes/cloud_compute_conductor_spec.rb @@ -61,6 +61,7 @@ describe 'cloud::compute::conductor' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('DEFAULT/servicegroup_driver').with_value('mc') + should contain_nova_config('DEFAULT/glance_num_retries').with_value('10') end it 'configure neutron on compute node' do diff --git a/spec/classes/cloud_compute_consoleauth_spec.rb b/spec/classes/cloud_compute_consoleauth_spec.rb index 4b74a765..8969aa18 100644 --- a/spec/classes/cloud_compute_consoleauth_spec.rb +++ b/spec/classes/cloud_compute_consoleauth_spec.rb @@ -61,6 +61,7 @@ describe 'cloud::compute::consoleauth' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('DEFAULT/servicegroup_driver').with_value('mc') + should contain_nova_config('DEFAULT/glance_num_retries').with_value('10') end it 'configure neutron on compute node' do diff --git a/spec/classes/cloud_compute_consoleproxy_spec.rb b/spec/classes/cloud_compute_consoleproxy_spec.rb index 0091a858..318c2750 100644 --- a/spec/classes/cloud_compute_consoleproxy_spec.rb +++ b/spec/classes/cloud_compute_consoleproxy_spec.rb @@ -66,6 +66,7 @@ describe 'cloud::compute::consoleproxy' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('DEFAULT/servicegroup_driver').with_value('mc') + should contain_nova_config('DEFAULT/glance_num_retries').with_value('10') end it 'configure neutron on compute node' do diff --git a/spec/classes/cloud_compute_controller_spec.rb b/spec/classes/cloud_compute_controller_spec.rb index 9f5c2034..2b46d52a 100644 --- a/spec/classes/cloud_compute_controller_spec.rb +++ b/spec/classes/cloud_compute_controller_spec.rb @@ -72,6 +72,7 @@ describe 'cloud::compute::controller' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('DEFAULT/servicegroup_driver').with_value('mc') + should contain_nova_config('DEFAULT/glance_num_retries').with_value('10') end it 'configure neutron on compute node' do diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index 235a03f3..5a6681c4 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -97,6 +97,7 @@ describe 'cloud::compute::hypervisor' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('DEFAULT/servicegroup_driver').with_value('mc') + should contain_nova_config('DEFAULT/glance_num_retries').with_value('10') end it 'configure neutron on compute node' do diff --git a/spec/classes/cloud_compute_scheduler_spec.rb b/spec/classes/cloud_compute_scheduler_spec.rb index ad145d27..c894ba1b 100644 --- a/spec/classes/cloud_compute_scheduler_spec.rb +++ b/spec/classes/cloud_compute_scheduler_spec.rb @@ -61,6 +61,7 @@ describe 'cloud::compute::scheduler' do should contain_nova_config('DEFAULT/resume_guests_state_on_host_boot').with('value' => true) should contain_nova_config('DEFAULT/default_availability_zone').with('value' => 'MyZone') should contain_nova_config('DEFAULT/servicegroup_driver').with_value('mc') + should contain_nova_config('DEFAULT/glance_num_retries').with_value('10') end it 'configure neutron on compute node' do diff --git a/spec/classes/cloud_volume_controller_spec.rb b/spec/classes/cloud_volume_controller_spec.rb index 609783eb..9fbbf1af 100644 --- a/spec/classes/cloud_volume_controller_spec.rb +++ b/spec/classes/cloud_volume_controller_spec.rb @@ -110,7 +110,8 @@ describe 'cloud::volume::controller' do it 'configure cinder glance backend' do should contain_class('cinder::glance').with( :glance_api_servers => '10.0.0.2:9292', - :glance_request_timeout => '10' + :glance_request_timeout => '10', + :glance_num_retries => '10' ) end