Add support for coordination parameters

The tooz library was introduced to Manila a while ago[1]. This change
adds the new manila::coordination class to manage coordination
parameters and backend packages.

[1] 326755f42ccf0385a02db37e734251860d81b00d

Depends-on: https://review.opendev.org/791628
Change-Id: I1a4c342a1d7876762af51d2c8bef87881719e598
This commit is contained in:
Takashi Kajinami 2021-07-06 13:30:24 +09:00
parent f855998ef7
commit e1aaaf7237
3 changed files with 63 additions and 0 deletions

20
manifests/coordination.pp Normal file
View File

@ -0,0 +1,20 @@
# == Class: manila::coordination
#
# Setup and configure Manila coordination settings.
#
# === Parameters
#
# [*backend_url*]
# (Optional) Coordination backend URL.
# Defaults to $::os_service_default
#
class manila::coordination (
$backend_url = $::os_service_default,
) {
include manila::deps
oslo::coordination{ 'manila_config':
backend_url => $backend_url
}
}

View File

@ -0,0 +1,4 @@
---
features:
- |
The new ``manila::coordination`` class has been added.

View File

@ -0,0 +1,39 @@
require 'spec_helper'
describe 'manila::coordination' do
shared_examples 'manila::coordination' do
context 'with default parameters' do
it {
is_expected.to contain_oslo__coordination('manila_config').with(
:backend_url => '<SERVICE DEFAULT>'
)
}
end
context 'with specified parameters' do
let :params do
{
:backend_url => 'etcd3+http://127.0.0.1:2379',
}
end
it {
is_expected.to contain_oslo__coordination('manila_config').with(
:backend_url => 'etcd3+http://127.0.0.1:2379'
)
}
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 'manila::coordination'
end
end
end