diff --git a/spec/classes/glance_api_logging_spec.rb b/spec/classes/glance_api_logging_spec.rb
index ae8b638f..2bc289b2 100644
--- a/spec/classes/glance_api_logging_spec.rb
+++ b/spec/classes/glance_api_logging_spec.rb
@@ -35,83 +35,72 @@ describe 'glance::api::logging' do
   shared_examples_for 'glance-api-logging' do
 
     context 'with basic logging options and default settings' do
-      it_configures  'basic default logging settings'
+      it_behaves_like  'basic default logging settings'
     end
 
     context 'with basic logging options and non-default settings' do
       before { params.merge!( log_params ) }
-      it_configures 'basic non-default logging settings'
+      it_behaves_like 'basic non-default logging settings'
     end
 
     context 'with extended logging options' do
       before { params.merge!( log_params ) }
-      it_configures 'logging params set'
+      it_behaves_like 'logging params set'
     end
 
     context 'without extended logging options' do
-      it_configures 'logging params unset'
+      it_behaves_like 'logging params unset'
     end
 
   end
 
   shared_examples 'basic default logging settings' do
     it 'configures glance logging settings with default values' do
-      is_expected.to contain_glance_api_config('DEFAULT/use_syslog').with(:value => '<SERVICE DEFAULT>')
-      is_expected.to contain_glance_api_config('DEFAULT/use_stderr').with(:value => '<SERVICE DEFAULT>')
-      is_expected.to contain_glance_api_config('DEFAULT/log_dir').with(:value => '/var/log/glance')
-      is_expected.to contain_glance_api_config('DEFAULT/log_file').with(:value => '/var/log/glance/api.log')
-      is_expected.to contain_glance_api_config('DEFAULT/debug').with(:value => '<SERVICE DEFAULT>')
+      is_expected.to contain_oslo__log('glance_api_config').with(
+        :use_syslog => '<SERVICE DEFAULT>',
+        :use_stderr => '<SERVICE DEFAULT>',
+        :log_dir    => '/var/log/glance',
+        :log_file   => '/var/log/glance/api.log',
+        :debug      => '<SERVICE DEFAULT>',
+      )
     end
   end
 
   shared_examples 'basic non-default logging settings' do
     it 'configures glance logging settings with non-default values' do
-      is_expected.to contain_glance_api_config('DEFAULT/use_syslog').with(:value => 'true')
-      is_expected.to contain_glance_api_config('DEFAULT/use_stderr').with(:value => 'false')
-      is_expected.to contain_glance_api_config('DEFAULT/syslog_log_facility').with(:value => 'LOG_FOO')
-      is_expected.to contain_glance_api_config('DEFAULT/log_dir').with(:value => '/var/log')
-      is_expected.to contain_glance_api_config('DEFAULT/log_file').with(:value => '/var/tmp/glance_api_random.log')
-      is_expected.to contain_glance_api_config('DEFAULT/debug').with(:value => 'true')
+      is_expected.to contain_oslo__log('glance_api_config').with(
+        :use_syslog          => true,
+        :use_stderr          => false,
+        :syslog_log_facility => 'LOG_FOO',
+        :log_dir             => '/var/log',
+        :log_file            => '/var/tmp/glance_api_random.log',
+        :debug               => true,
+      )
     end
   end
 
   shared_examples_for 'logging params set' do
     it 'enables logging params' do
-      is_expected.to contain_glance_api_config('DEFAULT/logging_context_format_string').with_value(
-        '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s')
-
-      is_expected.to contain_glance_api_config('DEFAULT/logging_default_format_string').with_value(
-        '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s')
-
-      is_expected.to contain_glance_api_config('DEFAULT/logging_debug_format_suffix').with_value(
-        '%(funcName)s %(pathname)s:%(lineno)d')
-
-      is_expected.to contain_glance_api_config('DEFAULT/logging_exception_prefix').with_value(
-       '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s')
-
-      is_expected.to contain_glance_api_config('DEFAULT/log_config_append').with_value(
-        '/etc/glance/logging.conf')
-      is_expected.to contain_glance_api_config('DEFAULT/publish_errors').with_value(
-        true)
-
-      is_expected.to contain_glance_api_config('DEFAULT/default_log_levels').with_value(
-        'amqp=WARN,amqplib=WARN,boto=WARN,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,sqlalchemy=WARN,suds=INFO')
-
-      is_expected.to contain_glance_api_config('DEFAULT/fatal_deprecations').with_value(
-        true)
-
-      is_expected.to contain_glance_api_config('DEFAULT/instance_format').with_value(
-        '[instance: %(uuid)s] ')
-
-      is_expected.to contain_glance_api_config('DEFAULT/instance_uuid_format').with_value(
-        '[instance: %(uuid)s] ')
-
-      is_expected.to contain_glance_api_config('DEFAULT/log_date_format').with_value(
-        '%Y-%m-%d %H:%M:%S')
+      is_expected.to contain_oslo__log('glance_api_config').with(
+        :logging_context_format_string =>
+          '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s',
+        :logging_default_format_string => '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s',
+        :logging_debug_format_suffix   => '%(funcName)s %(pathname)s:%(lineno)d',
+        :logging_exception_prefix      => '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s',
+        :log_config_append             => '/etc/glance/logging.conf',
+        :publish_errors                => true,
+        :default_log_levels            => {
+          'amqp' => 'WARN', 'amqplib' => 'WARN', 'boto' => 'WARN',
+          'sqlalchemy' => 'WARN', 'suds' => 'INFO', 'iso8601' => 'WARN',
+          'requests.packages.urllib3.connectionpool' => 'WARN' },
+       :fatal_deprecations             => true,
+       :instance_format                => '[instance: %(uuid)s] ',
+       :instance_uuid_format           => '[instance: %(uuid)s] ',
+       :log_date_format                => '%Y-%m-%d %H:%M:%S',
+      )
     end
   end
 
-
   shared_examples_for 'logging params unset' do
    [ :logging_context_format_string, :logging_default_format_string,
      :logging_debug_format_suffix, :logging_exception_prefix,
@@ -119,7 +108,7 @@ describe 'glance::api::logging' do
      :default_log_levels, :fatal_deprecations,
      :instance_format, :instance_uuid_format,
      :log_date_format, ].each { |param|
-        it { is_expected.to contain_glance_api_config("DEFAULT/#{param}").with_value('<SERVICE DEFAULT>') }
+        it { is_expected.to contain_oslo__log('glance_api_config').with("#{param}" => '<SERVICE DEFAULT>') }
       }
   end
 
@@ -131,7 +120,7 @@ describe 'glance::api::logging' do
         facts.merge!(OSDefaults.get_facts())
       end
 
-      it_configures 'glance-api-logging'
+      it_behaves_like 'glance-api-logging'
     end
   end
 
diff --git a/spec/classes/glance_cache_logging_spec.rb b/spec/classes/glance_cache_logging_spec.rb
index a51958ba..5e3b810f 100644
--- a/spec/classes/glance_cache_logging_spec.rb
+++ b/spec/classes/glance_cache_logging_spec.rb
@@ -56,62 +56,51 @@ describe 'glance::cache::logging' do
 
   shared_examples 'basic default logging settings' do
     it 'configures glance logging settings with default values' do
-      is_expected.to contain_glance_cache_config('DEFAULT/use_stderr').with(:value => '<SERVICE DEFAULT>')
-      is_expected.to contain_glance_cache_config('DEFAULT/use_syslog').with(:value => '<SERVICE DEFAULT>')
-      is_expected.to contain_glance_cache_config('DEFAULT/debug').with(:value => '<SERVICE DEFAULT>')
-      is_expected.to contain_glance_cache_config('DEFAULT/log_dir').with(:value => '/var/log/glance')
-      is_expected.to contain_glance_cache_config('DEFAULT/log_file').with(:value => '/var/log/glance/cache.log')
+      is_expected.to contain_oslo__log('glance_cache_config').with(
+        :use_syslog => '<SERVICE DEFAULT>',
+        :use_stderr => '<SERVICE DEFAULT>',
+        :log_dir    => '/var/log/glance',
+        :log_file   => '/var/log/glance/cache.log',
+        :debug      => '<SERVICE DEFAULT>',
+      )
     end
   end
 
   shared_examples 'basic non-default logging settings' do
     it 'configures glance logging settings with non-default values' do
-      is_expected.to contain_glance_cache_config('DEFAULT/use_syslog').with(:value => 'true')
-      is_expected.to contain_glance_cache_config('DEFAULT/use_stderr').with(:value => 'false')
-      is_expected.to contain_glance_cache_config('DEFAULT/syslog_log_facility').with(:value => 'LOG_FOO')
-      is_expected.to contain_glance_cache_config('DEFAULT/log_dir').with(:value => '/var/log')
-      is_expected.to contain_glance_cache_config('DEFAULT/log_file').with(:value => '/var/tmp/glance_cache_random.log')
-      is_expected.to contain_glance_cache_config('DEFAULT/debug').with(:value => 'true')
+      is_expected.to contain_oslo__log('glance_cache_config').with(
+        :use_syslog          => true,
+        :use_stderr          => false,
+        :syslog_log_facility => 'LOG_FOO',
+        :log_dir             => '/var/log',
+        :log_file            => '/var/tmp/glance_cache_random.log',
+        :debug               => true,
+      )
     end
   end
 
   shared_examples_for 'logging params set' do
     it 'enables logging params' do
-      is_expected.to contain_glance_cache_config('DEFAULT/logging_context_format_string').with_value(
-        '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s')
-
-      is_expected.to contain_glance_cache_config('DEFAULT/logging_default_format_string').with_value(
-        '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s')
-
-      is_expected.to contain_glance_cache_config('DEFAULT/logging_debug_format_suffix').with_value(
-        '%(funcName)s %(pathname)s:%(lineno)d')
-
-      is_expected.to contain_glance_cache_config('DEFAULT/logging_exception_prefix').with_value(
-       '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s')
-
-      is_expected.to contain_glance_cache_config('DEFAULT/log_config_append').with_value(
-        '/etc/glance/logging.conf')
-      is_expected.to contain_glance_cache_config('DEFAULT/publish_errors').with_value(
-        true)
-
-      is_expected.to contain_glance_cache_config('DEFAULT/default_log_levels').with_value(
-        'amqp=WARN,amqplib=WARN,boto=WARN,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,sqlalchemy=WARN,suds=INFO')
-
-      is_expected.to contain_glance_cache_config('DEFAULT/fatal_deprecations').with_value(
-        true)
-
-      is_expected.to contain_glance_cache_config('DEFAULT/instance_format').with_value(
-        '[instance: %(uuid)s] ')
-
-      is_expected.to contain_glance_cache_config('DEFAULT/instance_uuid_format').with_value(
-        '[instance: %(uuid)s] ')
-
-      is_expected.to contain_glance_cache_config('DEFAULT/log_date_format').with_value(
-        '%Y-%m-%d %H:%M:%S')
+      is_expected.to contain_oslo__log('glance_cache_config').with(
+        :logging_context_format_string =>
+          '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s',
+        :logging_default_format_string => '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s',
+        :logging_debug_format_suffix   => '%(funcName)s %(pathname)s:%(lineno)d',
+        :logging_exception_prefix      => '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s',
+        :log_config_append             => '/etc/glance/logging.conf',
+        :publish_errors                => true,
+        :default_log_levels            => {
+          'amqp' => 'WARN', 'amqplib' => 'WARN', 'boto' => 'WARN',
+          'sqlalchemy' => 'WARN', 'suds' => 'INFO', 'iso8601' => 'WARN',
+          'requests.packages.urllib3.connectionpool' => 'WARN' },
+       :fatal_deprecations             => true,
+       :instance_format                => '[instance: %(uuid)s] ',
+       :instance_uuid_format           => '[instance: %(uuid)s] ',
+       :log_date_format                => '%Y-%m-%d %H:%M:%S',
+      )
     end
   end
 
-
   shared_examples_for 'logging params unset' do
    [ :logging_context_format_string, :logging_default_format_string,
      :logging_debug_format_suffix, :logging_exception_prefix,
@@ -119,7 +108,7 @@ describe 'glance::cache::logging' do
      :default_log_levels, :fatal_deprecations,
      :instance_format, :instance_uuid_format,
      :log_date_format, ].each { |param|
-        it { is_expected.to contain_glance_cache_config("DEFAULT/#{param}").with_value('<SERVICE DEFAULT>') }
+        it { is_expected.to contain_oslo__log('glance_cache_config').with("#{param}" => '<SERVICE DEFAULT>') }
       }
   end
 
diff --git a/spec/classes/glance_registry_logging_spec.rb b/spec/classes/glance_registry_logging_spec.rb
index 21a707ba..3c316541 100644
--- a/spec/classes/glance_registry_logging_spec.rb
+++ b/spec/classes/glance_registry_logging_spec.rb
@@ -56,62 +56,51 @@ describe 'glance::registry::logging' do
 
   shared_examples 'basic default logging settings' do
     it 'configures glance logging settings with default values' do
-      is_expected.to contain_glance_registry_config('DEFAULT/use_syslog').with(:value => '<SERVICE DEFAULT>')
-      is_expected.to contain_glance_registry_config('DEFAULT/use_stderr').with(:value => '<SERVICE DEFAULT>')
-      is_expected.to contain_glance_registry_config('DEFAULT/log_dir').with(:value => '/var/log/glance')
-      is_expected.to contain_glance_registry_config('DEFAULT/log_file').with(:value => '/var/log/glance/registry.log')
-      is_expected.to contain_glance_registry_config('DEFAULT/debug').with(:value => '<SERVICE DEFAULT>')
+      is_expected.to contain_oslo__log('glance_registry_config').with(
+        :use_syslog => '<SERVICE DEFAULT>',
+        :use_stderr => '<SERVICE DEFAULT>',
+        :log_dir    => '/var/log/glance',
+        :log_file   => '/var/log/glance/registry.log',
+        :debug      => '<SERVICE DEFAULT>',
+      )
     end
   end
 
   shared_examples 'basic non-default logging settings' do
     it 'configures glance logging settings with non-default values' do
-      is_expected.to contain_glance_registry_config('DEFAULT/use_syslog').with(:value => 'true')
-      is_expected.to contain_glance_registry_config('DEFAULT/use_stderr').with(:value => 'false')
-      is_expected.to contain_glance_registry_config('DEFAULT/syslog_log_facility').with(:value => 'LOG_FOO')
-      is_expected.to contain_glance_registry_config('DEFAULT/log_dir').with(:value => '/var/log')
-      is_expected.to contain_glance_registry_config('DEFAULT/log_file').with(:value => '/var/tmp/glance_registry_random.log')
-      is_expected.to contain_glance_registry_config('DEFAULT/debug').with(:value => 'true')
+      is_expected.to contain_oslo__log('glance_registry_config').with(
+        :use_syslog          => true,
+        :use_stderr          => false,
+        :syslog_log_facility => 'LOG_FOO',
+        :log_dir             => '/var/log',
+        :log_file            => '/var/tmp/glance_registry_random.log',
+        :debug               => true,
+      )
     end
   end
 
   shared_examples_for 'logging params set' do
     it 'enables logging params' do
-      is_expected.to contain_glance_registry_config('DEFAULT/logging_context_format_string').with_value(
-        '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s')
-
-      is_expected.to contain_glance_registry_config('DEFAULT/logging_default_format_string').with_value(
-        '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s')
-
-      is_expected.to contain_glance_registry_config('DEFAULT/logging_debug_format_suffix').with_value(
-        '%(funcName)s %(pathname)s:%(lineno)d')
-
-      is_expected.to contain_glance_registry_config('DEFAULT/logging_exception_prefix').with_value(
-       '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s')
-
-      is_expected.to contain_glance_registry_config('DEFAULT/log_config_append').with_value(
-        '/etc/glance/logging.conf')
-      is_expected.to contain_glance_registry_config('DEFAULT/publish_errors').with_value(
-        true)
-
-      is_expected.to contain_glance_registry_config('DEFAULT/default_log_levels').with_value(
-        'amqp=WARN,amqplib=WARN,boto=WARN,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,sqlalchemy=WARN,suds=INFO')
-
-      is_expected.to contain_glance_registry_config('DEFAULT/fatal_deprecations').with_value(
-        true)
-
-      is_expected.to contain_glance_registry_config('DEFAULT/instance_format').with_value(
-        '[instance: %(uuid)s] ')
-
-      is_expected.to contain_glance_registry_config('DEFAULT/instance_uuid_format').with_value(
-        '[instance: %(uuid)s] ')
-
-      is_expected.to contain_glance_registry_config('DEFAULT/log_date_format').with_value(
-        '%Y-%m-%d %H:%M:%S')
+      is_expected.to contain_oslo__log('glance_registry_config').with(
+        :logging_context_format_string =>
+          '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s',
+        :logging_default_format_string => '%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s',
+        :logging_debug_format_suffix   => '%(funcName)s %(pathname)s:%(lineno)d',
+        :logging_exception_prefix      => '%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s',
+        :log_config_append             => '/etc/glance/logging.conf',
+        :publish_errors                => true,
+        :default_log_levels            => {
+          'amqp' => 'WARN', 'amqplib' => 'WARN', 'boto' => 'WARN',
+          'sqlalchemy' => 'WARN', 'suds' => 'INFO', 'iso8601' => 'WARN',
+          'requests.packages.urllib3.connectionpool' => 'WARN' },
+       :fatal_deprecations             => true,
+       :instance_format                => '[instance: %(uuid)s] ',
+       :instance_uuid_format           => '[instance: %(uuid)s] ',
+       :log_date_format                => '%Y-%m-%d %H:%M:%S',
+      )
     end
   end
 
-
   shared_examples_for 'logging params unset' do
    [ :logging_context_format_string, :logging_default_format_string,
      :logging_debug_format_suffix, :logging_exception_prefix,
@@ -119,7 +108,7 @@ describe 'glance::registry::logging' do
      :default_log_levels, :fatal_deprecations,
      :instance_format, :instance_uuid_format,
      :log_date_format, ].each { |param|
-        it { is_expected.to contain_glance_registry_config("DEFAULT/#{param}").with_value('<SERVICE DEFAULT>') }
+        it { is_expected.to contain_oslo__log('glance_registry_config').with("#{param}" => '<SERVICE DEFAULT>') }
       }
   end