2014-07-07 5 views
0

나는 자원 정의를아무 것도 실행하지 않으면 noop metaparameter가 작동하지 않습니다.

file { '/usr/lib/oozie/libext/hadoop-lzo-0.5.0.jar': 
     ensure => present, 
     group => 'root', 
     owner => 'root', 
     source => '/usr/lib/hadoop/lib/hadoop-lzo-0.5.0.jar', 
     mode => 0755, 
     require => [Package['lzo'],Package['lzo-devel'],Package['hadoop-lzo'],Package['hadoop-lzo-native']], 
    } 

원하는 위치에 기본적으로 복사 항아리 유물을 다음했다. 여기에있는 문제는 소스 정의이며이 패키지 중 하나를 설치하여 만든 위치를 가리 킵니다. noop 모드에서 꼭두각시를 실행할 때,이 자원 정의는 그러한 소스가 없기 때문에 실패합니다. 꽤 논리적입니다.

이 동작을 변경하는 방법이 있습니까? 모든 종속성을 건너 뛰고 싶지 않습니다. 또는 제안 된 방법은 무엇입니까? 항아리를 모듈 파일에 복사하는 것을 피하고 싶습니다.

noop 메타 매개 변수 문서, here이 발견되었지만 도움이되지 않는 것 같습니다. 따라서 리소스 사양은 다음과 같습니다.

file { '/usr/lib/oozie/libext/hadoop-lzo-0.5.0.jar': 
     ensure => present, 
     group => 'root', 
     owner => 'root', 
     source => '/usr/lib/hadoop/lib/hadoop-lzo-0.5.0.jar', 
     mode => 0755, 
     noop => false, 
     require => [Package['lzo'],Package['lzo-devel'],Package['hadoop-lzo'],Package['hadoop-lzo-native']], 
    } 

무언가를 전환해야합니까? 아니면 뭔가 잘못 이해합니까? 모듈이 noop 모드로 실행되는 것을 어떻게 감지합니까? 내가 고약한 수정을하고 싶으면. 클라이언트가 다른 무 조작 모드에서 실행하고, 거짓 때 무 조작은 다음

감사

+0

noop 메타 매개 변수는 사용자가 생각하는대로 수행하지 않습니다. noop => false로 설정하면 noop 실행시에도 파일 리소스가 항상 적용됩니다. puppetlabs 문서에서 : noop 메타 매개 변수를 사용하면 noop 모드로 개별 자원을 적용 할 수 있으며 noop 설정의 전역 값을 대체합니다. 이것은 noop => false 또는 --noop 인형 (puppet) 에이전트를 실행하는 경우에도 필요하다면 noop => false 인 자원이 변경된다는 것을 의미합니다. 반대로 noop => true 인 리소스는 noop 모드가 전역 적으로 비활성화 된 경우에도 시뮬레이션됩니다. – daxlerod

+0

감사합니다. 찾았 어. 원하는 행동을 성취 할 수있는 방법이 있습니까? 왜냐하면 나는 이것 때문에 단지 jar를 모듈에 포함하고 싶지 않기 때문입니다. noop 작업에서 리소스를 제외하거나 모듈이 noop 모드로 실행되는 것을 인식 할 수있는 방법이 있습니까? – jaksky

+0

이것은 [중복]입니까 (http://stackoverflow.com/questions/24313147/missing-resources-when-running-puppet-agent-noop)? –

답변

0

를 건너 뛸 경우처럼 뭔가는 $clientnoop 사실은 사실 일 것입니다.

최상의 솔루션인지 확실하지 않지만 $clientnoop이 참일 때 다른 리소스를 포함 할 수 있습니다. 'noop 리소스'는 소스를 제외하고 동일한 매개 변수를 가진 파일 리소스 일 수 있습니다. 이렇게하면이 파일에 의존하는 다른 리소스를 계속 적용 할 수 있습니다.

+0

사실에서이 사실을 찾을 수 없습니다. 이 사실이 꼭두각시 2.7에 있는지 아십니까? – jaksky

+0

에이전트에 의해 설정되고 facter에서 사실에 추가됩니다 .http : //docs.puppetlabs.com/puppet/latest/reference/lang_facts_and_builtin_vars.html#puppet-agent-facts – daxlerod