
Tengo una pila de software complicada que administro con 2 recetas.
recipe[stack::foo]
recipe[stack::bar]
foo
se instala en cada servidor, mientras que bar
se instala solo en un subconjunto de servidores. bar
Depende del archivo y del servicio foo
.
receta[pila::foo]
file 'fooFile' do
source 'somewhere'
notifies :restart, service[barService] #bar needs to be restart first, if it is present
notifies :restart, service[fooService]
end
service 'fooService' do
action :start
end
receta[pila::barra]
file 'barFile' do
source 'somewhere'
end
service 'barService' do
action :start
end
¿Es posible crear una dependencia condicional de modo que, si la bar
receta está presente en el nodo, lo reinicie? Si no es así, lo omitirá.
Estoy intentando algo como esto
file 'fooFile' do
source 'somewhere'
notifies :restart, service[barService] if exists? "service[barService]"
notifies :restart, service[fooService]
end
Respuesta1
Respondió en IRC y el usuario spuder informó que no se recomienda hacer doble pregunta.
tl;dr use resources()
o verifique la lista de ejecución.