繁体   English   中英

如何让 Chef 自定义资源在每次 Chef 运行时执行

[英]How to make a Chef custom resource execute on every chef run

我有一个自定义 Chef 资源可以启动后台作业。 它有:start:stop:reset动作。

还有另一种资源会在更新时通知:reset到我的自定义资源。

我的主要问题是在每个chef-client运行资源返回的状态:

custom_resource[resource-name] action start (up to date)
custom_resource[resource-name] action reset (up to date)

Chef 的这种行为是我期望的行为,但不是我需要的行为。 我的资源必须像资源execute一样在每个chef-client运行上运行。 我怎样才能做到这一点?

默认情况下它每次都会运行,但除非你调用new_resource.updated_by_last_action(true)或类似的 API Chef 显示“最新”,因为资源没有说它更新了系统上的任何内容。

这里描述的答案是 Chef 11.x/12.x 中推荐的方式。

在您的自定义资源文件中添加以下内容。

def whyrun_supported?
  true
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM