Add support for quota parameters
This patch introduces the new ``aodh::quota`` class, to support parameters which define quota amount in aodh. Change-Id: Ice37e64bddb0e128f3fc98de7b5fe35bd08e5f36
This commit is contained in:
parent
e7c0c5042f
commit
895c8b4037
32
manifests/quota.pp
Normal file
32
manifests/quota.pp
Normal file
@ -0,0 +1,32 @@
|
||||
# The aodh::quota class helps configure quota settings
|
||||
#
|
||||
# == Params
|
||||
#
|
||||
# [*user_alarm_quota*]
|
||||
# (optional) Maximum number of alarms defined for a user.
|
||||
# Defaults to $:os_service_default.
|
||||
#
|
||||
# [*project_alarm_quota*]
|
||||
# (optional) Maximum number of alarms defined for a project.
|
||||
# Defaults to $:os_service_default.
|
||||
#
|
||||
# [*alarm_max_actions*]
|
||||
# (optional) Maximum count of actions for each state of an alarm.
|
||||
# Defaults to $:os_service_default.
|
||||
#
|
||||
class aodh::quota (
|
||||
$user_alarm_quota = $::os_service_default,
|
||||
$project_alarm_quota = $::os_service_default,
|
||||
$alarm_max_actions = $::os_service_default,
|
||||
) {
|
||||
|
||||
include aodh::deps
|
||||
include aodh::params
|
||||
|
||||
aodh_config {
|
||||
'api/user_alarm_quota': value => $user_alarm_quota;
|
||||
'api/project_alarm_quota': value => $project_alarm_quota;
|
||||
'api/alarm_max_actions': value => $alarm_max_actions;
|
||||
}
|
||||
|
||||
}
|
5
releasenotes/notes/quota-2c8473e178a2f566.yaml
Normal file
5
releasenotes/notes/quota-2c8473e178a2f566.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The ``aodh::quota`` class has been added to support parameters to define
|
||||
quota.
|
48
spec/classes/aodh_quota_spec.rb
Normal file
48
spec/classes/aodh_quota_spec.rb
Normal file
@ -0,0 +1,48 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'aodh::quota' do
|
||||
|
||||
shared_examples_for 'aodh::quota' do
|
||||
|
||||
context 'with default parameters' do
|
||||
let :params do
|
||||
{}
|
||||
end
|
||||
|
||||
it 'configures default values' do
|
||||
is_expected.to contain_aodh_config('api/user_alarm_quota').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_aodh_config('api/project_alarm_quota').with_value('<SERVICE DEFAULT>')
|
||||
is_expected.to contain_aodh_config('api/alarm_max_actions').with_value('<SERVICE DEFAULT>')
|
||||
end
|
||||
end
|
||||
|
||||
context 'when specific parameters' do
|
||||
let :params do
|
||||
{
|
||||
:user_alarm_quota => 10,
|
||||
:project_alarm_quota => 20,
|
||||
:alarm_max_actions => 5,
|
||||
}
|
||||
end
|
||||
|
||||
it 'configures specified values' do
|
||||
is_expected.to contain_aodh_config('api/user_alarm_quota').with_value(10)
|
||||
is_expected.to contain_aodh_config('api/project_alarm_quota').with_value(20)
|
||||
is_expected.to contain_aodh_config('api/alarm_max_actions').with_value(5)
|
||||
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_configures 'aodh::quota'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in New Issue
Block a user