puppet parser命令主要用于对*.pp文件语法检测,检查文件语法是否正确需要加validate动作参数.
语法正确,没有任何返回.
1
2
3
4
5
6
7
8
9
10
11
12
13
<code>[root@puppet ~]</code><code># cat 2.pp </code>
<code>user { </code><code>'root'</code><code>:</code>
<code> </code><code>ensure => </code><code>'present'</code><code>,</code>
<code> </code><code>comment => </code><code>'root'</code><code>,</code>
<code> </code><code>gid => </code><code>'0'</code><code>,</code>
<code> </code><code>home => </code><code>'/root'</code><code>,</code>
<code> </code><code>password => </code><code>'$6$yIyAnjPI1kiwQpe7$N0Lq9PrISqc5FRvWYbyS7tRSDE2lGLhdbQU/adpVAGbBpRsUSQ6GR22REoV9IJa9pPTHrKEOeShC2TZF3CUx3.'</code><code>,</code>
<code> </code><code>password_max_age => </code><code>'99999'</code><code>,</code>
<code> </code><code>password_min_age => </code><code>'0'</code><code>,</code>
<code> </code><code>shell => </code><code>'/bin/bash'</code><code>,</code>
<code> </code><code>uid => </code><code>'0'</code><code>,</code>
<code>}</code>
<code>[root@puppet ~]</code><code># puppet parser validate 2.pp</code>
把上段的puppet代码修改为错误的puppet代码测试:(root后面的冒号去掉)
14
<code>user { </code><code>'root'</code>
<code>[root@puppet ~]</code><code># puppet parser validate 2.pp </code>
<code>Error: Could not parse </code><code>for</code> <code>environment production: Syntax error at </code><code>'ensure'</code><code>; expected </code><code>'}'</code> <code>at </code><code>/root/2</code><code>.pp:2</code>
批量检测多个*.pp文件:(puppet resource快速生成3个*.pp文件.)
15
16
17
18
19
20
21
22
23
24
25
26
27
<code>[root@puppet ~]</code><code># cat 3.pp </code>
<code>package { </code><code>'httpd'</code><code>:</code>
<code> </code><code>ensure => </code><code>'absent'</code><code>,</code>
<code>[root@puppet ~]</code><code># cat 4.pp </code>
<code>package { </code><code>'nginx'</code><code>:</code>
<code>[root@puppet ~]</code><code># find ./* -type f -name "*.pp" |xargs -n1 -t puppet parser validate</code>
<code>puppet parser validate .</code><code>/2</code><code>.pp </code>
<code>puppet parser validate .</code><code>/3</code><code>.pp </code>
<code>puppet parser validate .</code><code>/4</code><code>.pp </code>
<code>puppet parser validate .</code><code>/example-meng/tests/init</code><code>.pp </code>
<code>puppet parser validate .</code><code>/example-meng/manifests/init</code><code>.pp</code>
本文转自青衫解衣 51CTO博客,原文链接:http://blog.51cto.com/215687833/1964847