Chef infra 从文件中生成然后读取内容

Chef infra 从文件中生成然后读取内容,chef-infra,Chef Infra,我试图完成的是生成一个ssh密钥并将公钥设置为节点属性,以便以后可以搜索该节点属性并将其添加到其他服务器/用户的授权密钥中 我的第一次尝试是: key='/home/vagrant/.ssh/id\u rsa' bash“生成密钥”do 用户“流浪者” 代码我实现了一些非常相似的东西 ruby_块“将密钥保存到属性”do 仅当{public_key.to_s==“”} 布洛克道 private\u key=File.read(ssh\u key) public_key=File.read(ssh

我试图完成的是生成一个ssh密钥并将公钥设置为节点属性,以便以后可以搜索该节点属性并将其添加到其他服务器/用户的授权密钥中

我的第一次尝试是:

key='/home/vagrant/.ssh/id\u rsa'
bash“生成密钥”do
用户“流浪者”

代码我实现了一些非常相似的东西

ruby_块“将密钥保存到属性”do
仅当{public_key.to_s==“”}
布洛克道
private\u key=File.read(ssh\u key)
public_key=File.read(ssh_key+“.pub”)
node.set['gerrit']['peer\u key']['private']=private\u key
node.set['gerrit']['peer_keys']['public']=public_key
结束
结束

我认为您使用的优先级“default”导致了这些问题,但我不确定代码中的确切问题是什么。

将默认值更改为set并没有起到作用。但使用你的代码,我试图理解为什么。这是因为一切都是在聚合时而不是编译时完成的吗?不确定,您是否尝试过删除
ruby\u块
中的
only\u if
,看看它是否仍然有效?