由foodcritic报告的厨师Lint警告

时间:2014-04-02 14:30:42

标签: chef cookbook

我按照official site的建议,将Jenkins的工作配置为运行foodcritic&Analysis分析。 当我执行这项工作时,所有结果都显示如下:

foodcritic report on jenkins

如上表所示,代码库有一个" Chef List Warning"由official site引用为FC017。 postgredb.rb的原始代码是:

# Support whyrun
require 'chef/mixin/shell_out'

require 'chef/mixin/language'
include Chef::Mixin::ShellOut

def whyrun_supported?
   true
end

action :install do
  version = @new_resource.version
  options = @new_resource.options
  e = execute "sudo apt-get install postgresql-#{version} #{options}"
  @new_resource.updated_by_last_action(e.updated_by_last_action?)
end

# Now, it just changes the default password to postgres.
action :unistall do
  converge_by "Unistall postgresql--#{@new_resource.version}" do
     e = execute "sudo apt-get purge postgresql--#{@new_resource.version}" do
       #not_if { "dpkg --get-selections | grep postgresql-#{@new_resource.version}" }
     end
  end
end

...

FC017警告是针对第10行的,因为" LWRP在更新发生时不通知":

 @new_resource.updated_by_last_action(e.updated_by_last_action?)

然后我尝试解决问题更改线:

 @new_resource.updated_by_last_action(true)

但问题仍存在于第10行。

有谁知道这是什么问题?为什么如果参数设置为真,这个警告就不会被消除?

1 个答案:

答案 0 :(得分:3)

@

之前删除new_resource符号