diff --git a/manifests/volume.pp b/manifests/volume.pp index 1f55ac25..937720c4 100644 --- a/manifests/volume.pp +++ b/manifests/volume.pp @@ -13,7 +13,7 @@ # @param fstype The type of filesystem to create on the logical # volume. # -# @param pv path to physcial volume +# @param pv path(s) to physcial volume(s) # # @param vg value of volume group # @@ -36,7 +36,7 @@ # define lvm::volume ( Enum['present', 'absent', 'cleaned'] $ensure, - Stdlib::Absolutepath $pv, + Variant[Stdlib::Absolutepath, Array[Stdlib::Absolutepath]] $pv, String[1] $vg, Optional[String[1]] $fstype = undef, Optional[String[1]] $size = undef, diff --git a/spec/defines/volume_spec.rb b/spec/defines/volume_spec.rb index 9ae8b76a..944075ad 100644 --- a/spec/defines/volume_spec.rb +++ b/spec/defines/volume_spec.rb @@ -5,15 +5,28 @@ describe 'lvm::volume' do let(:title) { 'lv_example0' } - context 'when passed valid parameters, it will compile' do - let :params do - { - ensure: 'present', - vg: 'vg_example0', - pv: '/dev/sdd1', - fstype: 'ext4', - size: '100GB' - } + let :params do + { + ensure: 'present', + vg: 'vg_example0', + fstype: 'ext4', + size: '100GB' + } + end + + context 'when passed with a single pv, it will compile' do + let(:params) do + super().merge({ 'pv' => '/dev/sdd1' }) + end + + it { + expect(subject).to compile + } + end + + context 'when passed with multiple pvs, it will compile' do + let(:params) do + super().merge({ 'pv' => ['/dev/sdd1', '/dev/sde2'] }) end it {