# If set, use this value for max_overflow with sqlalchemy.
# (Optional) Defaults to 20.
#
+# [*mongodb_replica_set*]
+# The name of the replica set which is used to connect to MongoDB
+# database. If it is set, MongoReplicaSetClient will be used instead
+# of MongoClient.
+# (Optional) Defaults to undef (string value).
+#
# [*sync_db*]
# enable dbsync.
#
$database_retry_interval = 10,
$database_max_overflow = 20,
$sync_db = true,
+ $mongodb_replica_set = undef,
) {
include ::ceilometer::params
}
/^mongodb:\/\//: {
$backend_package = $::ceilometer::params::pymongo_package_name
+ if $mongodb_replica_set {
+ ceilometer_config { 'database/mongodb_replica_set': value => $mongodb_replica_set; }
+ } else {
+ ceilometer_config { 'database/mongodb_replica_set': ensure => absent; }
+ }
}
/^sqlite:\/\//: {
$backend_package = $::ceilometer::params::sqlite_package_name
it { is_expected.to contain_ceilometer_config('database/min_pool_size').with_value('1') }
it { is_expected.to contain_ceilometer_config('database/max_retries').with_value('10') }
it { is_expected.to contain_ceilometer_config('database/retry_interval').with_value('10') }
+ it { is_expected.not_to contain_ceilometer_config('database/mongodb_replica_set') }
end
it { is_expected.to contain_ceilometer_config('database/min_pool_size').with_value('2') }
it { is_expected.to contain_ceilometer_config('database/max_retries').with_value('11') }
it { is_expected.to contain_ceilometer_config('database/retry_interval').with_value('11') }
+ it { is_expected.to contain_ceilometer_config('database/mongodb_replica_set').with_ensure( 'absent' ) }
end
- context 'with mongodb backend' do
+ context 'with mongodb backend and replica set' do
let :params do
- { :database_connection => 'mongodb://localhost:1234/ceilometer', }
+ { :database_connection => 'mongodb://localhost:1234/ceilometer',
+ :mongodb_replica_set => 'foobar' }
end
it 'install the proper backend package' do
)
end
+ it { is_expected.to contain_ceilometer_config('database/mongodb_replica_set').with_value( 'foobar' ) }
+
end