2017-04-24 1 views
0

Ich verwende meine *.war Anwendungen auf meiner installierten Wildfly mit Chef.Chef: Dienstabhängigkeiten festlegen

Das Problem ist, dass eine dieser Anwendungen eine Dienstabhängigkeit hat, die installiert ist, aber nicht gestartet wird, bis das Ende des Rezepts ausgeführt wird.

ich das mongod Muss einstellen möchte gestartet werden, bevor wildfly_deploy durchgeführt wird:

Um Mongo zu installieren Ich verwende mongodb3 Rezept:

include_recipe 'mongodb3::default' 

und um Wildfly zu installieren :

include_recipe 'wildfly::install' 
(((***))) 
wildfly_deploy 'authz.war' do 
    path '/tmp/authz.war' 
end 

ich brauche das auf (((***))) mongod gestartet wird.

Irgendwelche Ideen?

Antwort

0

Der Chef respektiert inhärent die Reihenfolge der Codes in Ihren Rezepten. Wenn also das include_recipe vor der Bereitstellungsressource ist, wird es zuerst passieren. Erinnern Sie sich einfach an das zweiphasige System (kompilieren vs. konvergieren, lesen Sie mehr unter https://coderanger.net/two-pass/), so dass Mongo installiert wird, bevor die Bereitstellungsressource konvergiert, aber nachdem sie kompiliert wurde. Wenn das Problem nur darin besteht, dass das mongodb3 Rezept den Systemdienst nicht startet, können Sie eine service Ressource verwenden, um das zu tun, obwohl die Einzelheiten vollständig von den Interna dieses Rezepts abhängen.