Puppet 매니페스트 구성을 Hiera로 변환

Puppet 매니페스트 구성을 Hiera로 변환

꼭두각시를 통해 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'   

관련 정보