2017-03-03 12 views
0

Windows 및 RHEL 상자 모두에 소프트웨어를 설치해야하는 요리 책이 있습니다. RHEL 상자에 활용할 수있는 기존의 요리 책이 있습니다. 전화 번호는 linux-foo입니다. include_recipe 'linux-foo'이라는 기본 조리법에 포함시키고 요리 책 메타 데이터에 depends 'linux-foo'을 추가합니다.레시피를 추가하지 않고도 include_recipe 할 수 있습니까? metadata22.fu

그러나 메타 데이터에 종속성을 추가하면 내 Windows 레시피가 손상됩니다. 나는 얻고있다

NoMethodError 
    ------------- 
    undefined method `[]' for nil:NilClass 

    Platform: 
    --------- 
    x64-mingw32 

시험 조리법에서 창 조리법을 수렴하려고 시도 할 때. 범인은 .../linux-foo/attributes/default.rb을 말하지만 어떤 속성을 지정하지는 않습니다.

아직 방법이 있습니까 include_recipe 'linux-foo'metadata.rb에 하드 종속성을 포함시키지 않거나 제 3 자 요리 책의 기본 속성을 어떻게 든 감쌀 수 있습니까?

나는 의존성을 지키고 창 조리법을 깨거나 리눅스와 창 조리법을 별도의 요리 책으로 분리하는 것처럼 보입니다.

답변

0

불행히도 직접적인 방법은 없습니다. Chef는 현재 선택적 종속성을 지원하지 않습니다.

최상의 해결 방법은 조리법이 아닌 경우에도 비 -Linux 컴퓨터에 linux-foo 요리 북을로드하는 것이 안전하도록하는 것입니다. 오류 보고서에 언급 된 파일을 보면 전체 스택 추적을 찾을 수 있습니다. 이는 어느 행이 고칠 필요가 있는지 알려줍니다 (둘 이상있을 수 있음).

+0

감사합니다. @coderanger. 나는 VM에 덤프 된 stacktrace를 체크했다. 그리고 그것은 꽤 비밀 스러웠다. 그러나 나는 그것을 재 방문 할 것이다. 어떤 방법으로 써드 파티'linux-foo' 요리 책을 안전하고 윈도우 레시피와 호환되게 할 수 있습니까? 내 요리 책에 문제가있는 기본 속성을 어떻게 든 감추거나 보호 할 수 있습니까? – mywoes123