diff --git a/manifests/api.pp b/manifests/api.pp index 474aa30ae..456695615 100644 --- a/manifests/api.pp +++ b/manifests/api.pp @@ -101,20 +101,6 @@ # to Glance resources. # Defaults to $facts['os_service_default'] # -# [*hide_server_address_states*] -# (optional) This option is a list of all instance states for which network address -# information should not be returned from the API. -# Defaults to $facts['os_service_default'] -# -# [*allow_instance_snapshots*] -# (optional) Operators can turn off the ability for a user to take snapshots of their -# instances by setting this option to False -# Defaults to $facts['os_service_default'] -# -# [*enable_network_quota*] -# (optional) This option is used to enable or disable quota checking for tenant networks -# Defaults to $facts['os_service_default'] -# # [*enable_instance_password*] # (optional) Enables returning of the instance password by the relevant server API calls # Defaults to $facts['os_service_default'] @@ -160,6 +146,20 @@ # enable this if you have a sanitizing proxy. # Defaults to undef # +# [*hide_server_address_states*] +# (optional) This option is a list of all instance states for which network address +# information should not be returned from the API. +# Defaults to undef +# +# [*allow_instance_snapshots*] +# (optional) Operators can turn off the ability for a user to take snapshots of their +# instances by setting this option to False +# Defaults to undef +# +# [*enable_network_quota*] +# (optional) This option is used to enable or disable quota checking for tenant networks +# Defaults to undef +# class nova::api( Boolean $enabled = true, Boolean $manage_service = true, @@ -182,9 +182,6 @@ class nova::api( $max_limit = $facts['os_service_default'], $compute_link_prefix = $facts['os_service_default'], $glance_link_prefix = $facts['os_service_default'], - $hide_server_address_states = $facts['os_service_default'], - $allow_instance_snapshots = $facts['os_service_default'], - $enable_network_quota = $facts['os_service_default'], $enable_instance_password = $facts['os_service_default'], $password_length = $facts['os_service_default'], $allow_resize_to_same_host = $facts['os_service_default'], @@ -195,6 +192,9 @@ class nova::api( # DEPRECATED PARAMETER $nova_metadata_wsgi_enabled = undef, $use_forwarded_for = undef, + $hide_server_address_states = undef, + $allow_instance_snapshots = undef, + $enable_network_quota = undef, ) inherits nova::params { include nova::deps @@ -212,6 +212,16 @@ class nova::api( warning('The use_forwarded_for parameter has been deprecated.') } + [ + 'hide_server_address_states', + 'allow_instance_snapshots', + 'enable_network_quota' + ].each |String $opt| { + if getvar($opt) != undef { + warning("The ${opt} parameter has been deprecated and has no effect.") + } + } + # sanitize service_name and prepare DEFAULT/enabled_apis parameter if $service_name == $::nova::params::api_service_name { nova_config { @@ -285,14 +295,11 @@ as a standalone service, or httpd for being run by a httpd server") nova_config { 'wsgi/api_paste_config': value => $api_paste_config; - 'DEFAULT/enable_network_quota': value => $enable_network_quota; 'DEFAULT/password_length': value => $password_length; 'api/use_forwarded_for': value => pick($use_forwarded_for, $facts['os_service_default']); 'api/max_limit': value => $max_limit; 'api/compute_link_prefix': value => $compute_link_prefix; 'api/glance_link_prefix': value => $glance_link_prefix; - 'api/hide_server_address_states': value => $hide_server_address_states; - 'api/allow_instance_snapshots': value => $allow_instance_snapshots; 'api/enable_instance_password': value => $enable_instance_password; 'DEFAULT/allow_resize_to_same_host': value => $allow_resize_to_same_host; 'api/instance_list_per_project_cells': value => $instance_list_per_project_cells; @@ -301,6 +308,13 @@ as a standalone service, or httpd for being run by a httpd server") 'api/list_records_by_skipping_down_cells': value => $list_records_by_skipping_down_cells; } + # TODO(tkajinam): Remove this after 2024.1 release + nova_config { + 'api/hide_server_address_states': ensure => absent; + 'api/allow_instance_snapshots': ensure => absent; + 'DEFAULT/enable_network_quota': ensure => absent; + } + # Added arg and if statement prevents this from being run # where db is not active i.e. the compute if $sync_db { diff --git a/releasenotes/notes/deprecate-removed-api-opts-47cc2cd25e9cf286.yaml b/releasenotes/notes/deprecate-removed-api-opts-47cc2cd25e9cf286.yaml new file mode 100644 index 000000000..d1236a34e --- /dev/null +++ b/releasenotes/notes/deprecate-removed-api-opts-47cc2cd25e9cf286.yaml @@ -0,0 +1,9 @@ +--- +deprecations: + - | + The following parameters of the ``nova::api`` class have been deprecated + and now have no effect. + + - ``enable_network_quota`` + - ``allow_instance_snapshots`` + - ``hide_server_address_states`` diff --git a/spec/classes/nova_api_spec.rb b/spec/classes/nova_api_spec.rb index ab2da98a5..70264638c 100644 --- a/spec/classes/nova_api_spec.rb +++ b/spec/classes/nova_api_spec.rb @@ -60,9 +60,9 @@ describe 'nova::api' do is_expected.to contain_nova_config('api/max_limit').with_value('') is_expected.to contain_nova_config('api/compute_link_prefix').with_value('') is_expected.to contain_nova_config('api/glance_link_prefix').with_value('') - is_expected.to contain_nova_config('api/hide_server_address_states').with_value('') - is_expected.to contain_nova_config('api/allow_instance_snapshots').with_value('') - is_expected.to contain_nova_config('DEFAULT/enable_network_quota').with_value('') + is_expected.to contain_nova_config('api/hide_server_address_states').with_ensure('absent') + is_expected.to contain_nova_config('api/allow_instance_snapshots').with_ensure('absent') + is_expected.to contain_nova_config('DEFAULT/enable_network_quota').with_ensure('absent') is_expected.to contain_nova_config('api/enable_instance_password').with_value('') is_expected.to contain_nova_config('DEFAULT/password_length').with_value('') is_expected.to contain_nova_config('DEFAULT/allow_resize_to_same_host').with_value('') @@ -90,9 +90,6 @@ describe 'nova::api' do :max_limit => 1000, :compute_link_prefix => 'https://10.0.0.1:7777/', :glance_link_prefix => 'https://10.0.0.1:6666/', - :hide_server_address_states => 'building', - :allow_instance_snapshots => true, - :enable_network_quota => false, :enable_instance_password => true, :password_length => 12, :allow_resize_to_same_host => true, @@ -133,9 +130,6 @@ describe 'nova::api' do :enable_proxy_headers_parsing => true, :max_request_body_size => '102400', ) - is_expected.to contain_nova_config('api/hide_server_address_states').with_value('building') - is_expected.to contain_nova_config('api/allow_instance_snapshots').with_value(true) - is_expected.to contain_nova_config('DEFAULT/enable_network_quota').with_value(false) is_expected.to contain_nova_config('api/enable_instance_password').with_value(true) is_expected.to contain_nova_config('DEFAULT/password_length').with_value('12') is_expected.to contain_nova_config('DEFAULT/allow_resize_to_same_host').with_value(true)