I want to check that my service "nails" running on all my servers only if file "/etc/NONAILS" not exists on this server.
If it exists don’t start this process, this file works like a flag.
I wrote script in puppet to check that and it works.
Still it throes error when this file do exists:
[root@test ~]# puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Loading facts
Info: Caching catalog for test
Info: Applying configuration version '1433921081'
Error: Could not find command 'checkForFile'
Error: /Stage[main]/Check_service/Exec[checkForFile]/returns: change from notrun to 0 failed: Could not find command 'checkForFile'
Notice: /Stage[main]/Check_service/Service[nails]: Dependency Exec[checkForFile] has failures: true
Warning: /Stage[main]/Check_service/Service[nails]: Skipping because of failed dependencies
Question can I do it in cleaner way without throwing
errors??
This is my script:
class check_service {
service { "nails":
ensure => "running",
enable => true,
hasstatus => false,
hasrestart => true,
require => exec['checkForFile'],
}
exec {"checkForFile":
path => "/usr/bin/",
onlyif => "test -e /etc/NONAILS",
}
}
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/6cc13de4-eeba-44d7-8bd6-15af22d775fc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Thanks, do you have any other suggestion how can I do it properly?
I want “nails” process to be running only if there is no /etc/NONAILS flag in my OS.
Thanks, do you have any other suggestion how can I do it properly?
I want “nails” process to be running only if there is no /etc/NONAILS flag in my OS.
root@foreman]# cat /etc/puppet/environments/production/modules/customfacts/lib/facter/check_file_exsist.rb
Facter.add('check_nails_exsist') do
setcode do File.exists?('/etc/NONAILS') endend
[root@foreman]# cat /etc/puppet/environments/production/modules/check_service/manifests/init.pp# Class: check_service
class check_service { if $check_nails_exsist == 'true' { service { 'nails': ensure => "stopped", enable => false, hasstatus => false, hasrestart => false, } } else {
service { 'nails': ensure => "running", enable => true, hasstatus => false, hasrestart => true, } }}