2012-10-17 3 views
2

누군가가 나에게 왜 것이 작품 설명 할 수 :꼭두각시가 포함 변수 범위가

node 'puppetagent'{ 
    $my_role="proxmoxnode" 
    include role_proxmoxnode 
} 

class role_proxmoxnode { 
    include sshdconf 
} 

을 그리고이되지 않습니다

node 'puppetagent'{ 
    include role_proxmoxnode 
} 

class role_proxmoxnode { 
    $my_role="proxmoxnode" 
    include sshdconf 
} 

"회사"에 의해 나는 말은 sshd_config.erb 파일은 해당 sshdconf 모듈에 의해 설정되면 $ my_role = "proxmoxnode"가 예상대로 발견됩니다. "작동하지 않을 것"이라는 말은 템플릿이 "my_role '값을 찾을 수 없음을 의미합니다. 꼭두각시 3.0을 사용합니다.

나는 역할에 관한 http://projects.puppetlabs.com/projects/1/wiki/Infrastructure_Design_Guidelines의 문서를 따랐다.

감사합니다.

답변

2

꼭두각시 3.0. 그런데,

  1. 지역 범위
  2. 노드 수준
  3. 최고 범위

지역 범위 기본 클래스에서 상속 : 자격이 변수는 4 곳에서 조회됩니다 , 에 정의 된 변수에 적용되며 단순히 클래스를 포함하지는 않습니다.

그래서, 첫 번째 예제에서, 우리가 찾고 이동

  1. 는 지역인가? No.
  2. 기본 클래스에 있습니까? 번호 :
  3. 노드에 있습니까? 예. 우리는 그만. 두 번째 예에서

...

  1. 가 로컬인가? No.
  2. 기본 클래스에 있습니까? 번호 :
  3. 노드에 있습니까? No.
  4. 최고 범위입니까? 안돼.

삭제 하시겠습니까?

+0

예, 내가 원하는 것에 대해 좋은 디자인을 사용하지 않고 있다는 것도 분명합니다. 나는 $ role을 기다리는 parametrised 클래스로 전환했고 필요에 따라 작동합니다. 감사 – skizo

관련 문제