Add octavia::quota class
This patch add a new class octavia::quota to manage the quota settings in Octavia services. Change-Id: Ibd7d87ae1b7df0884b4b7a6f89ba79cefea2a9cc
This commit is contained in:
parent
2b995012ab
commit
a887994258
44
manifests/quota.pp
Normal file
44
manifests/quota.pp
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# == Class: octavia::quota
|
||||||
|
#
|
||||||
|
# Setup and configure octavia quotas.
|
||||||
|
#
|
||||||
|
# === Parameters:
|
||||||
|
#
|
||||||
|
# [*load_balancer_quota*]
|
||||||
|
# (optional) Default per project load balancer quota
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
|
# [*listener_quota*]
|
||||||
|
# (optional) Default per project listener quota.
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
|
# [*member_quota*]
|
||||||
|
# (optional) Default per project member quota.
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
|
# [*pool_quota*]
|
||||||
|
# (optional) Default per project pool quota.
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
|
# [*health_monitor_quota*]
|
||||||
|
# (optional) Default per project health monitor quota.
|
||||||
|
# Defaults to $::os_service_default
|
||||||
|
#
|
||||||
|
class octavia::quota (
|
||||||
|
$load_balancer_quota = $::os_service_default,
|
||||||
|
$listener_quota = $::os_service_default,
|
||||||
|
$member_quota = $::os_service_default,
|
||||||
|
$pool_quota = $::os_service_default,
|
||||||
|
$health_monitor_quota = $::os_service_default,
|
||||||
|
) {
|
||||||
|
|
||||||
|
include ::octavia::deps
|
||||||
|
|
||||||
|
octavia_config {
|
||||||
|
'quotas/default_load_balancer_quota': value => $load_balancer_quota;
|
||||||
|
'quotas/default_listener_quota': value => $listener_quota;
|
||||||
|
'quotas/default_member_quota': value => $member_quota;
|
||||||
|
'quotas/default_pool_quota': value => $pool_quota;
|
||||||
|
'quotas/default_health_monitor_quota': value => $health_monitor_quota;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Add a new class octavia::quota to manage the quota settings in Octavia.
|
59
spec/classes/octavia_quota_spec.rb
Normal file
59
spec/classes/octavia_quota_spec.rb
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'octavia::quota' do
|
||||||
|
let :default_params do
|
||||||
|
{ :load_balancer_quota => '<SERVICE DEFAULT>',
|
||||||
|
:listener_quota => '<SERVICE DEFAULT>',
|
||||||
|
:member_quota => '<SERVICE DEFAULT>',
|
||||||
|
:pool_quota => '<SERVICE DEFAULT>',
|
||||||
|
:health_monitor_quota => '<SERVICE DEFAULT>' }
|
||||||
|
end
|
||||||
|
|
||||||
|
let :params do
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
|
||||||
|
shared_examples_for 'octavia quota' do
|
||||||
|
|
||||||
|
let :p do
|
||||||
|
default_params.merge(params)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'contains default values' do
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_load_balancer_quota').with_value(p[:load_balancer_quota])
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_listener_quota').with_value(p[:listener_quota])
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_member_quota').with_value(p[:member_quota])
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_pool_quota').with_value(p[:pool_quota])
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_health_monitor_quota').with_value(p[:health_monitor_quota])
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'configure quota with parameters' do
|
||||||
|
before :each do
|
||||||
|
params.merge!({ :load_balancer_quota => 10,
|
||||||
|
:listener_quota => 100,
|
||||||
|
:member_quota => 100 })
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'contains overrided values' do
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_load_balancer_quota').with_value(p[:load_balancer_quota])
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_listener_quota').with_value(p[:listener_quota])
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_member_quota').with_value(p[:member_quota])
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_pool_quota').with_value(p[:pool_quota])
|
||||||
|
is_expected.to contain_octavia_config('quotas/default_health_monitor_quota').with_value(p[:health_monitor_quota])
|
||||||
|
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({:os_workers => 8}))
|
||||||
|
end
|
||||||
|
|
||||||
|
it_configures 'octavia quota'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user