В любом случае я могу отложить весь рецепт шеф-повара, работающий в AWS OpsWorks?Как отложить весь рецепт шеф-повара
Я пытался выполнить команду сна, но не успех:
Chef::Log.info("Delaying chef execution")
execute 'delay' do
command 'sleep 60'
end
То, что я хочу добиться того, чтобы задержать весь код на Ruby в рецепте, основанный на том, где я делаю задержку, может быть на вершине , может быть посередине.
EDIT: Полный рецепт шеф-повара:
Chef::Log.info("stopping service rsyslog")
service 'rsyslog' do
action :stop
end
Chef::Log.info("configuring private ip addresses for mesos_master templates")
ruby_block "configuring_mesos_master_templates" do
# Do stuff
end
Chef::Log.info("starting service rsyslog")
service 'rsyslog' do
action :start
end
Chef::Log.info("restarting service zookeeper")
service 'zookeeper' do
action :restart
end
Chef::Log.info("restarting service mesos-master")
service 'mesos-master' do
provider Chef::Provider::Service::Upstart
action :restart
end
Chef::Log.info("starting service marathon")
service 'marathon' do
action :start
end
На самом деле код, который я написал, не работал, так как OpsWorks выполняет этот рецепт шеф-повара, все просто запускалось одновременно. – Casper
Помните, что будет спать только при сближении, любой код Ruby за пределами ruby_block будет работать во время компиляции. Если вы продемонстрируете более полный пример, это может помочь. – coderanger
Я добавил весь рецепт, спасибо за вашу помощь – Casper