【发布时间】:2016-04-04 19:01:40
【问题描述】:
我很确定我在这个类中有一些语法错误,其中有一个 augeas 资源。
这是我的代码:
#
# This class was created to deal with /etc/fstab on openstack nodes
#
class myfstab (
$spec = 'uig003:/uig003/uig003_OSC_vol003A',
# spec Example uig003:/uig003/uig003_OSC_vol003A
$mount_point = '/data',
# Example /data
$vfstype = 'nfs',
# Example nfs
$opt_1 = 'rw',
# Example rw
$opt_2 = 'bg',
#Example bg
$opt_3 = 'hard',
#Example hard
$opt_4 = 'intr',
#Example intr
$opt_5 = 'rsize=32768',
#Example rsize=32768
$opt_6 = 'wsize=32768',
#Example wsize=32768
$opt_7 = 'tcp',
#Example tcp
$opt_8 = 'vers=3',
#Example vers=3
$dump = 0,
#Example 0
$passno = 0,
#Example 0
) {
augeas{ 'data_mount' :
context => '/files/etc/fstab',
changes => [
“set 01/spec $spec",
“set 01/file $mount_point",
“set 01/vfstype $vfstype”,
“set 01/opt[1] $opt_1”,
“set 01/opt[2] $opt_2”,
“set 01/opt[3] $opt_3",
“set 01/opt[4] $opt_4",
“set 01/opt[5] $opt_5",
“set 01/opt[6] $opt_6",
“set 01/opt[7] $opt_7",
“set 01/opt[8] $opt_8",
“set 01/dump $dump”,
“set 01/passno $passno”,
],
}
}
当我运行 puppet parser validate init.pp 时,我收到以下错误消息:
Error: Could not parse for environment production: Could not match “set at /etc/puppetlabs/puppet/modules/myfstab/manifests/init.pp:35
第 35 行是 ...
“set 01/spec $spec",
...行。
谢谢。
【问题讨论】:
-
您是否考虑过使用
Mount资源来管理/etc/fstab?虽然从他们的名字中可能并不明显,但这是他们所做的(部分)工作,至少在依赖 fstab 的系统上是这样。