厨师食谱:未定义的局部变量或方法

时间:2018-05-16 15:30:39

标签: ruby azure chef

我遇到了一个创建多个共享文件系统的厨师食谱的问题。

这是给我带来问题的片段:

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中运行这些烹饪书。

有没有人尝试过这样的事情?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您的资源可能正在使用弃用的属性命名。

在主要版本的Chef Client之间移动之前,您应该始终查看breaking changes。每个chef-client运行的结束也会在这些重大更改进入之前输出弃用消息作为警告。