2017-05-12 1 views
2

저는 Facter 3.6을 실행 중이며 사용자 정의 사실을 추가하려고합니다. documentation에 따르면 /etc/puppetlabs/facter/fact.d/ 폴더가 자동으로 사용자 지정 사실에 사용됩니다.외부 사용자 정의 사실이 꼭두각시에서 작동하지 않습니다.

나는 hello.rb로 말했다 폴더에 다음 템플릿을 배치 :

Facter.add(:hello) do 
    setcode do 
    "Hello, world" 
    end 
end 

내가 다음 puppet agent -t 내 에이전트 중 하나에 꼭두각시 실행을 강제로.

내가 PuppetDb를 볼 때 나는 새로운 사용자 정의 사실 hello을 보지 못합니다. 외부 사용자 정의 사실을 추가하는 단계를 놓쳤습니까?

답변

2

/etc/puppetlabs/facter/fact.d/은 클라이언트 노드에서 사용자 정의 사실의 위치입니다. 해당 사실에만 사용자 정의 사실을 표시하려면 해당 위치에 사용자 정의 사실을 추가 할 수 있습니다. Pluginsync는 현재 카탈로그에 대한 사용자 정의 사실을 해당 위치로 자동 전송합니다.

따라서 맞춤형 팩트를 배포하는 가장 좋은 방법은 해당 모듈의 lib/facter 디렉토리에 배치하는 것입니다. 그런 다음 해당 디렉토리 환경의 모듈 경로에 해당 모듈이 적용된 카탈로그가있는 모든 노드에 배포됩니다. 여기

참고 특정 문서 : https://docs.puppet.com/facter/latest/custom_facts.html#using-the-ruby-load-path

또한 사용자 정의 사실이 아닌 외부 사실을하고 있습니다. 외부 팩트를 수행하는 경우 해당 모듈의 facts.d 디렉토리에있는 것이 바람직합니다 (https://docs.puppet.com/facter/latest/custom_facts.html#fact-locations).

관련 문제