我遇到了一个创建多个共享文件系统的厨师食谱的问题。
这是给我带来问题的片段:
sii_share_share "ansible" do
remote_path "//#{ node['sii_base']['utils_storage_account_name'] }.file.core.windows.net/ansible"
local_path "/opt/ansible"
fstype "cifs"
dir_owner "root"
dir_group "sysadmin"
dir_mode "0770"
file_mode "0660"
cifs_credentials_file "/root/.smb.utils.credentials"
end
错误是"未定义的局部变量或方法`local_path'对于#<#:0x00000000047b3ed8>"
这些版本发生了此错误:
Chef-client:14.1.12
ruby 2.5.1p57(2018-03-29 Revision 63029)[x86_64-linux]
使用以前的版本(chef-client 13.6和ruby 2.3.1p112),这个工作正常。我使用Linux Chef扩展程序在Azure中运行这些烹饪书。
有没有人尝试过这样的事情?
提前致谢。
答案 0 :(得分:1)
您的资源可能正在使用弃用的属性命名。
sii_share_share
资源是否具有名为local_path
local_path
属性
new_resource.local_path
而非local_path
。这是一个
pending deprecation that went in to effect with Chef Client 14。在主要版本的Chef Client之间移动之前,您应该始终查看breaking changes。每个chef-client运行的结束也会在这些重大更改进入之前输出弃用消息作为警告。