Chef infra 在Chef客户端运行期间,Chef仍在查找已删除的配方
我删除了一份厨师菜谱,方法是删除菜谱Chef infra 在Chef客户端运行期间,Chef仍在查找已删除的配方,chef-infra,ubuntu-16.04,devops,Chef Infra,Ubuntu 16.04,Devops,我删除了一份厨师菜谱,方法是删除菜谱.rb文件中对它的所有引用,然后上传它所属的菜谱: 刀子食谱上传crmpicco和刀子食谱上传crmpicco部署 然后,我烘焙服务器以引入更改(chef client-l error),当我这样做时,我会看到菜谱列表中列出的菜谱 chef-client -l error Starting Chef Client, version 12.19.36 resolving cookbooks for run list: ["ulimit2",
.rb
文件中对它的所有引用,然后上传它所属的菜谱:
刀子食谱上传crmpicco
和刀子食谱上传crmpicco部署
然后,我烘焙服务器以引入更改(chef client-l error
),当我这样做时,我会看到菜谱列表中列出的菜谱
chef-client -l error
Starting Chef Client, version 12.19.36
resolving cookbooks for run list: ["ulimit2", "logrotate::global", "users::sysadmins", "apt", "postfix", "redisio", "redisio::enable", "etcd", "apache2", "newrelic::php_agent", "crmpicco-deploy::maintenance", "crmpicco-deploy::enrich", "crmpicco-deploy"]
Synchronizing Cookbooks:
...
配方“crmpicco deploy::enrich”
是我删除的配方,但由于某些原因,它仍然列在运行列表中
由此产生的不可避免的错误是:
Installing Cookbook Gems:
Compiling Cookbooks...
================================================================================
Recipe Compile Error
================================================================================
Chef::Exceptions::RecipeNotFound
--------------------------------
could not find recipe enrich for cookbook crmpicco-deploy
Platform:
---------
x86_64-linux
是否需要运行缓存或其他命令来强制删除此配方?添加此作为答案,因为可能需要一些解释 它可能从
刀节点显示的菜谱:
部分获取相同的信息
选项1:
使用chef client-o
覆盖现有运行列表:
chef-client -o "recipe[crmpicco],recipe[crmpicco-deploy]" -l error
选项2:
在“清空”节点的run\u列表后,可以尝试运行chef-client
。这将删除节点的“已保存”配方:
编辑节点:
knife node edit NODENAME
记下“运行列表”下的配方/角色:
,删除它们并保存节点,以便运行列表
为空
“运行列表”:[
]
执行chef-client
运行,它应该报告节点“有一个空的运行列表”
使用以下命令检查节点的配方:
现在是否为空:
knife node show NODENAME -a 'recipes'
再次编辑节点,并将角色/食谱添加回run\u列表
,保存节点
运行chef客户端-l错误
更新:
在进行任何更改时,最好更改/更新cookbook版本,并在运行中使用cookbook的更新版本。它可以确保chef客户端将把较新的烹饪书拉到节点上,在这种情况下,该节点将不引用丢失的食谱文件。您也必须从运行列表中删除此recice
如果使用policyfile管理运行列表,则需要从该策略中删除配方并将其推送到chef服务器(chef push
)
如果在节点属性中设置了run_list(旧方法,在引入策略之前),则运行:
刀节点编辑
并从运行列表中删除该配方。刀烹饪书是否也显示了crmpicco配方
显示了该配方enrich.rb
?说到版本-在进行此类更改时,最好更新(并使用新的)食谱版本。@Seshadri_C感谢您的评论。不,当我在本地计算机上运行上述命令时,不会显示配方。是否有某种缓存需要刷新?