diff --git a/site-modules/profile/manifests/mountpoints.pp b/site-modules/profile/manifests/mountpoints.pp index 8ab2beb9..63f9df43 100644 --- a/site-modules/profile/manifests/mountpoints.pp +++ b/site-modules/profile/manifests/mountpoints.pp @@ -1,31 +1,37 @@ # Handle mount points class profile::mountpoints { $mountpoints = lookup('mountpoints', Hash, 'deep') each($mountpoints) |$mountpoint, $config| { if (has_key($config, 'options') and $config['options'] =~ Array) { $mount_config = $config + { options => join($config['options'], ','), } } else { $mount_config = $config } - exec {"create ${mountpoint}": - creates => $mountpoint, - command => "mkdir -p ${mountpoint}", - path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'], - } -> file {$mountpoint:} + if pick($config['ensure'], 'present') == 'present' { + exec {"create ${mountpoint}": + creates => $mountpoint, + command => "mkdir -p ${mountpoint}", + path => ['/bin', '/usr/bin', '/sbin', '/usr/sbin'], + } -> file {$mountpoint:} + + $requires = [File[$mountpoint]] + } else { + $requires = [] + } mount { default: ensure => present, dump => 0, pass => 0, options => 'defaults'; $mountpoint: * => $mount_config, - require => File[$mountpoint], + require => $requires, } } }