32哦哦 发表于 2017-9-15 10:35:43

Puppet parser命令参数介绍(八)

puppet parser命令主要用于对*.pp文件语法检测,检查文件语法是否正确需要加validate动作参数.

语法正确,没有任何返回.

1
2
3
4
5
6
7
8
9
10
11
12
13
# cat 2.pp
user { 'root':
ensure         => 'present',
comment          => 'root',
gid            => '0',
home             => '/root',
password         => '$6$yIyAnjPI1kiwQpe7$N0Lq9PrISqc5FRvWYbyS7tRSDE2lGLhdbQU/adpVAGbBpRsUSQ6GR22REoV9IJa9pPTHrKEOeShC2TZF3CUx3.',
password_max_age => '99999',
password_min_age => '0',
shell            => '/bin/bash',
uid            => '0',
}
# puppet parser validate 2.pp





把上段的puppet代码修改为错误的puppet代码测试:(root后面的冒号去掉)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# cat 2.pp
user { 'root'
ensure         => 'present',
comment          => 'root',
gid            => '0',
home             => '/root',
password         => '$6$yIyAnjPI1kiwQpe7$N0Lq9PrISqc5FRvWYbyS7tRSDE2lGLhdbQU/adpVAGbBpRsUSQ6GR22REoV9IJa9pPTHrKEOeShC2TZF3CUx3.',
password_max_age => '99999',
password_min_age => '0',
shell            => '/bin/bash',
uid            => '0',
}
# puppet parser validate 2.pp
Error: Could not parse for environment production: Syntax error at 'ensure'; expected '}' at /root/2.pp:2




批量检测多个*.pp文件:(puppet resource快速生成3个*.pp文件.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# cat 2.pp
user { 'root'
ensure         => 'present',
comment          => 'root',
gid            => '0',
home             => '/root',
password         => '$6$yIyAnjPI1kiwQpe7$N0Lq9PrISqc5FRvWYbyS7tRSDE2lGLhdbQU/adpVAGbBpRsUSQ6GR22REoV9IJa9pPTHrKEOeShC2TZF3CUx3.',
password_max_age => '99999',
password_min_age => '0',
shell            => '/bin/bash',
uid            => '0',
}
# cat 3.pp
package { 'httpd':
ensure => 'absent',
}
# cat 4.pp
package { 'nginx':
ensure => 'absent',
}
# find ./* -type f -name "*.pp" |xargs -n1 -t puppet parser validate
puppet parser validate ./2.pp
Error: Could not parse for environment production: Syntax error at 'ensure'; expected '}' at /root/2.pp:2
puppet parser validate ./3.pp
puppet parser validate ./4.pp
puppet parser validate ./example-meng/tests/init.pp
puppet parser validate ./example-meng/manifests/init.pp



页: [1]
查看完整版本: Puppet parser命令参数介绍(八)