Below is my param manifests
class module_name::params {
$fstype = $::operatingsystemmajrelease ? {
'5' => 'ext3',
'6' => 'ext4',
'7' => 'xfs',
default => fail(" ${::operatingsystemrelease} is not supported.")
}
below id manifests
class module_name::lvm {
$flsy = {
'lv_hpp' => {
'vg' => 'vg01',
'mountpoint' => '/usr/xxx',
'lvsize' => '1G',
'fsowner' => 'root',
'fsgroup' => 'root',
'fsperms' => '0755',
'options' => 'defaults,noatime',
'dump' => '0',
'pass' => '0',
},
create_resources ('module_name::moddef', $hadfs)
}
below manifests is for define class
define module_name::moddef (
$vg,
$mountpoint,
$lvsize,
$fsowner,
$fsgroup,
$fsperms,
$options,
$dump,
$pass,
$lv_name = $title,
) {
include 'module_name::params'
logical_volume { $lv_name:
ensure => present,
size => $lvsize,
volume_group => $vg,
}
}
I have witten below rspec-puppet test case
describe 'module_name::lvm' do
let(:facts) {{ :operatingsystemmajrelease => '7', :blockdevices => 'sdb' }}
it { should contain_hadoop_base__hadlvmdef('lv_hpp')}
end
end
define type test case
require 'spec_helper'
describe 'module_name::moddef', :type => 'define' do
let(:facts) {{ :operatingsystemrelease => '7'}}
let(:pre_condition) { 'include module_name::params'}
flsy = {
'lv_hpp' => {
'vg' => 'vg01',
'mountpoint' => '/usr/xxx',
'lvsize' => '1G',
'fsowner' => 'root',
'fsgroup' => 'root',
'fsperms' => '0755',
'options' => 'defaults,noatime',
'dump' => '0',
'pass' => '0',
}
}
flsy .each do|title,value|
context title do
let(:title) { title }
let(:params) {{
'vg' => value['vg'],
'lvsize' => value['lvsize'],
'mountpoint' => value['mountpoint'],
'fsowner' => value['fsowner'],
'fsgroup' => value['fsgroup'],
'fsperms' => value['fsperms'],
'options' => value['options'],
'dump' => value['dump'],
'pass' => value['pass']
}}
it { should contain_logical_volume(title).with(
'ensure' => 'present',
'size' => value['lvsize'],
'volume_group' => value['vg']
)}
end
end
end
when I run test getting below error
Evaluation Error: Error while evaluating a Function Call, 7 is not supported. at /root/modules_new/module_name/spec/fixtures/modules/module_name/manif
ests/params.pp:15:16 on node
My doubt is, why its calling default value. I am passing operatingsystemrelease 7 (:facts) but still why its calling default.
↧