Add support for iscsid configuration

The iscsid service is used in sevral components like nova, cinder,
glance and so on to connect to iscsi devices. This change introduces
the new class to manage basic configuration of the iscsid service.

Co-authored-by: Alfredo Moralejo <amoralej@redhat.com>
Change-Id: I3fc6d1192632cc1458d00900508d548f522e9cdb
This commit is contained in:
Takashi Kajinami
2021-06-04 00:01:03 +09:00
parent d2782eef68
commit 6e67434c27
4 changed files with 123 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
require 'spec_helper'
describe 'openstacklib::iscsid' do
shared_examples_for 'openstacklib::iscsid' do
context 'with default params' do
it { is_expected.to contain_package('open-iscsi').with(
:name => platform_params[:open_iscsi_package_name],
:ensure => 'present',
:tag => 'openstack',
)}
it { is_expected.to contain_exec('create-initiatorname-file').with({
:command => 'echo "InitiatorName=`/usr/sbin/iscsi-iname`" > /etc/iscsi/initiatorname.iscsi',
:path => ['/usr/bin','/usr/sbin','/bin','/usr/bin'],
:unless => 'test -e /etc/iscsi/initiatorname.iscsi',
}).that_requires('Package[open-iscsi]')}
it { is_expected.to contain_service('iscsid').with(
:ensure => 'running',
:enable => true,
) }
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
let(:platform_params) do
case facts[:osfamily]
when 'Debian'
{ :open_iscsi_package_name => 'open-iscsi' }
when 'RedHat'
{ :open_iscsi_package_name => 'iscsi-initiator-utils' }
end
end
it_behaves_like 'openstacklib::iscsid'
end
end
end