
Tenho uma pilha de software complicada que gerencio com 2 receitas.
recipe[stack::foo]
recipe[stack::bar]
foo
é instalado em todos os servidores, enquanto bar
é instalado apenas em um subconjunto de servidores. bar
depende do arquivo e do serviço foo
.
receita[pilha::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
receita[pilha::bar]
file 'barFile' do
source 'somewhere'
end
service 'barService' do
action :start
end
É possível fazer uma dependência condicional, para que caso a bar
receita esteja presente no nó, ele seja reiniciado. Se não for, ele irá ignorá-lo.
Estou tentando algo assim
file 'fooFile' do
source 'somewhere'
notifies :restart, service[barService] if exists? "service[barService]"
notifies :restart, service[fooService]
end
Responder1
Respondido no IRC, e o usuário spuder informou que perguntar duas vezes não é incentivado.
dr use resources()
ou verifique a lista de execução.