目录资源是幂等的吗?

时间:2015-11-18 15:03:05

标签: chef chef-recipe chef-solo

  

请帮我理解目录资源是否幂等?

除了以下信息之外,我没有在Chef Docs上找到关于此的完整说明: :创建默认值。创建一个目录。如果目录已存在(但不匹配),请更新该目录以匹配。

来源:https://docs.chef.io/resource_directory.html

2 个答案:

答案 0 :(得分:2)

幂等只是意味着“如果使用相同的输入参数多次调用它就没有其他效果”(What is an idempotent operation?

如果运行包含目录资源两次的配方,则第二次运行应该对目录没有影响。例如第一次运行:

directory "#{node.default['jboss']['root']}" do
  owner 'jboss'
  group 'jboss'
  mode '0755'
  action :create
end

将创建目录(如果该目录不存在),并确保其所有者和组设置为jboss,并且对其的权限为“0755”。第二次运行什么都不做(除非你改变了这些东西,在这种情况下它会把它带回那个状态)

答案 1 :(得分:0)

Chef的动作名称有点用词不当。 :create动作实际上意味着"幂等地确保该目录存在并且具有给定的所有者/组/模式(如果提供的话)#34;。除非需要,否则它实际上不会创建它。