问题标签 [test-kitchen]

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.

0 投票
1 回答
885 浏览

amazon-ec2 - 测试厨房:如何在 kitchen.yml 中读取平台特定属性

在我的.kitchen.yml配置中,我尝试根据平台版本应用属性。我的厨房配置如下所示:

在此kitchen converge过程中,我无法pg_version正确获得价值。对于我的厨师脚本pp node.debug_value('pg_version')输出中的此代码,如下所示:

我不太清楚这个结果。我假设我在platformsyml 部分中指定的属性的优先级是normal,那么我怎样才能得到它?

用户danieljimenez也在这里提出了类似的问题。

0 投票
1 回答
511 浏览

vagrant - 将测试厨房与 Vagrant 和 Parallels 一起使用?

是否可以将测试厨房与 Vagrant 和 Parallels 一起使用?

我有一个使用 Virtualbox 的厨房,但我想尝试使用 Parallels。我已经安装了Vagrant Parallels 插件并确认它可以正常工作。但是当我运行时kitchen converge,它仍在使用 Virtualbox。我的 .kitchen.yml 有:

该文档似乎暗示厨房流浪者不支持Parallels?

“Kitchen 的 kitchen-vagrant 驱动程序为沙盒目录中的每个 Kitchen 实例生成一个 Vagrantfile。kitchen-vagrant 驱动程序支持 VirtualBox 和 VMware Fusion,需要 Vagrant 1.1.0(或更高版本),并且是 Kitchen 的默认驱动程序。”

https://docs.chef.io/config_yml_kitchen.html

0 投票
0 回答
182 浏览

rvm - 运行厨房与 rvm 食谱融合不起作用

尝试运行 test-kitchen 并使用 rvm 食谱。一旦节点与 rvm 食谱收敛,我就无法再运行kitchen converge,因为它无法再找到 chef-client 二进制文件。

通常在我们运行的节点rvm use system ; chef-client上运行厨师综合二进制文件。

我怎样才能做到这一点,以便我可以使用 rvm 食谱(https://github.com/martinisoft/chef-rvm)并在kitchen converge对我正在编写的食谱进行更新后反复运行收敛?

0 投票
1 回答
368 浏览

ruby - 厨师执行第一次失败

我对厨师食谱有一个奇怪的问题。让我告诉你,我是 Chef 的新手,如果看起来很不对劲,请原谅我。

我有我的战争文件,它是由 Spring Boot 构建的。我只需要运行java -jar <file>.war -config=config/即可运行我的应用程序。

我最近开始尝试使用 Chef,并开始编写完成这项工作的食谱。

我的食谱中的代码如下:

execute在命令被触发之前,war 文件和相关的配置文件夹及其内容已成功复制到各自的目的地。问题是当机器用 新创建时kitchen create,第一个kitchen verify会失败,说'Errno::ENOENT: No such file or directory - java -jar /opt/com/app.war -config=config/'. 这只是第一次发生。出乎意料的是,再说kitchen verify一遍,应用程序启动了,并成功运行。

这很奇怪,因为所需的文件 app.war 和 config/ 已经 [或应该] 存在于具有适当权限的机器中。

我知道 Chef 按顺序处理这些事情,所以鉴于执行命令是我配方中的最后一行,它应该已经具备运行 war 文件所需的内容。我要疯了,谁能提供一些关于这个的见解?

谢谢!

0 投票
1 回答
627 浏览

ruby - Chef - 在编译时创建测试数据包

在我的厨师食谱中,我基本上是在解密几个数据包:

1. test.json 2. sample.json

解密后获得的数据接下来将用于在我的厨房节点上创建文件。基本上,test.json并且sample.json使用我拥有的密钥(从其中test.json获得test.txtsample.json从中获得sample.txt都是纯文本文件)在一个名为的脚本中进行加密,该脚本gendatabags.rb创建这些文件并将它们放在各自的位置。请注意,gendatabags.rbsecret key pathandinput file path作为输入参数。现在我想集成测试这个流程,我期待使用我生成的测试密钥。我想提供两者的测试版本,test.txt其中sample.txt包含一些虚拟字符串。问题是,现在我想在compile time我的食谱。有人可以提供一些关于如何实现这一目标的信息吗?

谢谢!

0 投票
2 回答
957 浏览

vagrant - 设置测试厨房食谱食谱以在 vagrant 中生成厨师服务器

我正在尝试厨师和测试厨房。

我面临的问题如下。我正在使用arch linux,但无法在我的机器上安装chef,所以我决定使用centos7 机器来安装一个工作的虚拟机。

我的目标是让测试厨房使用食谱创建企业厨师服务器,并让两台机器(服务器和工作虚拟机)在同一个网络上访问,一台取决于另一台。所以,是的,这是一个嵌套设置。如果有人有更好的想法,我愿意接受不同的建议。

对于工作的虚拟机,我使用了这个盒子:

https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box

这是我的 Vagrant 文件的内容:

所以非常基本的东西......

我成功地在那台机器上安装了厨师和测试厨房,生活很好。

现在的问题是使用测试厨房从这里安装厨师服务器:

https://downloads.chef.io/chef-server/

我用测试厨房创建了一个非常简单的配置,类似于以下内容:

recipes/default.rb

...和attributes/default.rb

之后我跑$ kitchen converge了,它失败了:

我目前正在尝试通过手动更改Vagrantfile位于的位置来解决问题.kitchen/kitchen-vagrant/kitchen-enterprise-chef-default-centos-65

到目前为止,我收到了这个错误:

无限期地default: Warning: Connection timeout. Retrying...进行,我被迫停止它。但是机器似乎正在运行,只有第一个 vagrant 实例无法访问。

我的猜测是网络配置出现了严重错误。

非常欢迎有关我的设置的任何想法或反馈。

谢谢你。

0 投票
0 回答
587 浏览

chef-infra - 使用 chef-zero 进行搜索,而不是使用 chefserver

在厨师食谱中使用搜索时遇到问题:

  • 当我的食谱使用 chefserver 运行时,下一个搜索成功: search(:node, %Q{nginx_vhosts_#{name}:*})
  • 当我的食谱使用 chef-zero(带厨房)运行时,它没有成功,它什么也找不到。

我已在 .kitchen.yml 文件中正确配置了 nodes_path。我可以使用以下搜索找到解决方法:search(:node, %Q{nginx:vhosts})并在一些逻辑之后添加以匹配我的目的。

所以我的问题是:为什么语法search(:node, param1_param2_#{var}:*)不起作用?

0 投票
1 回答
1189 浏览

vagrant - Test kitchen fails to install VirtualBox Guest Additions 4.3.28

I'm having trouble creating a synced folder using kitchen. Seems like something is wrong with the latest version of Virtualbox Guest Additions (2.3.8)

After running:

I get this:

Here is my .kitchen.yml

If I remove this part:

the VirtualBox Guest Additions still fails, but it doesn't stop the converge processes.

Same thing happens if I use the learningchef centos 6.5 image box:

I've done some research online and it seems to solve the problem for a lot of people that use:

So installing the Vagrant Virtualbox guest plugin. Can I somehow plug it in the test kitchen lifecycle and not do this step by hand?

EDIT: Also, the generated Vagrantfile looks like this:

Any advice is much appreciated.

0 投票
1 回答
425 浏览

windows - Windows上的Test-Kitchen serverspec测试异常

使用chef generate cookbook hello命令时,生成的 serverspecspec_helper.rb文件将不适用于 Test-Kitchen 1.4.1 和 windows。

kitchen verify命令将在 windows 平台上抛出以下内容:

0 投票
2 回答
272 浏览

vagrant - 适用于 Windows 7 的 Kitchen Converge 因启动超时而失败

我目前正在使用测试厨房尝试将 Windows 7 机器与 VMware Fusion 融合为配置程序,以最终部署厨师食谱。每次我运行一个kitchen converge进程都会挂起“等待机器启动。这可能需要几分钟”,然后由于超时而失败。当我打开 Fusion 时,我看到以下内容: 融合虚拟机的展示

有谁知道发生了什么?我一直在努力让这个 VM 融合,并且无法让 VM 成功启动并运行到我可以部署我的食谱的地步,但我没有想法。

我的 .kitchen.yml: