--- /dev/null
+# == Class: ceilometer::agent::polling::rgw
+#
+# Configure rgw parameters
+#
+# === Parameters
+#
+# [*access_key*]
+# (Optional) Access key for Radosgw Admin.
+# Defaults to $::os_service_default
+#
+# [*secret_key*]
+# (Optional) Secret key for Radosgw Admin.
+# Defaults to $::os_service_default
+#
+# [*implicit_tenants*]
+# (Optional) Whether RGW uses implicit tenants or not.
+# Defaults to $::os_service_default
+#
+class ceilometer::agent::polling::rgw (
+ $access_key = $::os_service_default,
+ $secret_key = $::os_service_default,
+ $implicit_tenants = $::os_service_default,
+) {
+
+ include ceilometer::deps
+
+ ceilometer_config {
+ 'rgw_admin_credentials/access_key': value => $access_key, secret => true;
+ 'rgw_admin_credentials/secret_key': value => $secret_key, secret => true;
+ 'rgw_client/implicit_tenants': value => $implicit_tenants;
+ }
+}
# (Optional) cinder service type.
# Defaults to $::os_service_default
#
+# [*radosgw*]
+# (Optional) Radosgw service type.
+# Defaults to $::os_service_default
+#
class ceilometer::agent::polling::service_types (
$glance = $::os_service_default,
$neutron = $::os_service_default,
$nova = $::os_service_default,
$swift = $::os_service_default,
$cinder = $::os_service_default,
+ $radosgw = $::os_service_default,
) {
include ceilometer::deps
'service_types/nova': value => $nova;
'service_types/swift': value => $swift;
'service_types/cinder': value => $cinder;
+ 'service_types/radosgw': value => $radosgw;
}
}
--- /dev/null
+---
+features:
+ - |
+ Support for the parameters used to poll metrics from the Radosgw service
+ has been added.
--- /dev/null
+require 'spec_helper'
+
+describe 'ceilometer::agent::polling::rgw' do
+ shared_examples 'ceilometer::agent::polling::rgw' do
+ context 'with default parameters' do
+ it 'configures the default values' do
+ is_expected.to contain_ceilometer_config('rgw_admin_credentials/access_key').with_value('<SERVICE DEFAULT>').with_secret(true)
+ is_expected.to contain_ceilometer_config('rgw_admin_credentials/secret_key').with_value('<SERVICE DEFAULT>').with_secret(true)
+ is_expected.to contain_ceilometer_config('rgw_client/implicit_tenants').with_value('<SERVICE DEFAULT>')
+ end
+ end
+
+ context 'with overridden parameters' do
+ let :params do
+ {
+ :access_key => 'access',
+ :secret_key => 'secret',
+ :implicit_tenants => true,
+ }
+ end
+
+ it 'configures the overridden values' do
+ is_expected.to contain_ceilometer_config('rgw_admin_credentials/access_key').with_value('access')
+ is_expected.to contain_ceilometer_config('rgw_admin_credentials/secret_key').with_value('secret')
+ is_expected.to contain_ceilometer_config('rgw_client/implicit_tenants').with_value(true)
+ end
+ end
+ end
+
+ on_supported_os({
+ :supported_os => OSDefaults.get_supported_os
+ }).each do |os,facts|
+ context "on #{os}" do
+ let (:facts) do
+ facts.merge(OSDefaults.get_facts())
+ end
+
+ it_behaves_like 'ceilometer::agent::polling::rgw'
+ end
+ end
+end
is_expected.to contain_ceilometer_config('service_types/nova').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ceilometer_config('service_types/swift').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ceilometer_config('service_types/cinder').with_value('<SERVICE DEFAULT>')
+ is_expected.to contain_ceilometer_config('service_types/radosgw').with_value('<SERVICE DEFAULT>')
end
end
:nova => 'compute',
:swift => 'object-store',
:cinder => 'volumev3',
+ :radosgw => 'alt-object-store',
}
end
is_expected.to contain_ceilometer_config('service_types/nova').with_value('compute')
is_expected.to contain_ceilometer_config('service_types/swift').with_value('object-store')
is_expected.to contain_ceilometer_config('service_types/cinder').with_value('volumev3')
+ is_expected.to contain_ceilometer_config('service_types/radosgw').with_value('alt-object-store')
end
end
end