2017-10-27 1 views
0

postgresql 커뮤니티 요리 책을 사용하고 싶지만 패키지를 다른 repo에서 원합니다. 그렇기 때문에 래퍼 요리 책에 yum_repository 리소스를 추가합니다.include_recipe는 건너 ​​뛰기 전에 모든 것을 만듭니다.

yum_repository 'PostgresBDR' do 
    description 'Postgres BDR repo' 
    baseurl 'http://packages.2ndquadrant.com/postgresql-bdr94-2ndquadrant/yum/redhat-$releasever-$basearch' 
    gpgkey 'http://packages.2ndquadrant.com/postgresql-bdr94-2ndquadrant/RPM-GPG-KEY-2NDQ-BDR-94' 
    action :create 
end 

node.default['postgresql']['version'] = '9.4' 
node.default['postgresql']['server']['service_name'] = 'postgresql-9.4' 
node.default['postgresql']['server']['packages'] = %w(postgresql-bdr94-server postgresql-bdr94-bdr) 
node.default['postgresql']['client']['packages'] = %w(postgresql-bdr94 postgresql-bdr94-devel) 
node.default['postgresql']['setup_script'] = 'postgresql94-setup' 

include_recipe 'postgresql::ruby' 
include_recipe 'postgresql::server' 

문제는 내가 include_recipe 두 개의 최신 문자열을 언급 할 때까지 BDR의 환매 특약이 추가되지 않는다는 것입니다 : 여기 내 래퍼 요리 책 레시피입니다. 두 부분으로 설치가 가능합니다. 내가 예상대로

  1. 의견이 개 최신 include_recipe와 라인 적용 요리 책
  2. 의 주석을 해제하고 적용을 다시

요리 책 왜 작동하지 않는 이유는 무엇입니까? yum_repository을 별도의 레시피로 이동하려고 시도했지만 include_recipe도 변경되었지만 아무 것도 변경되지 않았습니다.

답변

1

postgresql::ruby 레시피는 의도 된 용도로 인해 일반적인 수렴 시간 대신 컴파일 타임에 설치합니다. 컴파일시에도 repo를 설정해야합니다.

yum_repository 'PostgresBDR' do 
    description 'Postgres BDR repo' 
    baseurl 'http://packages.2ndquadrant.com/postgresql-bdr94-2ndquadrant/yum/redhat-$releasever-$basearch' 
    gpgkey 'http://packages.2ndquadrant.com/postgresql-bdr94-2ndquadrant/RPM-GPG-KEY-2NDQ-BDR-94' 
    action :nothing 
end.run_action(:create) 

자세한 내용은 https://coderanger.net/two-pass/에서 확인할 수 있습니다.