我知道当我使用两个具有相同名称的资源时,在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将在其上执行操作的目录?答案 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