人形を介して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'