厨师 iis 食谱确实更改了站点设置

chef iis cookbook does change site settings

我可以这样做来创建一个以前不存在的新站点:

iis_site MySite do
  site_name MySite
  application_pool MySite
  protocol :https
  port 443
  path "C:/inetpub/MySite"
  log_directory "C:/inetpub/mylogfolder"
  log_truncsize 52428800
  action [:add,:start]
end

这将使用这些设置创建一个新网站,但如果该网站已经存在,则不会更改任何这些设置。

所以假设我 运行 它一次,它创建了一个具有上述设置的网站。如果我编辑食谱来做到这一点:

iis_site MySite do
  site_name MySite
  application_pool MySite
  protocol :http
  port 80
  path "C:/inetpub/MySite"
  log_directory "C:/inetpub/MySite/different/folder/path"
  log_truncsize 52428800
  action [:add,:start]
end

它不会对当前站点进行任何更改。这是为这本食谱设计的吗?似乎它只对部署新站点有用,其他几乎没有用。

我对IIS知之甚少,但你可以在这里找到相关代码https://github.com/chef-cookbooks/iis/blob/master/providers/site.rb#L131-L226

它确实看起来像是在尝试对 log_directory 进行幂等应用更改,但可能在逻辑或它用于 get/set 站点数据的命令中存在缺陷。