diff --git a/manifests/compute.pp b/manifests/compute.pp index 9c25d9b8a..c5ae81443 100644 --- a/manifests/compute.pp +++ b/manifests/compute.pp @@ -192,6 +192,22 @@ # one will be chosen. # Defaults to $::os_service_default # +# [*running_deleted_instance_action*] +# (optional) The compute service periodically checks for instances that +# have been deleted in the database but remain running on the compute node. +# This option enables action to be taken when such instances are identified +# Defaults to $::os_service_default +# +# [*running_deleted_instance_poll_interval*] +# (optional) Time interval in seconds to wait between runs for the clean up +# action. If set to 0, deleted instances check will be disabled. +# Defaults to $::os_service_default +# +# [*running_deleted_instance_timeout*] +# (optional) Time interval in seconds to wait for the instances that have +# been marked as deleted in database to be eligible for cleanup. +# Defaults to $::os_service_default +# # DEPRECATED PARAMETERS # # [*neutron_enabled*] @@ -259,6 +275,9 @@ class nova::compute ( $live_migration_wait_for_vif_plug = $::os_service_default, $max_disk_devices_to_attach = $::os_service_default, $default_access_ip_network_name = $::os_service_default, + $running_deleted_instance_action = $::os_service_default, + $running_deleted_instance_poll_interval = $::os_service_default, + $running_deleted_instance_timeout = $::os_service_default, # DEPRECATED PARAMETERS $neutron_enabled = undef, $install_bridge_utils = undef, @@ -401,6 +420,10 @@ Use the same parameter in nova::api class.') 'compute/live_migration_wait_for_vif_plug': value => $live_migration_wait_for_vif_plug; 'compute/max_disk_devices_to_attach': value => $max_disk_devices_to_attach; 'DEFAULT/default_access_ip_network_name': value => $default_access_ip_network_name; + 'DEFAULT/running_deleted_instance_action': value => $running_deleted_instance_action; + 'DEFAULT/running_deleted_instance_poll_interval': + value => $running_deleted_instance_poll_interval; + 'DEFAULT/running_deleted_instance_timeout': value => $running_deleted_instance_timeout; } if ($vnc_enabled) { diff --git a/releasenotes/notes/add_running_deleted_instance_options-060792280c684273.yaml b/releasenotes/notes/add_running_deleted_instance_options-060792280c684273.yaml new file mode 100644 index 000000000..924d8732f --- /dev/null +++ b/releasenotes/notes/add_running_deleted_instance_options-060792280c684273.yaml @@ -0,0 +1,14 @@ +--- +features: + - | + The new ``nova::compute::running_deleted_instance_action`` parameter has + been added to support to select the action to be taken when a instance is + identified as deleted. + - | + The new ``nova::compute::running_deleted_instance_poll_interval`` + parameter has been added to support to set a time interval to wait + between runs for the clean up action. + - | + The new ``nova::compute::running_deleted_instance_timeout`` parameter has + been added to support to set a time interval to wait for the deleted + instances cleanup. diff --git a/spec/classes/nova_compute_spec.rb b/spec/classes/nova_compute_spec.rb index d5920149d..8d9aa6978 100644 --- a/spec/classes/nova_compute_spec.rb +++ b/spec/classes/nova_compute_spec.rb @@ -58,6 +58,9 @@ describe 'nova::compute' do it { is_expected.to contain_nova_config('compute/live_migration_wait_for_vif_plug').with_value('') } it { is_expected.to contain_nova_config('compute/max_disk_devices_to_attach').with_value('') } it { is_expected.to contain_nova_config('DEFAULT/default_access_ip_network_name').with_value('') } + it { is_expected.to contain_nova_config('DEFAULT/running_deleted_instance_action').with_value('') } + it { is_expected.to contain_nova_config('DEFAULT/running_deleted_instance_poll_interval').with_value('') } + it { is_expected.to contain_nova_config('DEFAULT/running_deleted_instance_timeout').with_value('') } it { is_expected.to_not contain_package('bridge-utils').with( :ensure => 'present', @@ -100,6 +103,9 @@ describe 'nova::compute' do :live_migration_wait_for_vif_plug => true, :max_disk_devices_to_attach => 20, :default_access_ip_network_name => 'public', + :running_deleted_instance_action => 'shutdown', + :running_deleted_instance_poll_interval => '900', + :running_deleted_instance_timeout => '200', } end @@ -153,6 +159,9 @@ describe 'nova::compute' do it { is_expected.to contain_nova_config('compute/live_migration_wait_for_vif_plug').with_value(true) } it { is_expected.to contain_nova_config('compute/max_disk_devices_to_attach').with_value(20) } it { is_expected.to contain_nova_config('DEFAULT/default_access_ip_network_name').with_value('public') } + it { is_expected.to contain_nova_config('DEFAULT/running_deleted_instance_action').with_value('shutdown') } + it { is_expected.to contain_nova_config('DEFAULT/running_deleted_instance_poll_interval').with_value('900') } + it { is_expected.to contain_nova_config('DEFAULT/running_deleted_instance_timeout').with_value('200') } it 'configures nova config_drive_format to vfat' do is_expected.to contain_nova_config('DEFAULT/config_drive_format').with_value('vfat')