我通过 puppet 安装了 corosync-pacemaker 集群。现在我想将我的数据保存到 hiera 文件中。我应该如何将 cs_primitive 部分转换为 yaml 文件?
cs_primitive { 'nfsshare_fs':
primitive_class => 'ocf',
primitive_type => 'Filesystem',
provided_by => 'heartbeat',
parameters => { 'device' => '/dev/disk/lvname', 'directory' => '/share', 'fstype' => 'ext4' },
}->
我尝试了下面的代码,但它不起作用。
corosync::cs_primitive:
'nfsshare_fs':
primitive_class: 'ocf'
primitive_type: 'Filesystem'
provided_by: 'heartbeat'
parameters:
device: '/dev/disk/by-id/lvname'
directory: '/share'
fstype: 'ext4'
谢谢。
答案1
类可以具有 hiera 提供的参数,但不能具有资源。
您需要在清单中创建一个自定义类,该类将从 hiera 获取参数。例如(未经测试):
class corosync_resources (
Hash $primitives = {},
) {
$primitives.each |$key, $value| {
cs_primitive { $key:
* => $value,
}
}
}
然后在希拉
corosync_resources::primitives:
'nfsshare_fs':
primitive_class: 'ocf'