厨师 - 呼叫其他行动行动LWRP
问题描述:
我定义如下供应商:厨师 - 呼叫其他行动行动LWRP
action :start do
...
end
action :stop do
...
end
action :restart do
...
end
现在,而不是重写的restart
stop
和start
实施,我想打电话给action :stop
,然后在action :start
action :restart
,像这样:
action :restart do
action :stop
action :start
end
有没有办法做到这一点?
编辑 - 正如Coderanger答复中提到,解决的办法是:
action :restart do
action_stop
action_start
end
答
呼叫action_start
和action_stop
。
答
我不知道这是否是正确的答案。我刚刚尝试过这一点,它似乎在编译时调用action_stop和action_start。我试图运行这样的事情:
action :create do
# steps to create resource
directory '/test' do
...
end
action_config
end
action :config do
... # configuration
template '/test/config' do
...
end
end
它失败了,因为:配置先运行(创建目录之前)。
我试图把action_config到ruby_block - 这似乎工作,但我不知道,如果参数正确传递。
我不知道什么是错的,但是当我把'''action_stop'''和'''action_start'''在'''行动:restart''','''行动:stop'''和'' 'action:start'''执行两次。当我只是粘贴开始/停止代码时,一切都很好。 –
查看下面的pastebin进行比较:第一次调用每个动作两次,第二次很好。 http://pastebin.com/6r94LMNA http://pastebin.com/3WHwQhNF –
我不知道什么是'init'但它的确会被调用两次。 – coderanger