puppetdlock导致puppet kick -d -hostname hostname 报错 "finished with exit code 3"

现象:

$puppet kick -d --host slave3.torque.com
Triggering slave3.torque.com
Host slave3.torque.com failed: Connection refused - connect(2)
slave3.torque.com finished with exit code 2
Failed: slave3.torque.com

原因:

/var/lib/puppet/state/puppetdlock文件的存在使puppet agent暂时什么都不做

解决方法:

1)临时解决:rm -rf /var/lib/puppet/state/puppetdlock

2)永久解决:编写shell脚本,并加入crontab中

$ vi /usr/bin/rmpuppetdlock.sh 

#! /bin/bash

lockfile="/var/lib/puppet/state/puppetdlock"
if [ -f "${lockfile}" ]; then
        rm -rf ${lockfile}
        #service puppet restart
       # echo "ok"
#else
       #echo "no"
fi

$crontab -e

*/5 * * * * /usr/bin/rmpuppetdlock.sh

3)为了使每台机器都执行上述操作,可编写cron类,让puppet帮我们完成

class clean::lockfile{
cron{ rmlockfile:
         command =>"/bin/rm -f /var/lib/puppet/state/puppetdlock",
           user => root,
           minute => ”*/5“,
           hour =>"*"
     }
}





你可能感兴趣的:(puppet)