我有一个启动puppet代理的ansible脚本,然后等待/var/lib/puppet/state/agent_catalog_run.lock文件。
我发现这个文件没有在目标机器上创建。Ansible ……
代码只是检查错误的文件。
顾名思义, agent_catalog_run.lock 是:
用于指示正在运行木偶代理目录的锁定文件。该文件包含保存目录运行锁定的进程的pid。
换句话说,只有在Puppet代理运行时才会出现该文件。
你可能想要 pidfile进程文件 相反,这是:
包含正在运行的进程的PID的文件。该文件旨在供服务管理框架和监视系统使用,以确定木偶进程是否仍在进程表中。 默认值:$ rundir / $ {run_mode} .pid
包含正在运行的进程的PID的文件。该文件旨在供服务管理框架和监视系统使用,以确定木偶进程是否仍在进程表中。
(哪里 $run_mode 将是“代理人”。)
$run_mode
请注意,您可以使用puppet配置打印检查您的实际设置,例如:
▶ puppet config print pidfile /Users/alexharvey/.puppetlabs/var/run/main.pid
你的不同之处在于我的Mac OS X笔记本电脑上的非root用户。因此,我 认为 您需要将代码更改为:
- name: wait for the puppet PID file to be created wait_for: path: /var/run/agent.pid timeout: 1800