如何在使用名称无法更改的资源时避免在Chef 12中出现“资源克隆”警告

时间:2019-06-20 08:16:32

标签: chef warnings deprecated

我知道当我使用两个具有相同名称的资源时,在Chef 12中可能会收到“已弃用的功能:资源克隆”警告。我可以更改第二个资源的名称以避免资源克隆并摆脱它警告。但是,如果我不能更改资源名称怎么办?假设我在食谱的开头已经挂载了:

mount '/mnt/directory' do
  device "//192.168.1.2/something"
  action [:mount]
end

然后最后我有umount:

mount '/mnt/directory' do
  device "//192.168.1.2/something"
  action [:umount]
end

我知道在一个配方中同时进行装载和卸载并不常见,但这是我实现目标的非常规方法。执行此食谱时,我收到有关“已使用的不赞成使用的功能:资源克隆” 的警告。

在我无法更改第二个资源的名称的情况下,如何避免该警告,因为“ / mnt / directory”是名称,并且我无法更改umount将在其上执行操作的目录?

1 个答案:

答案 0 :(得分:1)

Chef中的每个资源都有一个所谓的 name 属性。此属性的值取自资源名称,但也可以使用显式属性名称本身覆盖。

对于mount资源, name 属性为mount_point。如果您在资源中设置了mount_point,则如何命名资源都没有关系:

mount 'mount /mnt/directory' do
  mount_point '/mnt/directory'
  device "//192.168.1.2/something"
  action [:mount]
end

mount 'umount /mnt/directory' do
  mount_point '/mnt/directory'
  device "//192.168.1.2/something"
  action [:umount]
end