puppet-ceph/spec/defines/ceph_key_spec.rb
Takashi Kajinami b0b0727015 Do not override supported OS
The puppet-ceph modules follows the independent release modeal and
its supported operating systems are not same as the ones for the other
OpenStack modules following OpenStack's release cycle.

This change removes override of operating systems being tested in unit
tests so that we test all operating systems supported by this module.

Change-Id: Icb910ed73999eded6c73905c4ae2f39404a8bfdd
2022-08-22 10:48:32 +09:00

71 lines
2.2 KiB
Ruby

#
# Copyright (C) 2014 Catalyst IT Limited.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Author: Ricardo Rocha <ricardo@catalyst.net.nz>
#
require 'spec_helper'
describe 'ceph::key' do
let (:pre_condition) do
"class { 'ceph': fsid => 'foo' }"
end
shared_examples 'ceph key' do
describe "with custom params" do
let :title do
'client.admin'
end
let :params do
{
:secret => 'supersecret',
:user => 'nobody',
:group => 'nogroup',
:cap_mon => 'allow *',
:cap_osd => 'allow rw',
:cap_mgr => 'allow *',
:inject => true,
}
end
it {
should contain_exec('ceph-key-client.admin').with(
'command' => "/bin/true # comment to satisfy puppet syntax requirements\nset -ex\nceph-authtool /etc/ceph/ceph.client.admin.keyring --name 'client.admin' --add-key 'supersecret' --cap mon 'allow *' --cap osd 'allow rw' --cap mgr 'allow *' "
)
should contain_file('/etc/ceph/ceph.client.admin.keyring').with(
'owner' => 'nobody',
'group' => 'nogroup',
'mode' => '0600',
'selinux_ignore_defaults' => true,
)
should contain_exec('ceph-injectkey-client.admin').with(
'command' => "/bin/true # comment to satisfy puppet syntax requirements\nset -ex\nceph auth import -i /etc/ceph/ceph.client.admin.keyring"
)
}
end
end
on_supported_os.each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_behaves_like 'ceph key'
end
end
end