【发布时间】:2020-10-13 13:55:37
【问题描述】:
我删除了一个 Chef 食谱,方法是删除食谱 .rb 文件中对其的所有引用,然后上传它所属的食谱:
knife cookbook upload crmpicco 和 knife cookbook upload crmpicco-deploy
然后我烘焙服务器以提取更改 (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
是否需要运行缓存或其他命令才能强制删除此配方?
【问题讨论】:
-
knife cookbook show crmpicco <version> recipes是否也显示此食谱enrich.rb?说到版本 - 进行此类更改时更新(并使用新的)食谱版本是个好主意。 -
@Seshadri_C 感谢您的评论。不,当我在本地机器上运行上面的命令时,没有显示配方。是否有某种需要刷新的缓存?
标签: chef-infra ubuntu-16.04 devops