This update address file owner to nobody by default for RHEL family.
fixtures:
repositories:
- "inetd": "git://github.com/puppetlabs/puppetlabs-inetd.git"
+ "xinetd": "git://github.com/puppetlabs/puppetlabs-xinetd.git"
symlinks:
"tftp": "#{source_dir}"
#
define tftp::file (
$ensure = file,
- $owner = 'tftp',
- $group = 'tftp',
+ $owner = undef,
+ $group = undef,
$mode = '0644',
$recurse = false,
$purge = undef,
$source = undef
) {
include 'tftp'
+ include 'tftp::params'
+
+ if $owner {
+ $tftp_owner = $owner
+ } else {
+ $tftp_owner = $tftp::params::username
+ }
+
+ if $group {
+ $tftp_group = $group
+ } else {
+ $tftp_group = $tftp::params::username
+ }
if $source {
$source_real = $source
file { "${tftp::directory}/${name}":
ensure => $ensure,
- owner => $owner,
- group => $group,
+ owner => $tftp_owner,
+ group => $tftp_group,
mode => $mode,
recurse => $recurse,
purge => $purge,
}
end
+ describe 'when deploying on redhat' do
+ let(:facts) { { :operatingsystem => 'RedHat',
+ :osfamily => 'redhat',
+ :path => '/usr/local/bin:/usr/bin:/bin', } }
+
+ it {
+ should include_class('tftp')
+ should contain_file('/var/lib/tftpboot/sample').with({
+ 'ensure' => 'file',
+ 'owner' => 'nobody',
+ 'group' => 'nobody',
+ 'mode' => '0644',
+ 'recurse' => false,
+ })
+ }
+ end
+
describe 'when deploying with parameters' do
let(:params) { {:ensure => 'directory',
:owner => 'root',