本文共 1171 字,大约阅读时间需要 3 分钟。
近日,自己维护的一组Puppet Agent机器,出现了如下报错:
1 2 | [root@client src] # puppetd --test --server server.cn7788.com notice: Run of Puppet configuration client already in progress; skipping |
形成这种原因的可能之一:就是我们已经在客户端以服务的形式启动了puppet进程命令,但是现在我们又用puppetd --test --server命令来主动连接 puppetmaster,所以会导致客户端报错。
解决方法:
之前用网上的方法,删除puppet.lock文件,命令如下:
1 | rm /var/lib/puppet/state/puppet .lock |
发现故障依旧;后来发现出现此现象是由于/etc/puppet/manifests/site.pp配置文件没有写正确,我们将其改正就行了,其实以后像puppet server里面的site.pp和init.pp有比较大的改动时,最好先用puppet parser validate命令先检查,示例如下:
1 2 3 4 | [root@server manifests] # puppet parser validate site.pp err: Could not parse for environment production: Syntax error at 'source' ; expected '}' at /etc/puppet/manifests/site .pp:8 err: Try 'puppet help parser validate' for usage |
如上所示,很明显提标示site.pp第8行有错误,提示我们改正,改正以后故障排除,事实上puppet parser validate命令用于puppet server语法非常有用,示例如下:
1 2 3 4 5 | puppet parser validate node.pp node.pp本身语法就存在错误,第10行缺少}号,报错信息如下: err: Could not parse for environment production: Syntax error at end of file ; expected '}' at /etc/puppet/manifests/node .pp:10 err: Try 'puppet help parser validate' for usage |