Eu sugiro strongmente que você encontre uma maneira de fazer isso sem reiniciar a máquina. Eu fiz algo semelhante no Centos, por exemplo, que foi realizado com um sudo service network restart
. No entanto, quer você reinicie a máquina ou apenas um único serviço, você usará o mesmo padrão.
O caminho "certo"
O jeito certo de fazer isso é com um recurso / provedor personalizado. Neste caso (e pode muito bem já ser um na comunidade), você escreveria um LWRP que lê o arquivo dhclient.conf
e somente o modifica se uma mudança for necessária. Em seguida, definiria updated_by_last_action
se o arquivo fosse atualizado. Nesse ponto, você poderia usar um recurso service
ou execute
para reiniciar o serviço / máquina. O recurso de reinicialização assinaria alterações no recurso LWRP.
A maneira quase tão legal
Ou você faz algo assim:
execute "add custom dns domain search suffix" do
command "echo 'append domain-search \"#{node['opsworks']['stack']['name']}\";' >> /etc/dhcp/dhclient.conf"
not_if { ::File.open('/etc/dhcp/dhclient.conf').read() =~ /append domain-search/ }
end
execute 'restart machine' do
command 'shutdown immediate -r'
action :nothing
subscribes :run, 'execute[add custom dns domain search suffix]'
end