问题标签 [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 回答
2046 浏览

ruby - Serverspec:检查目录是否为空

我想检查现有目录是否为空(不包含任何文件或子目录)。

我尝试了以下方法:

但这不起作用。(当然,因为文档中没有提到它。)

重要提示:如果目录存在,我不想测试 - 它确实存在并且我无法更改它。

我的解决方案现在如下所示:

但这不是使用 Serverspec 资源类型“文件”。有没有更好的方法来测试文件夹是否为空?

0 投票
1 回答
1708 浏览

chef-infra - 测试厨房 1.4.2 初始设置消息:无法从加载路径加载“ssh”驱动程序

致力于评估厨师。与测试厨房一起工作。

**** 注意 -- Linux 和 Chef 新手 ****

我正在使用 CentOS 7。安装了 chefdk 0.7.0。由于我的沙盒中的一些 Websense 限制,我只是打算建立 2 个 VM 并使用 kitchen-ssh 驱动程序。

所以我跑了kitchen-init --driver=kitchen-ssh --create-gemfile(根据这个链接: http: //misheska.com/blog/2014/09/21/survey-of-test-kitchen-providers/#physical-machine-drivers)。此命令及其输出没有问题。

我跑bundle install了没有问题。

.kitchen.yml这样更新了我的文件:

我跑了kitchen list,得到以下错误:

我跑来gem list验证是否安装了所需的 gem

我已经了解了与此相关的各种文件的所有途径,并且不知道为什么它无法找到“ssh”驱动程序。

任何帮助将不胜感激

0 投票
2 回答
5410 浏览

chef-infra - How to capture Chef::Log.info in kitchen test

When I run

or

No logs that I have in my recipe under test ie.

are displayed in kitchen's output to console. Anyway to make this happen?

driver: vagrant

provisioner: chef-solo

Thanks,

0 投票
0 回答
230 浏览

amazon-s3 - chef 和 test-kitchen 从 s3 同步食谱

我正在使用kitchen-ec2供应chef-zero商:

当前chef_omnibus版本在哪里12.4.3-1

在发布拉取请求之前kitchen-ec2,我想验证是否可以同步食谱s3(将它们从s3ec2 实例下载),而不是通过将食谱上传到每个 ec2 实例来同步食谱suite

将说明书从本地机器同步到 ec2 实例s3,然后将说明书下载s3到 ec2 实例——速度快得多,并且消耗的通信带宽更少。

0 投票
1 回答
79 浏览

python - Ansible kitchen 测试在 debian 上执行 source 命令失败

我为 python 编写了一个 ansible playbook 角色,并尝试使用带有 Serverspec/RSpec 的厨房测试对其进行测试。以下测试确保我是否能够源激活 virtualenv。这在 CentOS 上运行良好,但在 Debian-Ubuntu 上测试失败并出现错误(检查代码块下方)

错误:

我的假设

它试图从基本上无法运行命令的/bin/sh运行。我怎样才能缓解这个问题?

0 投票
3 回答
3497 浏览

ubuntu - 在厨师中创建厨房时出错

由于我对厨师很陌生,我无法弄清楚以下错误:

我的 .kitchen.yml 文件如下所示:

我正在关注文档 [ https://learn.chef.io/local-development/ubuntu/get-started-with-test-kitchen/][1]

请帮助我这里有什么问题!

安装 Vagrant 现在出现以下错误:

命令:ashishk@chef-workstation:~/motd$ VBoxManage --version

Ps:我已经在那个VM(ubuntu)中的Windows 7上安装了Virtual box 我有厨师工作站在它上面运行“kitchen create”

0 投票
2 回答
1508 浏览

ansible - 如何运行多个厨房角色测试

我正在使用厨房和 ansible 来测试服务器配置。我能找到的每个示例.kitchen.yml在与 ansible 角色相同的文件夹中都有一个文件。我想执行多个测试,但似乎没有内置的方法来执行此操作 -kitchen test期望.kitchen.yml在它运行的文件夹中有一个文件(以及 serverspec ruby​​ 规范文件和包装的 default.yml 文件实际角色)例如

我宁愿将用于测试的文件与用于配置服务器的文件分开,为此我为每个角色创建了一个套件,并在套件配置中指定了供应商剧本:

然后,我的*_spec.rb文件必须位于名为test/integration/role_1/serverspec

这也允许我通过一个单一的运行多个角色测试,kitchen test但我不确定这是否是要走的路。如果我有一个包含多个角色的剧本,我看不到如何重用 *_spec.rb 文件。

这是怎么做的?

0 投票
2 回答
1299 浏览

chef-infra - 如何让测试厨房缓存厨师客户端 RPM?

每次创建盒子后第一次运行厨房验证时,都需要下载厨师客户端。例如:

我的互联网连接很差,所以这需要很长时间。有没有一种简单的方法来缓存 RPM,这样我就不必每次都下载它了?

0 投票
0 回答
109 浏览

test-kitchen - 无法覆盖 test-kitchen/busser-serverspec 中的 rspec_opts

似乎有办法覆盖 rspec_opts。默认情况下,它使用“--color --format 文档”运行,如下所示:

有没有办法禁用颜色并以 json 格式和文档执行?

我尝试在 test 目录中添加一个 .rspec 文件,但 Test Kitchen 没有选择它。我还尝试将 .rspec 文件移动到 suite/serverspec 目录中,但 busser 仍然使用 --color 和 --format 文档运行。

任何想法如何在 json 和文档中禁用颜色并将其格式化?

谢谢!

0 投票
0 回答
1384 浏览

service - 运行service elasticsearch start失败,但手动运行命令成功

语境:

  • 我正在测试由厨师设置的 elasticsearch 1.7.1 配置,并在厨房进行测试
  • 厨师脚本和配置有效,因为它以某种方式在生产中运行
  • 以 elasticsearch 用户身份运行service elasticsearch start失败,但它委托给的实际调用不会。

据我所知,厨师脚本以 root 身份运行。因此,当测试失败时(它通过 running 来检查 elasticsearch 是否正在运行service elasticsearch status),我登录到 vagrant 机器。作为 root ,如果我运行service elasticsearch start,我得到一个 OK (这是不正确的,但另一个问题),然后运行一个后续service elasticsearch status,我遇到了错误:elasticsearch dead but pid file exists

进一步挖掘,我在运行的 init.d 脚本上设置了调试语句,service发现实际命令基本上是对init.d/functionsfunction的调用daemon,它只是调用:

runuser -s /bin/bash elasticsearch -c 'ulimit -S -c 0 >/dev/null 2>&1 ; /usr/share/elasticsearch/bin/elasticsearch -p /var/run/elasticsearch/elasticsearch.pid -d -Des.default.path.home=/usr/share/elasticsearch -Des.default.path.logs=/var/log/elasticsearch/ -Des.default.path.data=/data/elasticsearch/data/ -Des.default.path.work=/tmp/elasticsearch -Des.default.path.conf=/etc/elasticsearch/'

所以我尝试了一个sudo su - elasticsearch然后在引号中运行该部分:

随后service elasticsearch status显示 elasticsearch 运行良好!我什至将日志记录设置为 TRACE,并且没有迹象表明 elasticsearch 已经崩溃。