diff --git a/manifests/db.pp b/manifests/db.pp index ffc4393c9..127654ca0 100644 --- a/manifests/db.pp +++ b/manifests/db.pp @@ -42,14 +42,6 @@ # (optional) Connection url to connect to nova api slave database (read-only). # Defaults to $::os_service_default # -# [*placement_database_connection*] -# (optional) Connection url to connect to placement database. -# Defaults to $::os_service_default -# -# [*placement_slave_connection*] -# (optional) Connection url to connect to placement slave database (read-only). -# Defaults to $::os_service_default -# # [*database_idle_timeout*] # Timeout when db connections should be reaped. # (Optional) Defaults to $::os_service_default @@ -79,14 +71,22 @@ # (Optional) If set, use this value for pool_timeout with SQLAlchemy. # Defaults to $::os_service_default # +# DEPRECATED PARAMETERS +# +# [*placement_database_connection*] +# (optional) Connection url to connect to placement database. +# Defaults to $::os_service_default +# +# [*placement_slave_connection*] +# (optional) Connection url to connect to placement slave database (read-only). +# Defaults to $::os_service_default + class nova::db ( $database_db_max_retries = $::os_service_default, $database_connection = $::os_service_default, $slave_connection = $::os_service_default, $api_database_connection = $::os_service_default, $api_slave_connection = $::os_service_default, - $placement_database_connection = $::os_service_default, - $placement_slave_connection = $::os_service_default, $database_idle_timeout = $::os_service_default, $database_min_pool_size = $::os_service_default, $database_max_pool_size = $::os_service_default, @@ -94,11 +94,22 @@ class nova::db ( $database_retry_interval = $::os_service_default, $database_max_overflow = $::os_service_default, $database_pool_timeout = $::os_service_default, + # DEPRECATED PARAMETERS + $placement_database_connection = $::os_service_default, + $placement_slave_connection = $::os_service_default, ) { include ::nova::deps include ::nova::params + if $placement_database_connection { + warning('nova::db::placement_database_connection is deprecated and will be removed in a future release') + } + + if $placement_slave_connection { + warning('nova::db::placement_slave_connection is deprecated and will be removed in a future release') + } + # NOTE(spredzy): In order to keep backward compatibility we rely on the pick function # to use nova:: first the nova::db:: $database_connection_real = pick($::nova::database_connection, $database_connection) diff --git a/manifests/db/mysql_placement.pp b/manifests/db/mysql_placement.pp index 1f3d5c557..c8a2467d9 100644 --- a/manifests/db/mysql_placement.pp +++ b/manifests/db/mysql_placement.pp @@ -2,8 +2,13 @@ # # Class that configures mysql for the nova_placement database. # +# This class is deprecated and will be removed in a future release in favour of +# the puppet-placement module. +# # === Parameters: # +# DEPRECATED PARAMETERS +# # [*password*] # (Required) Password to use for the nova user # @@ -32,6 +37,7 @@ # Defaults to undef # class nova::db::mysql_placement( + # DEPRECATED PARAMETERS $password, $dbname = 'nova_placement', $user = 'nova_placement', @@ -41,6 +47,8 @@ class nova::db::mysql_placement( $allowed_hosts = undef, ) { + warning('nova::db::mysql_placement is deprecated and will be removed in a future release') + include ::nova::deps ::openstacklib::db::mysql { 'nova_placement': diff --git a/manifests/init.pp b/manifests/init.pp index 9d9b1e80b..c4eb9fb25 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -25,14 +25,6 @@ # (optional) Connection url to connect to nova API slave database (read-only). # Defaults to undef. # -# [*placement_database_connection*] -# (optional) Connection url for the placement database. -# Defaults to undef. -# -# [*placement_slave_connection*] -# (optional) Connection url to connect to placement slave database (read-only). -# Defaults to undef. -# # [*database_max_retries*] # (optional) Maximum database connection retries during startup. # Defaults to undef. @@ -404,6 +396,14 @@ # # DEPRECATED PARAMETERS # +# [*placement_database_connection*] +# (optional) Connection url for the placement database. +# Defaults to undef. +# +# [*placement_slave_connection*] +# (optional) Connection url to connect to placement slave database (read-only). +# Defaults to undef. +# # [*notify_api_faults*] # (optional) If set, send api.fault notifications on caught # exceptions in the API service @@ -427,8 +427,6 @@ class nova( $slave_connection = undef, $api_database_connection = undef, $api_slave_connection = undef, - $placement_database_connection = undef, - $placement_slave_connection = undef, $block_device_allocate_retries = $::os_service_default, $block_device_allocate_retries_interval = $::os_service_default, $database_idle_timeout = undef, @@ -512,6 +510,8 @@ class nova( $purge_config = false, $my_ip = $::os_service_default, # DEPRECATED PARAMETERS + $placement_database_connection = undef, + $placement_slave_connection = undef, $notify_api_faults = undef, $image_service = undef, $notify_on_api_faults = undef, @@ -523,6 +523,14 @@ class nova( # maintain backward compatibility include ::nova::db + if $placement_database_connection { + warning('nova::placement_database_connection is deprecated and will be removed in a future release') + } + + if $placement_slave_connection { + warning('nova::placement_slave_connection is deprecated and will be removed in a future release') + } + if $use_ipv6 { warning('nova::use_ipv6 is deprecated and will be removed in a future release') } diff --git a/manifests/keystone/auth_placement.pp b/manifests/keystone/auth_placement.pp index 28d399f22..c925f84c1 100644 --- a/manifests/keystone/auth_placement.pp +++ b/manifests/keystone/auth_placement.pp @@ -2,8 +2,13 @@ # # Creates nova placement api endpoints and service account in keystone # +# This class is deprecated and will be removed in a future release in favour of +# the puppet-placement module. + # === Parameters: # +# DEPRECATED PARAMETERS +# # [*password*] # (Required) Password to create for the service user # @@ -56,6 +61,7 @@ # Defaults to true # class nova::keystone::auth_placement( + # DEPRECATED PARAMETERS $password, $auth_name = 'placement', $service_name = 'placement', @@ -71,6 +77,8 @@ class nova::keystone::auth_placement( $configure_user_role = true, ) inherits nova::params { + warning('nova::keystone::auth_placement is deprecated and will be removed in a future release') + include ::nova::deps keystone::resource::service_identity { 'placement': diff --git a/manifests/placement.pp b/manifests/placement.pp index a9688c477..e20f2186a 100644 --- a/manifests/placement.pp +++ b/manifests/placement.pp @@ -4,28 +4,6 @@ # # === Parameters: # -# [*enabled*] -# (optional) Whether the nova placement api service will be run -# Defaults to true -# -# [*manage_service*] -# (optional) Whether to start/stop the service -# Only useful if $::nova::params::service_name is set to -# nova-placement-api. -# Defaults to true -# -# [*package_name*] -# (optional) The package name for nova placement. -# Defaults to $::nova::params::placement_package_name -# -# [*service_name*] -# (optional) The service name for the placement service. -# Defaults to $::nova::params::placement_service_name -# -# [*ensure_package*] -# (optional) The state of the nova placement package -# Defaults to 'present' -# # [*password*] # (required) Password for connecting to Nova Placement API service in # admin context through the OpenStack Identity service. @@ -77,12 +55,29 @@ # the placement API. # Defaults to undef # +# [*enabled*] +# (optional) Whether the nova placement api service will be run +# Defaults to true +# +# [*manage_service*] +# (optional) Whether to start/stop the service +# Only useful if $::nova::params::service_name is set to +# nova-placement-api. +# Defaults to true +# +# [*package_name*] +# (optional) The package name for nova placement. +# Defaults to $::nova::params::placement_package_name +# +# [*service_name*] +# (optional) The service name for the placement service. +# Defaults to $::nova::params::placement_service_name +# +# [*ensure_package*] +# (optional) The state of the nova placement package +# Defaults to 'present' + class nova::placement( - $enabled = true, - $manage_service = true, - $package_name = $::nova::params::placement_package_name, - $service_name = $::nova::params::placement_service_name, - $ensure_package = 'present', $password = false, $auth_type = 'password', $auth_url = 'http://127.0.0.1:5000/v3', @@ -94,6 +89,11 @@ class nova::placement( $username = 'placement', # DEPRECATED PARAMETERS $os_interface = undef, + $enabled = true, + $manage_service = true, + $package_name = $::nova::params::placement_package_name, + $service_name = $::nova::params::placement_service_name, + $ensure_package = 'present', ) inherits nova::params { include ::nova::deps diff --git a/manifests/placement/service.pp b/manifests/placement/service.pp index dd41a9412..6c2dadb44 100644 --- a/manifests/placement/service.pp +++ b/manifests/placement/service.pp @@ -2,8 +2,13 @@ # # Class for deploying the Placement service. # +# This class is deprecated and will be removed in a future release in favour of +# the puppet-placement module. +# # === Parameters: # +# DEPRECATED PARAMETERS +# # [*enabled*] # (optional) Whether the nova placement api service will be run # Defaults to true @@ -27,6 +32,7 @@ # Defaults to 'present' # class nova::placement::service( + # DEPRECATED PARAMETERS $enabled = true, $manage_service = true, $package_name = $::nova::params::placement_package_name, @@ -34,6 +40,8 @@ class nova::placement::service( $ensure_package = 'present', ) inherits nova::params { + warning('nova::placement::service is deprecated and will be removed in a future release') + include ::nova::deps assert_private() diff --git a/manifests/wsgi/apache_placement.pp b/manifests/wsgi/apache_placement.pp index 9b7e6b1ec..ea843e8e0 100644 --- a/manifests/wsgi/apache_placement.pp +++ b/manifests/wsgi/apache_placement.pp @@ -22,6 +22,8 @@ # # == Parameters # +# DEPRECATED PARAMETERS +# # [*servername*] # The servername for the virtualhost. # Optional. Defaults to $::fqdn @@ -122,6 +124,8 @@ class nova::wsgi::apache_placement ( $custom_wsgi_process_options = {}, ) { + warning('nova::wsgi::apache_placement is deprecated and will be removed in a future release') + include ::nova::params include ::apache include ::apache::mod::wsgi diff --git a/releasenotes/notes/deprecate_placement_deployment-2497e35aa7089a92.yaml b/releasenotes/notes/deprecate_placement_deployment-2497e35aa7089a92.yaml new file mode 100644 index 000000000..240d2588a --- /dev/null +++ b/releasenotes/notes/deprecate_placement_deployment-2497e35aa7089a92.yaml @@ -0,0 +1,70 @@ +--- +deprecations: + - | + The deployment of the Placement service using the following puppet-nova + classes is now deprecated in favour of the puppet-placement module: + + - nova::placement + - nova::db::mysql_placement + - nova::keystone::auth_placement + - nova::wsgi::apache_placement + + The following parameters are deprecated for removal: + + - nova::placement_database_connection + - nova::placement_slave_connection + - nova::placement::enabled + - nova::placement::manage_service + - nova::placement::package_name + - nova::placement::service_name + - nova::placement::ensure_package + - nova::db::placement_database_connection + - nova::db::placement_slave_connection + - nova::db::mysql_placement::password + - nova::db::mysql_placement::dbname + - nova::db::mysql_placement::user + - nova::db::mysql_placement::host + - nova::db::mysql_placement::charset + - nova::db::mysql_placement::collate + - nova::db::mysql_placement::allowed_hosts + - nova::keystone::auth_placement::password, + - nova::keystone::auth_placement::auth_name + - nova::keystone::auth_placement::service_name + - nova::keystone::auth_placement::service_description + - nova::keystone::auth_placement::region + - nova::keystone::auth_placement::tenant + - nova::keystone::auth_placement::email + - nova::keystone::auth_placement::public_url + - nova::keystone::auth_placement::internal_url + - nova::keystone::auth_placement::admin_url + - nova::keystone::auth_placement::configure_endpoint + - nova::keystone::auth_placement::configure_user + - nova::keystone::auth_placement::configure_user_role + - nova::wsgi::apache_placement::servername + - nova::wsgi::apache_placement::api_port + - nova::wsgi::apache_placement::bind_host + - nova::wsgi::apache_placement::path + - nova::wsgi::apache_placement::ssl + - nova::wsgi::apache_placement::workers + - nova::wsgi::apache_placement::ssl_cert + - nova::wsgi::apache_placement::ssl_key + - nova::wsgi::apache_placement::ssl_chain + - nova::wsgi::apache_placement::ssl_ca + - nova::wsgi::apache_placement::ssl_crl_path + - nova::wsgi::apache_placement::ssl_crl + - nova::wsgi::apache_placement::ssl_certs_dir + - nova::wsgi::apache_placement::wsgi_process_display_name + - nova::wsgi::apache_placement::threads + - nova::wsgi::apache_placement::priority + - nova::wsgi::apache_placement::ensure_package + - nova::wsgi::apache_placement::access_log_file + - nova::wsgi::apache_placement::access_log_format + - nova::wsgi::apache_placement::error_log_file + - nova::wsgi::apache_placement::custom_wsgi_process_options + + The nova::placement class will continue to be used to configure the + ``[placement]`` section of ``nova.conf``. + + These deprecations come ahead of the planned extraction of the Placement + service from the Nova project early in the upcoming OpenStack Train release + development cycle.