2017-10-27 2 views
0

Ich möchte Postgresql Community Kochbuch verwenden, aber ich möchte Pakete aus einem anderen Repo. Deshalb füge ich es mit yum_repository Ressource in meinem Wrapper-Kochbuch hinzu. Hier ist mein Wrapper Kochbuch Rezept:include_recipe macht alles vorher zu überspringen

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' 

Das Problem ist, dass BDR Repo nicht hinzugefügt bekommt, bis ich zwei neueste Strings mit include_recipe kommentieren. So kann ich die Installation in zwei Teile durchführen.

  1. Kommentar beiden letzten Zeilen mit include_recipe und gelten Kochbuch
  2. Kommentar- und gelten Kochbuch wieder

Warum funktioniert es nicht, wie ich erwarten? Versucht, yum_repository in ein separates Rezept zu verschieben und include_recipe es auch, aber nichts geändert.

Antwort

1

Das postgresql::ruby-Rezept führt die Installation zur Kompilierungszeit statt der üblichen Konvergenzzeit wegen seiner beabsichtigten Verwendung durch. Sie müssen den Repo auch zur Kompilierzeit einrichten.

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) 

Sie können https://coderanger.net/two-pass/ ausführlichere Informationen zu den beiden Phasen finden.

Verwandte Themen