4.6. Puppet: 개별 노드의 Hieradata 사용자 지정
Heat 템플릿 컬렉션을 사용하여 개별 노드에 대해 Puppet hieradata를 설정할 수 있습니다. 이를 수행하려면 노드의 인트로스펙션 데이터 일부로 저장된 시스템 UUID를 가져와야 합니다.
$ openstack baremetal introspection data save 9dcc87ae-4c6d-4ede-81a5-9b20d7dc4a14 | jq .extra.system.product.uuid
그러면 시스템 UUID가 출력됩니다. 예를 들면 다음과 같습니다.
"F5055C6C-477F-47FB-AFE5-95C6928C407F"
노드별 hieradata를 정의하는 환경 파일에서 이 시스템 UUID를 사용하고 per_node.yaml
템플릿을 사전 구성 후크에 등록합니다. 예를 들면 다음과 같습니다.
resource_registry: OS::TripleO::ComputeExtraConfigPre: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/pre_deploy/per_node.yaml parameter_defaults: NodeDataLookup: '{"F5055C6C-477F-47FB-AFE5-95C6928C407F": {"nova::compute::vcpu_pin_set": [ "2", "3" ]}}'
openstack overcloud deploy
를 실행하는 경우 이 환경 파일을 포함합니다.
per_node.yaml
템플릿은 각 시스템 UUID에 해당하는 노드에 heiradata 파일 세트를 생성하고 사용자가 정의한 hieradata를 포함합니다. UUID가 정의되지 않은 경우 결과 hieradata 파일이 비어 있습니다. 이전 예에서 per_node.yaml
템플릿은 OS::TripleO::ComputeExtraConfigPre
후크에 따라 모든 컴퓨팅 노드에서 실행되지만 시스템 UUID F5055C6C-477F-47FB-AFE5-9528C407F
가 hieradata를 수신하는 컴퓨팅 노드만 사용됩니다.
이를 통해 각 노드를 특정 요구 사항에 맞게 조정할 수 있습니다.