小编Kon*_*lic的帖子

"include_recipe"与Vagrantfile"chef.add_recipe".有什么不同?

刚刚在我的流浪盒上运行了nginx :: source recipe,我的行为很不寻常.

当我从Vagrantfile中包含一个食谱(如下所示)时,一切都像魅力,

chef.add_recipe("project :: nginx")
chef.add_recipe("nginx :: source")

(project :: nginx配方非常简单.用它来覆盖nginx cookbook的默认属性)

但如果我在项目的最后包含一个食谱:: nginx(提到过),一切都会崩溃:

node.default['nginx']['server_names_hash_bucket_size'] = 128
include_recipe "nginx::source"
Run Code Online (Sandbox Code Playgroud)

到目前为止,我不知道这两个调用之间的行为有什么不同.这里有人知道有什么区别吗?

nginx chef-recipe vagrant chef-solo

6
推荐指数
1
解决办法
4748
查看次数

如何查看节点安装的软件包版本?

我正在调整 Apache 食谱以与 2.4 Apache 一起使用。Opscode Cookbook 目前失败,因为它正在生成带有 LockFile 关键字的 conf 文件,该关键字被排除在 Apache 2.4 关键字列表之外。

我想制定一个通用解决方案,并根据软件版本填充我的conf文件。为此,我必须找出已安装软件的版本。同样的问题已经困扰我一段时间了,但我一直在设法避免它。由于我一遍又一遍地问这个问题,我想问:

如果说明书没有指定,即安装最新的可用版本,如何查找已安装的软件包/软件的版本?

注意:请不要告诉我将命令传递给底层 shell。我想知道是否有更好、更...Chefy的方法?也许与欧海有关?

编辑:看来我被误解了。我想知道是否有一个抽象平台层的解决方案(就像 Ohai 所做的那样),我会说类似gimme_version('apache')并获取已安装的 apache 版本。我想避免case node['platform_family'] when... when... when在内部编写特定于平台的代码。

chef-infra chef-recipe chef-solo

5
推荐指数
1
解决办法
6924
查看次数

标签 统计

chef-recipe ×2

chef-solo ×2

chef-infra ×1

nginx ×1

vagrant ×1