0

在我的一个节点上,我的运行列表中有三本食谱。当 Chef 客户端运行时,我可以看到其中两个配方已执行,但第三个未执行。造成这种情况的可能原因是什么?

当我执行厨师客户端时,我看到:

resolving cookbooks for run list: ["vim", "vim::vimrc", "ssh-keys"]

然后:

Converging 2 resources
Recipe: vim::default
* package[vim] action install (up to date)
Recipe: vim::vimrc  
* template[/etc/vim/vimrc.local] action create (up to date)

但是ssh-keys配方没有被执行。

造成这种情况的可能原因是什么?我正在尝试使用ssh-keys配方。

4

2 回答 2

0

如果您查看ssh-keys::default食谱,您会注意到前面有一个if

if node[:ssh_keys]

同时属性文件不提供这个属性,所以它的nil和执行不会进入块内部。

于 2013-09-25T11:52:31.350 回答
0

根据ssh-keys cookbook,它需要操作系统用户名和数据包“用户”的 ID。这意味着您必须拥有:

  • 一个名为 users 的数据包
  • 该数据包中的条目包含ssh_keys密钥。

否则,如果找不到,它将根本无法解决任何资源ssh_keys

于 2013-09-25T13:17:29.793 回答