问题标签 [chef-zero]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
chef-infra - 如何在厨师食谱中获取有关厨师供应商(厨师零或非厨师)的信息?
在我的食谱中,我想找出厨师运行的模式,并据此从数据包中加载。如果它正在运行 chef-zero,那么我将以特定方式加载数据包,如果不是以不同方式加载。
但目前它总是进入 else 块。我正在经营厨房
chef-infra - 如何在测试厨房中使用角色?
我不知道如何在测试厨房的运行列表中运行角色。
我knife download roles
对我的厨师回购(C:\.chef\roles
)做了一个。
我也做了knife download cookbooks
一个c:\.chef\cookbooks
这是我要测试的食谱的 .kitchen.yml ,我计划以特定角色 ( C:\.chef\cookbooks\mybook\.kitchen.yml
) 运行它:
当我运行厨房融合时,我收到“没有这样的食谱:”扮演该角色的食谱的错误。
我如何获得测试厨房以找到那些食谱?我尝试- cookbooks
在我的 .kitchen.yml 中添加一行,其中包含我在工作站上拥有的所有必要食谱的路径,但这不起作用——我还认为我应该用 berkshelf 来代替?
chef-infra - kitchen.yml 属性不覆盖默认值 - Chef 12.12 - Kitchen 1.10
我有一个简单的属性文件:attributes/default.rb
.
在里面kitchen.yml
,我愿意
在食谱中,我这样做:
而且我总是得到'file value'
而不是'value from kitchen'
作为输出。
我想覆盖测试中的值。
chef-infra - 为什么厨师在重新启动请求时抛出致命错误
我正在尝试在 client.log 上使用日志过滤器来评估 Chef 是否成功运行。
在 Chef 运行的正常过程中,我的食谱要求重新启动。
厨师日志:
为什么 Chef 在正常的重启请求中会抛出错误?如何防止记录此错误。
我的重启请求看起来像
chef-infra - 用厨师零覆盖运行列表
我有一个文件夹“根文件夹”,其中包含两个自定义食谱。
- root-folder
\
-this-cookbook
-that-cookbook
我可以cd
直接进入并运行任何一本食谱
例如:chef-client -z -o this-cookbook -j ../config.json
真的我希望能够cd
进入根文件夹并运行
chef-client -z -o "this-cookbook, that-cookbook" -j config.json
但这不起作用。可能吗?
chef-infra - 厨房未识别厨师集成测试
我正在尝试使用Kitchen -ssh 驱动程序在厨房中使用serverspec verifier-name为厨师食谱编写集成测试。以下是我的食谱中文件的排列方式。
这是 .Kitchen.yml 文件中的内容,
当我运行厨房测试时(从 .kitchen.yml 文件所在的目录,即说明书目录),我正在成功完成 serverspec,如下所示,
我找不到任何 serverspec 执行的输出。
有人可以帮我弄清楚我在哪里做错了。
提前致谢
ruby - 带有 Test-Kitchen、Vagrant 和 Chef-Zero 供应商的 Chef Vault
我有一个使用 Test-Kitchen v1.5.0、Vagrant v1.8.1 的环境设置。我有一个食谱,它使用 Chef vault 来解密我们在 data_bags_path/passwords/pilot.json 文件中的加密密码。
我在这里使用 daxgames 在页面末尾提供的解决方案https://github.com/chef/chef-vault/issues/58。
我的.kitchen.yml:
我的食谱中涉及厨师保险库的片段:
我的相关data_bags目录结构:
我得到的错误是我的 vagrant 在 /etc/chef/ltylapp400a.pem 生成的 client.pem 无法解密该数据包的内容。厨师建议我运行刀库刷新,我没有连接到我本地机器上的厨师服务器,所以如果我运行它,它会给出一个关于没有厨师服务器连接的错误。我的问题是如何将 vagrant 生成的新密钥添加到 Pilot_keys.json 中,以便它能够解密该 data_bag?
更详细的答案更好我对厨师,测试厨房等还是有点陌生......
chef-infra - 如何在包含依赖项的食谱中使用带有厨师零的厨师供应?
我对 Chef 很陌生,我正在尝试使用“厨师配置”在我的 vsphere 节点上配置 VM。
当我执行以下
我收到以下错误:
在做了一些研究之后,我遇到了这个问题和讨论:为什么厨师不能解决我的食谱?
Tejay Cardon 在这里提到应该在knife.rb 的cookbook_path 配置中调用berks 路径(至少我是这样解释的)。我添加了它,现在我的文件如下所示:
当我运行上面列出的命令时,我仍然得到同样的错误。
正如我上面提到的,我正在学习厨师,所以如果答案很明显,请善待它。而且我已经做了很多谷歌搜索,所以如果答案是“谷歌它!我得到了你需要的确切页面作为第一个链接”,那么请给我谷歌的条款。:) 谢谢!
ruby - 如何在 InSpec 中访问 Chef data_bags
我正在为我正在研究的一些新厨师食谱编写 InSpec 测试。我想利用食谱使用的 data_bags 来遍历数据包项。我不知道如何在我的 InSpec 测试中访问它们!配方使用了 search、data_bag 和 data_bag_item 方法。但是这些方法在我的 InSpec 测试中似乎不可用。我怀疑这些是 Chef DSL 特定的方法?data_bags 的源代码受源代码控制,因此我可以在本地文件系统上访问它们的 json。
如何使用 InSpec 语法访问 Chef_zero 中的这些 data_bags?
我在网上找到了几个例子,但我没有看到 chef_zero 是如何实际加载 data_bags 的,以便它们可以在测试中使用,例如https://github.com/charlesjohnson/fundamentals-with-tests/blob/master /chef-repo/cookbooks/users/test/integration/default/serverspec/default_spec.rb 和 https://github.com/chef/chef/blob/master/kitchen-tests/test/integration/webapp/default_spec.rb
我在 Vagrant 测试厨房上使用 Windows server 2012R2 机器。这是来自其中一个数据包的数据包项的示例:
这个特定的数据包列出了添加到管理员组的 Windows Active Directory 用户。
我已经在我的 .kitchen.yml 中设置了 data_bag_path (我在套件和配置器中设置了它),但我还没有到可以看到哪个是正确的地步:
chef-infra - 刀零现有节点发现
我正在熟悉厨师,并希望在没有中央服务器的情况下构建我的工作流程(使用厨师零和刀零)。一切正常,但是,chef-zero 将有关节点的信息存储在 .json 文件中,这些文件相当大并且经常更改而无法存储在 git 存储库中,我想在每个工作日重新扫描服务器,而不是将它们的定义存储在存储库中- 这应该很容易自动化,因为我们没有很多服务器。是否有任何命令可以让我通过提供 ssh 凭据将现有的聚合节点添加到 chef-zero?我知道这knife zero bootstrap <node-ip>
会奏效,但它也会触发我不想发生的额外收敛。