请帮我理解目录资源是否幂等?
除了以下信息之外,我没有在Chef Docs上找到关于此的完整说明: :创建默认值。创建一个目录。如果目录已存在(但不匹配),请更新该目录以匹配。
答案 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;。除非需要,否则它实际上不会创建它。