false에 대한 정의되지 않은 'downcase' 메서드: Puppet 에이전트의 FalseClass

false에 대한 정의되지 않은 'downcase' 메서드: Puppet 에이전트의 FalseClass

나는 고대 Debian Lenny에서 돌아가는 오래된 꼭두각시를 가지고 있습니다. 최근 정의되지 않은 메소드 소문자에 대해 불평하기 시작한 이후로 작동합니다.

이것은 Debian Lenny, Puppet 2.6.2입니다.

Facter를 로드하고 Facter_dot_d로 끝납니다.

Could not retrieve local facts: undefined method `downcase' for
false:FalseClass

내가 하나 찾았어factors_dod_d.rb파일은 /var/lib/puppet/lib/facter에 있지만 거기에는 소문자가 없습니다.

또한 새 꼭두각시 에이전트를 다운로드해 보았지만 성공하지 못했습니다. wheezy 버전은 lenny에 설치되지 않습니다. 직접 컴파일할 소스 코드 패키지를 찾을 수 없습니다.

github에서 팩터 소스를 찾았습니다.https://github.com/puppetlabs/facter/tree/1.6.x. 다운로드를 시도했지만 설치 방법을 모르겠습니다. 실행 실패

./bin/facter:69:in `require': no such file to load --
facter/application (LoadError)  from ./bin/facter:69

나는 또한 제거를 시도했다factors_dod_d.rb하지만 Puppet 에이전트를 다시 실행하면 에이전트가 다시 생성되고 실패합니다.

꼭두각시 구성 파일은 다음과 같습니다.

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
templatedir=$confdir/templates
server=server.domain.foo.bar
environment=legacy

답변1

나는 마침내 무슨 일이 일어나고 있는지 알았습니다. 얼마 전 클라이언트 구성 파일에 다음 줄이 있었습니다.

pluginsync = true

이로 인해 클라이언트는 서버에서 여러 플러그인을 다운로드하게 됩니다. 이 파일을 사용하면 오랫동안 작동할 수 있습니다. 그렇다면 플러그인 중 하나가 이 이전 버전의 에이전트에 비해 너무 새로운 것 같습니다. 이게 불평을 하게 만드네요정의되지 않은 방법.

삭제플러그인 동기화확인하고 파일을 삭제하세요/var/lib/puppet/lib/facter이 문제를 해결했습니다.

기억하다:

  • /var/lib/puppet/lib/facter에 있는 파일은 이름을 바꾸거나 하위 디렉터리로 이동하는 것이 아니라 삭제해야 합니다.

  • 최소한 내 puppet 에이전트에 필요하면 이 파일을 보관하세요: /var/lib/puppet/lib/facter/util/puppet_settings.rb

  • 제거하다플러그인 동기화옵션 범위는 다음과 같습니다.puppet.conf클라이언트 측의 파일.

관련 정보