From 2a4e110a7e8938f9151bf2e3b2897dbcf10d537c Mon Sep 17 00:00:00 2001 From: Iury Gregory Melo Ferreira Date: Mon, 23 Nov 2015 20:37:52 +0000 Subject: [PATCH] Switch Nova to $::os_service_default - Part1 Switch Nova to use $::os_service_default Change logging.pp, db.pp and tests. Change-Id: I928a93534c6d27c020b7afb5b7dda32c379e9d62 Related-bug: #1515273 --- manifests/db.pp | 58 ++--- manifests/logging.pp | 220 +++++------------- spec/classes/nova_api_spec.rb | 4 +- spec/classes/nova_cells_spec.rb | 4 +- spec/classes/nova_cert_spec.rb | 4 +- spec/classes/nova_compute_libvirt_spec.rb | 12 +- spec/classes/nova_compute_rbd_spec.rb | 4 +- spec/classes/nova_compute_spec.rb | 4 +- spec/classes/nova_conductor_spec.rb | 6 +- spec/classes/nova_consoleauth_spec.rb | 4 +- .../nova_cron_archive_deleted_rows_spec.rb | 2 +- spec/classes/nova_db_mysql_spec.rb | 10 +- spec/classes/nova_db_postgresql_spec.rb | 8 +- spec/classes/nova_db_spec.rb | 19 +- spec/classes/nova_db_sync_spec.rb | 8 +- spec/classes/nova_init_spec.rb | 14 +- spec/classes/nova_keystone_auth_spec.rb | 2 +- spec/classes/nova_logging_spec.rb | 16 +- spec/classes/nova_migration_libvirt_spec.rb | 4 +- spec/classes/nova_network_spec.rb | 4 +- spec/classes/nova_objectstore_spec.rb | 4 +- spec/classes/nova_policy_spec.rb | 4 +- spec/classes/nova_qpid_spec.rb | 2 +- spec/classes/nova_rabbitmq_spec.rb | 4 +- spec/classes/nova_scheduler_spec.rb | 6 +- spec/classes/nova_serial_proxy_spec.rb | 14 +- spec/classes/nova_spicehtml5_proxy_spec.rb | 20 +- spec/classes/nova_utilities_spec.rb | 2 +- spec/classes/nova_vnc_proxy_spec.rb | 16 +- spec/defines/nova_generic_service_spec.rb | 2 +- spec/defines/nova_manage_networks_spec.rb | 2 +- spec/hosts/test-001_spec.rb | 2 +- spec/spec_helper.rb | 3 + 33 files changed, 197 insertions(+), 291 deletions(-) diff --git a/manifests/db.pp b/manifests/db.pp index 65144ef0e..6d15ffbf4 100644 --- a/manifests/db.pp +++ b/manifests/db.pp @@ -23,46 +23,46 @@ # # [*database_connection*] # (optional) Connection url to connect to nova database. -# Defaults to false. +# Defaults to $::os_service_default # # [*slave_connection*] # (optional) Connection url to connect to nova slave database (read-only). -# Defaults to false. +# Defaults to $::os_service_default # # [*database_idle_timeout*] # Timeout when db connections should be reaped. -# (Optional) Defaults to 3600. +# (Optional) Defaults to $::os_service_default # # [*database_min_pool_size*] # Minimum number of SQL connections to keep open in a pool. -# (Optional) Defaults to 1. +# (Optional) Defaults to $::os_service_default # # [*database_max_pool_size*] # Maximum number of SQL connections to keep open in a pool. -# (Optional) Defaults to 10. +# (Optional) Defaults to $::os_service_default # # [*database_max_retries*] # Maximum db connection retries during startup. # Setting -1 implies an infinite retry count. -# (Optional) Defaults to 10. +# (Optional) Defaults to $::os_service_default # # [*database_retry_interval*] # Interval between retries of opening a sql connection. -# (Optional) Defaults to 10. +# (Optional) Defaults to $::os_service_default # # [*database_max_overflow*] # If set, use this value for max_overflow with sqlalchemy. -# (Optional) Defaults to 20. +# (Optional) Defaults to $::os_service_default # class nova::db ( - $database_connection = false, - $slave_connection = false, - $database_idle_timeout = 3600, - $database_min_pool_size = 1, - $database_max_pool_size = 10, - $database_max_retries = 10, - $database_retry_interval = 10, - $database_max_overflow = 20, + $database_connection = $::os_service_default, + $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, + $database_max_retries = $::os_service_default, + $database_retry_interval = $::os_service_default, + $database_max_overflow = $::os_service_default, ) { include ::nova::params @@ -78,7 +78,7 @@ class nova::db ( $database_retry_interval_real = pick($::nova::database_retry_interval, $database_retry_interval) $database_max_overflow_real = pick($::nova::database_max_overflow, $database_max_overflow) - if $database_connection_real { + if !is_service_default($database_connection_real) { validate_re($database_connection_real, '^(sqlite|mysql(\+pymysql)?|postgresql):\/\/(\S+:\S+@\S+\/\S+)?') @@ -114,24 +114,16 @@ class nova::db ( } nova_config { - 'database/connection': value => $database_connection_real, secret => true; - 'database/idle_timeout': value => $database_idle_timeout_real; - 'database/min_pool_size': value => $database_min_pool_size_real; - 'database/max_retries': value => $database_max_retries_real; - 'database/retry_interval': value => $database_retry_interval_real; - 'database/max_pool_size': value => $database_max_pool_size_real; - 'database/max_overflow': value => $database_max_overflow_real; + 'database/connection': value => $database_connection_real, secret => true; + 'database/idle_timeout': value => $database_idle_timeout_real; + 'database/min_pool_size': value => $database_min_pool_size_real; + 'database/max_retries': value => $database_max_retries_real; + 'database/retry_interval': value => $database_retry_interval_real; + 'database/max_pool_size': value => $database_max_pool_size_real; + 'database/max_overflow': value => $database_max_overflow_real; + 'database/slave_connection': value => $slave_connection_real, secret => true; } - if $slave_connection_real { - nova_config { - 'database/slave_connection': value => $slave_connection_real, secret => true; - } - } else { - nova_config { - 'database/slave_connection': ensure => absent; - } - } } } diff --git a/manifests/logging.pp b/manifests/logging.pp index 4145cdd6d..0379f7336 100644 --- a/manifests/logging.pp +++ b/manifests/logging.pp @@ -6,23 +6,23 @@ # # [*verbose*] # (Optional) Should the daemons log verbose messages -# Defaults to 'false' +# Defaults to $::os_service_default # # [*debug*] # (Optional) Should the daemons log debug messages -# Defaults to 'false' +# Defaults to $::os_service_default # # [*use_syslog*] # (Optional) Use syslog for logging. -# Defaults to 'false' +# Defaults to $::os_service_default # # [*use_stderr*] # (optional) Use stderr for logging -# Defaults to 'true' +# Defaults to $::os_service_default # # [*log_facility*] # (Optional) Syslog facility to receive log lines. -# Defaults to 'LOG_USER' +# Defaults to $::os_service_default # # [*log_dir*] # (optional) Directory where logs should be stored. @@ -31,34 +31,34 @@ # # [*logging_context_format_string*] # (optional) Format string to use for log messages with context. -# Defaults to undef. +# Defaults to $::os_service_default # Example: '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s\ # [%(request_id)s %(user_identity)s] %(instance)s%(message)s' # # [*logging_default_format_string*] # (optional) Format string to use for log messages without context. -# Defaults to undef. +# Defaults to $::os_service_default # Example: '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s\ # [-] %(instance)s%(message)s' # # [*logging_debug_format_suffix*] # (optional) Formatted data to append to log format when level is DEBUG. -# Defaults to undef. +# Defaults to $::os_service_default # Example: '%(funcName)s %(pathname)s:%(lineno)d' # # [*logging_exception_prefix*] # (optional) Prefix each line of exception output with this format. -# Defaults to undef. +# Defaults to $::os_service_default # Example: '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s' # # [*log_config_append*] # The name of an additional logging configuration file. -# Defaults to undef. +# Defaults to $::os_service_default # See https://docs.python.org/2/howto/logging.html # # [*default_log_levels*] # (optional) Hash of logger (keys) and level (values) pairs. -# Defaults to undef. +# Defaults to $::os_service_default # Example: # { 'amqp' => 'WARN', 'amqplib' => 'WARN', 'boto' => 'WARN', # 'qpid' => 'WARN', 'sqlalchemy' => 'WARN', 'suds' => 'INFO', @@ -67,47 +67,47 @@ # # [*publish_errors*] # (optional) Publish error events (boolean value). -# Defaults to undef (false if unconfigured). +# Defaults to $::os_service_default # # [*fatal_deprecations*] # (optional) Make deprecations fatal (boolean value) -# Defaults to undef (false if unconfigured). +# Defaults to $::os_service_default # # [*instance_format*] # (optional) If an instance is passed with the log message, format it # like this (string value). -# Defaults to undef. +# Defaults to $::os_service_default # Example: '[instance: %(uuid)s] ' # # [*instance_uuid_format*] # (optional) If an instance UUID is passed with the log message, format # it like this (string value). -# Defaults to undef. +# Defaults to $::os_service_default # Example: instance_uuid_format='[instance: %(uuid)s] ' - +# # [*log_date_format*] # (optional) Format string for %%(asctime)s in log records. -# Defaults to undef. +# Defaults to $::os_service_default # Example: 'Y-%m-%d %H:%M:%S' class nova::logging( - $use_syslog = false, - $use_stderr = true, - $log_facility = 'LOG_USER', + $use_syslog = $::os_service_default, + $use_stderr = $::os_service_default, + $log_facility = $::os_service_default, $log_dir = '/var/log/nova', - $verbose = false, - $debug = false, - $logging_context_format_string = undef, - $logging_default_format_string = undef, - $logging_debug_format_suffix = undef, - $logging_exception_prefix = undef, - $log_config_append = undef, - $default_log_levels = undef, - $publish_errors = undef, - $fatal_deprecations = undef, - $instance_format = undef, - $instance_uuid_format = undef, - $log_date_format = undef, + $verbose = $::os_service_default, + $debug = $::os_service_default, + $logging_context_format_string = $::os_service_default, + $logging_default_format_string = $::os_service_default, + $logging_debug_format_suffix = $::os_service_default, + $logging_exception_prefix = $::os_service_default, + $log_config_append = $::os_service_default, + $default_log_levels = $::os_service_default, + $publish_errors = $::os_service_default, + $fatal_deprecations = $::os_service_default, + $instance_format = $::os_service_default, + $instance_uuid_format = $::os_service_default, + $log_date_format = $::os_service_default, ) { # NOTE(spredzy): In order to keep backward compatibility we rely on the pick function @@ -119,139 +119,31 @@ class nova::logging( $verbose_real = pick($::nova::verbose,$verbose) $debug_real = pick($::nova::debug,$debug) - nova_config { - 'DEFAULT/debug' : value => $debug_real; - 'DEFAULT/verbose' : value => $verbose_real; - 'DEFAULT/use_stderr' : value => $use_stderr_real; - 'DEFAULT/use_syslog' : value => $use_syslog_real; - 'DEFAULT/log_dir' : value => $log_dir_real; - 'DEFAULT/syslog_log_facility': value => $log_facility_real; + if is_service_default($default_log_levels) { + $default_log_levels_real = $default_log_levels + } else { + $default_log_levels_real = join(sort(join_keys_to_values($default_log_levels, '=')), ',') } - if $logging_context_format_string { - nova_config { - 'DEFAULT/logging_context_format_string' : - value => $logging_context_format_string; - } - } - else { - nova_config { - 'DEFAULT/logging_context_format_string' : ensure => absent; - } - } - - if $logging_default_format_string { - nova_config { - 'DEFAULT/logging_default_format_string' : - value => $logging_default_format_string; - } - } - else { - nova_config { - 'DEFAULT/logging_default_format_string' : ensure => absent; - } - } - - if $logging_debug_format_suffix { - nova_config { - 'DEFAULT/logging_debug_format_suffix' : - value => $logging_debug_format_suffix; - } - } - else { - nova_config { - 'DEFAULT/logging_debug_format_suffix' : ensure => absent; - } - } - - if $logging_exception_prefix { - nova_config { - 'DEFAULT/logging_exception_prefix' : value => $logging_exception_prefix; - } - } - else { - nova_config { - 'DEFAULT/logging_exception_prefix' : ensure => absent; - } - } - - if $log_config_append { - nova_config { - 'DEFAULT/log_config_append' : value => $log_config_append; - } - } - else { - nova_config { - 'DEFAULT/log_config_append' : ensure => absent; - } - } - - if $default_log_levels { - nova_config { - 'DEFAULT/default_log_levels' : - value => join(sort(join_keys_to_values($default_log_levels, '=')), ','); - } - } - else { - nova_config { - 'DEFAULT/default_log_levels' : ensure => absent; - } - } - - if $publish_errors { - nova_config { - 'DEFAULT/publish_errors' : value => $publish_errors; - } - } - else { - nova_config { - 'DEFAULT/publish_errors' : ensure => absent; - } - } - - if $fatal_deprecations { - nova_config { - 'DEFAULT/fatal_deprecations' : value => $fatal_deprecations; - } - } - else { - nova_config { - 'DEFAULT/fatal_deprecations' : ensure => absent; - } - } - - if $instance_format { - nova_config { - 'DEFAULT/instance_format' : value => $instance_format; - } - } - else { - nova_config { - 'DEFAULT/instance_format' : ensure => absent; - } - } - - if $instance_uuid_format { - nova_config { - 'DEFAULT/instance_uuid_format' : value => $instance_uuid_format; - } - } - else { - nova_config { - 'DEFAULT/instance_uuid_format' : ensure => absent; - } - } - - if $log_date_format { - nova_config { - 'DEFAULT/log_date_format' : value => $log_date_format; - } - } - else { - nova_config { - 'DEFAULT/log_date_format' : ensure => absent; - } - } + nova_config { + 'DEFAULT/debug': value => $debug_real; + 'DEFAULT/verbose': value => $verbose_real; + 'DEFAULT/use_stderr': value => $use_stderr_real; + 'DEFAULT/use_syslog': value => $use_syslog_real; + 'DEFAULT/log_dir': value => $log_dir_real; + 'DEFAULT/syslog_log_facility': value => $log_facility_real; + 'DEFAULT/logging_context_format_string': value => $logging_context_format_string; + 'DEFAULT/logging_default_format_string': value => $logging_default_format_string; + 'DEFAULT/logging_debug_format_suffix': value => $logging_debug_format_suffix; + 'DEFAULT/logging_exception_prefix': value => $logging_exception_prefix; + 'DEFAULT/log_config_append': value => $log_config_append; + 'DEFAULT/default_log_levels': value => $default_log_levels_real; + 'DEFAULT/publish_errors': value => $publish_errors; + 'DEFAULT/fatal_deprecations': value => $fatal_deprecations; + 'DEFAULT/instance_format': value => $instance_format; + 'DEFAULT/instance_uuid_format': value => $instance_uuid_format; + 'DEFAULT/log_date_format': value => $log_date_format; + } } diff --git a/spec/classes/nova_api_spec.rb b/spec/classes/nova_api_spec.rb index 11c7e7379..b0cdd8383 100644 --- a/spec/classes/nova_api_spec.rb +++ b/spec/classes/nova_api_spec.rb @@ -11,7 +11,7 @@ describe 'nova::api' do end let :facts do - { :processorcount => 5 } + @default_facts.merge({ :processorcount => 5 }) end shared_examples 'nova-api' do @@ -256,7 +256,7 @@ describe 'nova::api' do it { is_expected.to_not contain_nova_config('database/connection') } it { is_expected.to_not contain_nova_config('database/slave_connection') } - it { is_expected.to_not contain_nova_config('database/idle_timeout').with_value('3600') } + it { is_expected.to_not contain_nova_config('database/idle_timeout').with_value('') } end context 'with overridden database parameters' do diff --git a/spec/classes/nova_cells_spec.rb b/spec/classes/nova_cells_spec.rb index a7307f6cd..b0d65037c 100644 --- a/spec/classes/nova_cells_spec.rb +++ b/spec/classes/nova_cells_spec.rb @@ -143,7 +143,7 @@ describe 'nova::cells' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end let :platform_params do @@ -160,7 +160,7 @@ describe 'nova::cells' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end let :platform_params do diff --git a/spec/classes/nova_cert_spec.rb b/spec/classes/nova_cert_spec.rb index 58998ee2a..71bc4ca5a 100644 --- a/spec/classes/nova_cert_spec.rb +++ b/spec/classes/nova_cert_spec.rb @@ -8,7 +8,7 @@ describe 'nova::cert' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it_behaves_like 'generic nova service', { @@ -19,7 +19,7 @@ describe 'nova::cert' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end it_behaves_like 'generic nova service', { diff --git a/spec/classes/nova_compute_libvirt_spec.rb b/spec/classes/nova_compute_libvirt_spec.rb index 1e1116436..030757336 100644 --- a/spec/classes/nova_compute_libvirt_spec.rb +++ b/spec/classes/nova_compute_libvirt_spec.rb @@ -315,11 +315,11 @@ describe 'nova::compute::libvirt' do context 'on Debian platforms' do let (:facts) do - { + @default_facts.merge({ :osfamily => 'Debian', :operatingsystem => 'Debian', :os_package_family => 'debian' - } + }) end it_behaves_like 'debian-nova-compute-libvirt' @@ -327,11 +327,11 @@ describe 'nova::compute::libvirt' do context 'on Debian platforms' do let (:facts) do - { + @default_facts.merge({ :osfamily => 'Debian', :operatingsystem => 'Ubuntu', :os_package_family => 'ubuntu' - } + }) end it_behaves_like 'debian-nova-compute-libvirt' @@ -339,10 +339,10 @@ describe 'nova::compute::libvirt' do context 'on RedHat platforms' do let (:facts) do - { + @default_facts.merge({ :osfamily => 'RedHat', :os_package_type => 'rpm' - } + }) end it_behaves_like 'redhat-nova-compute-libvirt' diff --git a/spec/classes/nova_compute_rbd_spec.rb b/spec/classes/nova_compute_rbd_spec.rb index d98ee8cc1..25aa79723 100644 --- a/spec/classes/nova_compute_rbd_spec.rb +++ b/spec/classes/nova_compute_rbd_spec.rb @@ -146,7 +146,7 @@ describe 'nova::compute::rbd' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it_configures 'nova compute rbd' @@ -154,7 +154,7 @@ describe 'nova::compute::rbd' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end it_configures 'nova compute rbd' diff --git a/spec/classes/nova_compute_spec.rb b/spec/classes/nova_compute_spec.rb index ecea146bb..0ac68669c 100644 --- a/spec/classes/nova_compute_spec.rb +++ b/spec/classes/nova_compute_spec.rb @@ -216,7 +216,7 @@ describe 'nova::compute' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end let :platform_params do @@ -229,7 +229,7 @@ describe 'nova::compute' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end let :platform_params do diff --git a/spec/classes/nova_conductor_spec.rb b/spec/classes/nova_conductor_spec.rb index 5b785f0fd..38897a59e 100644 --- a/spec/classes/nova_conductor_spec.rb +++ b/spec/classes/nova_conductor_spec.rb @@ -55,7 +55,7 @@ describe 'nova::conductor' do it { is_expected.to_not contain_nova_config('database/connection') } it { is_expected.to_not contain_nova_config('database/slave_connection') } - it { is_expected.to_not contain_nova_config('database/idle_timeout').with_value('3600') } + it { is_expected.to_not contain_nova_config('database/idle_timeout').with_value('') } end context 'with overridden database parameters' do @@ -77,7 +77,7 @@ describe 'nova::conductor' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end let :platform_params do @@ -90,7 +90,7 @@ describe 'nova::conductor' do context 'on Redhat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end let :platform_params do diff --git a/spec/classes/nova_consoleauth_spec.rb b/spec/classes/nova_consoleauth_spec.rb index ef739bcef..6d0c60232 100644 --- a/spec/classes/nova_consoleauth_spec.rb +++ b/spec/classes/nova_consoleauth_spec.rb @@ -8,7 +8,7 @@ describe 'nova::consoleauth' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it_behaves_like 'generic nova service', { @@ -19,7 +19,7 @@ describe 'nova::consoleauth' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end it_behaves_like 'generic nova service', { diff --git a/spec/classes/nova_cron_archive_deleted_rows_spec.rb b/spec/classes/nova_cron_archive_deleted_rows_spec.rb index c1f89dc30..a615c51f6 100644 --- a/spec/classes/nova_cron_archive_deleted_rows_spec.rb +++ b/spec/classes/nova_cron_archive_deleted_rows_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe 'nova::cron::archive_deleted_rows' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end let :params do diff --git a/spec/classes/nova_db_mysql_spec.rb b/spec/classes/nova_db_mysql_spec.rb index cd86ab06d..cff973c17 100644 --- a/spec/classes/nova_db_mysql_spec.rb +++ b/spec/classes/nova_db_mysql_spec.rb @@ -12,7 +12,7 @@ describe 'nova::db::mysql' do context 'on a Debian osfamily' do let :facts do - { :osfamily => "Debian" } + @default_facts.merge({ :osfamily => "Debian" }) end context 'with only required parameters' do @@ -39,7 +39,7 @@ describe 'nova::db::mysql' do context 'on a RedHat osfamily' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end context 'with only required parameters' do @@ -66,7 +66,7 @@ describe 'nova::db::mysql' do describe "overriding allowed_hosts param to array" do let :facts do - { :osfamily => "Debian" } + @default_facts.merge({ :osfamily => "Debian" }) end let :params do { @@ -79,7 +79,7 @@ describe 'nova::db::mysql' do describe "overriding allowed_hosts param to string" do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end let :params do { @@ -92,7 +92,7 @@ describe 'nova::db::mysql' do describe "overriding allowed_hosts param equals to host param " do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end let :params do { diff --git a/spec/classes/nova_db_postgresql_spec.rb b/spec/classes/nova_db_postgresql_spec.rb index 757189f58..3c0adcb43 100644 --- a/spec/classes/nova_db_postgresql_spec.rb +++ b/spec/classes/nova_db_postgresql_spec.rb @@ -12,11 +12,11 @@ describe 'nova::db::postgresql' do context 'on a RedHat osfamily' do let :facts do - { + @default_facts.merge({ :osfamily => 'RedHat', :operatingsystemrelease => '7.0', :concat_basedir => '/var/lib/puppet/concat' - } + }) end context 'with only required parameters' do @@ -34,12 +34,12 @@ describe 'nova::db::postgresql' do context 'on a Debian osfamily' do let :facts do - { + @default_facts.merge({ :operatingsystemrelease => '7.8', :operatingsystem => 'Debian', :osfamily => 'Debian', :concat_basedir => '/var/lib/puppet/concat' - } + }) end context 'with only required parameters' do diff --git a/spec/classes/nova_db_spec.rb b/spec/classes/nova_db_spec.rb index 2a76aa0c5..4336dfa8e 100644 --- a/spec/classes/nova_db_spec.rb +++ b/spec/classes/nova_db_spec.rb @@ -27,11 +27,10 @@ describe 'nova::db' do it { is_expected.to contain_nova_config('database/connection').with_value('mysql+pymysql://user:pass@db/db').with_secret(true) } it { is_expected.to contain_nova_config('database/slave_connection').with_value('mysql+pymysql://user:pass@slave/db').with_secret(true) } - it { is_expected.to contain_nova_config('database/idle_timeout').with_value('3600') } - it { is_expected.to contain_nova_config('database/min_pool_size').with_value('1') } - it { is_expected.to contain_nova_config('database/max_retries').with_value('10') } - it { is_expected.to contain_nova_config('database/retry_interval').with_value('10') } - it { is_expected.to contain_package('nova-backend-package').with({ :ensure => 'present', :name => platform_params[:pymysql_package_name] }) } + it { is_expected.to contain_nova_config('database/idle_timeout').with_value('') } + it { is_expected.to contain_nova_config('database/min_pool_size').with_value('') } + it { is_expected.to contain_nova_config('database/max_retries').with_value('') } + it { is_expected.to contain_nova_config('database/retry_interval').with_value('') } end @@ -73,10 +72,11 @@ describe 'nova::db' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian', + @default_facts.merge({ + :osfamily => 'Debian', :operatingsystem => 'Debian', :operatingsystemrelease => 'jessie', - } + }) end let :platform_params do @@ -103,9 +103,10 @@ describe 'nova::db' do context 'on Redhat platforms' do let :facts do - { :osfamily => 'RedHat', + @default_facts.merge({ + :osfamily => 'RedHat', :operatingsystemrelease => '7.1', - } + }) end let :platform_params do diff --git a/spec/classes/nova_db_sync_spec.rb b/spec/classes/nova_db_sync_spec.rb index 374b3da93..e5b5afe17 100644 --- a/spec/classes/nova_db_sync_spec.rb +++ b/spec/classes/nova_db_sync_spec.rb @@ -16,11 +16,11 @@ describe 'nova::db::sync' do context 'on a RedHat osfamily' do let :facts do - { + @default_facts.merge({ :osfamily => 'RedHat', :operatingsystemrelease => '7.0', :concat_basedir => '/var/lib/puppet/concat' - } + }) end it_configures 'nova-dbsync' @@ -28,12 +28,12 @@ describe 'nova::db::sync' do context 'on a Debian osfamily' do let :facts do - { + @default_facts.merge({ :operatingsystemrelease => '7.8', :operatingsystem => 'Debian', :osfamily => 'Debian', :concat_basedir => '/var/lib/puppet/concat' - } + }) end it_configures 'nova-dbsync' diff --git a/spec/classes/nova_init_spec.rb b/spec/classes/nova_init_spec.rb index ec8066de8..7d5521b9b 100644 --- a/spec/classes/nova_init_spec.rb +++ b/spec/classes/nova_init_spec.rb @@ -568,8 +568,10 @@ describe 'nova' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian', - :operatingsystem => 'Debian' } + @default_facts.merge({ + :osfamily => 'Debian', + :operatingsystem => 'Debian' + }) end let :platform_params do @@ -582,8 +584,10 @@ describe 'nova' do context 'on Ubuntu platforms' do let :facts do - { :osfamily => 'Debian', - :operatingsystem => 'Ubuntu' } + @default_facts.merge({ + :osfamily => 'Debian', + :operatingsystem => 'Ubuntu' + }) end let :platform_params do @@ -596,7 +600,7 @@ describe 'nova' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end let :platform_params do diff --git a/spec/classes/nova_keystone_auth_spec.rb b/spec/classes/nova_keystone_auth_spec.rb index 5da3568e5..9ec6c8355 100644 --- a/spec/classes/nova_keystone_auth_spec.rb +++ b/spec/classes/nova_keystone_auth_spec.rb @@ -275,7 +275,7 @@ describe 'nova::keystone::auth' do end let :facts do - { :osfamily => "Debian"} + @default_facts.merge({ :osfamily => "Debian"}) end let :params do diff --git a/spec/classes/nova_logging_spec.rb b/spec/classes/nova_logging_spec.rb index 6ee48b8af..b96669982 100644 --- a/spec/classes/nova_logging_spec.rb +++ b/spec/classes/nova_logging_spec.rb @@ -15,7 +15,7 @@ describe 'nova::logging' do :logging_exception_prefix => '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s', :log_config_append => '/etc/nova/logging.conf', :publish_errors => true, - :default_log_levels => { + :default_log_levels => { 'amqp' => 'WARN', 'amqplib' => 'WARN', 'boto' => 'WARN', 'qpid' => 'WARN', 'sqlalchemy' => 'WARN', 'suds' => 'INFO', 'iso8601' => 'WARN', @@ -57,11 +57,11 @@ describe 'nova::logging' do shared_examples 'basic default logging settings' do it 'configures nova logging settins with default values' do - is_expected.to contain_nova_config('DEFAULT/use_syslog').with(:value => 'false') - is_expected.to contain_nova_config('DEFAULT/use_stderr').with(:value => 'true') + is_expected.to contain_nova_config('DEFAULT/use_syslog').with(:value => '') + is_expected.to contain_nova_config('DEFAULT/use_stderr').with(:value => '') is_expected.to contain_nova_config('DEFAULT/log_dir').with(:value => '/var/log/nova') - is_expected.to contain_nova_config('DEFAULT/verbose').with(:value => 'false') - is_expected.to contain_nova_config('DEFAULT/debug').with(:value => 'false') + is_expected.to contain_nova_config('DEFAULT/verbose').with(:value => '') + is_expected.to contain_nova_config('DEFAULT/debug').with(:value => '') end end @@ -120,13 +120,13 @@ describe 'nova::logging' do :default_log_levels, :fatal_deprecations, :instance_format, :instance_uuid_format, :log_date_format, ].each { |param| - it { is_expected.to contain_nova_config("DEFAULT/#{param}").with_ensure('absent') } + it { is_expected.to contain_nova_config("DEFAULT/#{param}").with_value('') } } end context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it_configures 'nova-logging' @@ -134,7 +134,7 @@ describe 'nova::logging' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end it_configures 'nova-logging' diff --git a/spec/classes/nova_migration_libvirt_spec.rb b/spec/classes/nova_migration_libvirt_spec.rb index 013965bab..5db587fa8 100644 --- a/spec/classes/nova_migration_libvirt_spec.rb +++ b/spec/classes/nova_migration_libvirt_spec.rb @@ -96,7 +96,7 @@ describe 'nova::migration::libvirt' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it_configures 'nova migration with libvirt' @@ -105,7 +105,7 @@ describe 'nova::migration::libvirt' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end it_configures 'nova migration with libvirt' diff --git a/spec/classes/nova_network_spec.rb b/spec/classes/nova_network_spec.rb index 691caa656..1bd575dd2 100644 --- a/spec/classes/nova_network_spec.rb +++ b/spec/classes/nova_network_spec.rb @@ -20,7 +20,7 @@ describe 'nova::network' do describe 'on debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it { is_expected.to contain_sysctl__value('net.ipv4.ip_forward').with_value('1') } @@ -224,7 +224,7 @@ describe 'nova::network' do end describe 'on rhel' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end it { is_expected.to contain_service('nova-network').with( 'name' => 'openstack-nova-network', diff --git a/spec/classes/nova_objectstore_spec.rb b/spec/classes/nova_objectstore_spec.rb index 1591cac33..4be11e22a 100644 --- a/spec/classes/nova_objectstore_spec.rb +++ b/spec/classes/nova_objectstore_spec.rb @@ -8,7 +8,7 @@ describe 'nova::objectstore' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it_behaves_like 'generic nova service', { @@ -28,7 +28,7 @@ describe 'nova::objectstore' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end it_behaves_like 'generic nova service', { diff --git a/spec/classes/nova_policy_spec.rb b/spec/classes/nova_policy_spec.rb index e8507c220..91f5f75f7 100644 --- a/spec/classes/nova_policy_spec.rb +++ b/spec/classes/nova_policy_spec.rb @@ -25,7 +25,7 @@ describe 'nova::policy' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it_configures 'nova policies' @@ -33,7 +33,7 @@ describe 'nova::policy' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end it_configures 'nova policies' diff --git a/spec/classes/nova_qpid_spec.rb b/spec/classes/nova_qpid_spec.rb index c7e030338..5b4317163 100644 --- a/spec/classes/nova_qpid_spec.rb +++ b/spec/classes/nova_qpid_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe 'nova::qpid' do let :facts do - {:puppetversion => '2.7'} + @default_facts.merge({:puppetversion => '2.7'}) end describe 'with defaults' do diff --git a/spec/classes/nova_rabbitmq_spec.rb b/spec/classes/nova_rabbitmq_spec.rb index 22fbb9d2b..4dc7fd8d6 100644 --- a/spec/classes/nova_rabbitmq_spec.rb +++ b/spec/classes/nova_rabbitmq_spec.rb @@ -3,10 +3,10 @@ require 'spec_helper' describe 'nova::rabbitmq' do let :facts do - { + @default_facts.merge({ :puppetversion => '2.7', :osfamily => 'Debian' - } + }) end describe 'with defaults' do diff --git a/spec/classes/nova_scheduler_spec.rb b/spec/classes/nova_scheduler_spec.rb index 34e7f2c2a..fe9b22c64 100644 --- a/spec/classes/nova_scheduler_spec.rb +++ b/spec/classes/nova_scheduler_spec.rb @@ -56,7 +56,7 @@ describe 'nova::scheduler' do it { is_expected.to_not contain_nova_config('database/connection') } it { is_expected.to_not contain_nova_config('database/slave_connection') } - it { is_expected.to_not contain_nova_config('database/idle_timeout').with_value('3600') } + it { is_expected.to_not contain_nova_config('database/idle_timeout').with_value('') } end context 'with overridden database parameters' do @@ -78,7 +78,7 @@ describe 'nova::scheduler' do context 'on Debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end let :platform_params do @@ -91,7 +91,7 @@ describe 'nova::scheduler' do context 'on Redhat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end let :platform_params do diff --git a/spec/classes/nova_serial_proxy_spec.rb b/spec/classes/nova_serial_proxy_spec.rb index 01ef94ce0..95bfcc22a 100644 --- a/spec/classes/nova_serial_proxy_spec.rb +++ b/spec/classes/nova_serial_proxy_spec.rb @@ -50,8 +50,10 @@ describe 'nova::serialproxy' do context 'on Ubuntu system' do let :facts do - { :osfamily => 'Debian', - :operatingsystem => 'Ubuntu' } + @default_facts.merge({ + :osfamily => 'Debian', + :operatingsystem => 'Ubuntu' + }) end let :platform_params do @@ -64,8 +66,10 @@ describe 'nova::serialproxy' do context 'on Debian system' do let :facts do - { :osfamily => 'Debian', - :operatingsystem => 'Debian' } + @default_facts.merge({ + :osfamily => 'Debian', + :operatingsystem => 'Debian' + }) end let :platform_params do @@ -78,7 +82,7 @@ describe 'nova::serialproxy' do context 'on Redhat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end let :platform_params do diff --git a/spec/classes/nova_spicehtml5_proxy_spec.rb b/spec/classes/nova_spicehtml5_proxy_spec.rb index 36db3df14..1681202a7 100644 --- a/spec/classes/nova_spicehtml5_proxy_spec.rb +++ b/spec/classes/nova_spicehtml5_proxy_spec.rb @@ -46,9 +46,11 @@ describe 'nova::spicehtml5proxy' do context 'on Ubuntu system' do let :facts do - { :osfamily => 'Debian', + @default_facts.merge({ + :osfamily => 'Debian', :operatingsystem => 'Ubuntu', - :os_package_type => 'ubuntu' } + :os_package_type => 'ubuntu' + }) end let :platform_params do @@ -61,9 +63,11 @@ describe 'nova::spicehtml5proxy' do context 'on Debian system' do let :facts do - { :osfamily => 'Debian', + @default_facts.merge({ + :osfamily => 'Debian', :operatingsystem => 'Debian', - :os_package_type => 'debian' } + :os_package_type => 'debian' + }) end let :platform_params do @@ -76,9 +80,11 @@ describe 'nova::spicehtml5proxy' do context 'on Ubuntu system with Debian packages' do let :facts do - { :osfamily => 'Debian', + @default_facts.merge({ + :osfamily => 'Debian', :operatingsystem => 'Ubuntu', - :os_package_type => 'debian' } + :os_package_type => 'debian' + }) end let :platform_params do @@ -92,7 +98,7 @@ describe 'nova::spicehtml5proxy' do context 'on Redhat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end let :platform_params do diff --git a/spec/classes/nova_utilities_spec.rb b/spec/classes/nova_utilities_spec.rb index 2b0ae2ce0..f91f46ecd 100644 --- a/spec/classes/nova_utilities_spec.rb +++ b/spec/classes/nova_utilities_spec.rb @@ -4,7 +4,7 @@ describe 'nova::utilities' do describe 'on debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it 'installes utilities' do diff --git a/spec/classes/nova_vnc_proxy_spec.rb b/spec/classes/nova_vnc_proxy_spec.rb index 302708850..714556447 100644 --- a/spec/classes/nova_vnc_proxy_spec.rb +++ b/spec/classes/nova_vnc_proxy_spec.rb @@ -12,7 +12,7 @@ describe 'nova::vncproxy' do describe 'on debian platforms' do let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end it { is_expected.to contain_package('python-numpy').with( @@ -56,9 +56,11 @@ describe 'nova::vncproxy' do describe 'on debian OS' do let :facts do - { :osfamily => 'Debian', + @default_facts.merge({ + :osfamily => 'Debian', :operatingsystem => 'Debian', - :os_package_type => 'debian' } + :os_package_type => 'debian' + }) end it { is_expected.to contain_package('nova-vncproxy').with( :name => "nova-consoleproxy", @@ -73,9 +75,11 @@ describe 'nova::vncproxy' do describe 'on Ubuntu OS with Debian packages' do let :facts do - { :osfamily => 'Debian', + @default_facts.merge({ + :osfamily => 'Debian', :operatingsystem => 'Ubuntu', - :os_package_type => 'debian' } + :os_package_type => 'debian' + }) end it { is_expected.to contain_package('nova-vncproxy').with( :name => "nova-consoleproxy", @@ -91,7 +95,7 @@ describe 'nova::vncproxy' do describe 'on Redhatish platforms' do let :facts do - { :osfamily => 'Redhat' } + @default_facts.merge({ :osfamily => 'Redhat' }) end it { is_expected.to contain_package('python-numpy').with( diff --git a/spec/defines/nova_generic_service_spec.rb b/spec/defines/nova_generic_service_spec.rb index 1c127bcff..e66d1e783 100644 --- a/spec/defines/nova_generic_service_spec.rb +++ b/spec/defines/nova_generic_service_spec.rb @@ -14,7 +14,7 @@ describe 'nova::generic_service' do end let :facts do - { :osfamily => 'Debian' } + @default_facts.merge({ :osfamily => 'Debian' }) end let :title do diff --git a/spec/defines/nova_manage_networks_spec.rb b/spec/defines/nova_manage_networks_spec.rb index b8ec36876..338a7e3c1 100644 --- a/spec/defines/nova_manage_networks_spec.rb +++ b/spec/defines/nova_manage_networks_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' describe 'nova::manage::network' do let :facts do - {:osfamily => 'RedHat'} + @default_facts.merge({:osfamily => 'RedHat'}) end let :pre_condition do diff --git a/spec/hosts/test-001_spec.rb b/spec/hosts/test-001_spec.rb index 62ad5f2f9..6927a808c 100644 --- a/spec/hosts/test-001_spec.rb +++ b/spec/hosts/test-001_spec.rb @@ -4,7 +4,7 @@ describe 'test-001.example.org' do context 'on RedHat platforms' do let :facts do - { :osfamily => 'RedHat' } + @default_facts.merge({ :osfamily => 'RedHat' }) end # Bug #1278452 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 3df4cede1..9bc7bcf96 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -5,6 +5,9 @@ require 'webmock/rspec' RSpec.configure do |c| c.alias_it_should_behave_like_to :it_configures, 'configures' c.alias_it_should_behave_like_to :it_raises, 'raises' + c.before :each do + @default_facts = { :os_service_default => '' } + end end at_exit { RSpec::Puppet::Coverage.report! }