问题标签 [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.
ruby - Serverspec:检查目录是否为空
我想检查现有目录是否为空(不包含任何文件或子目录)。
我尝试了以下方法:
但这不起作用。(当然,因为文档中没有提到它。)
重要提示:如果目录存在,我不想测试 - 它确实存在并且我无法更改它。
我的解决方案现在如下所示:
但这不是使用 Serverspec 资源类型“文件”。有没有更好的方法来测试文件夹是否为空?
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”驱动程序。
任何帮助将不胜感激
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,
amazon-s3 - chef 和 test-kitchen 从 s3 同步食谱
我正在使用kitchen-ec2
供应chef-zero
商:
当前chef_omnibus
版本在哪里12.4.3-1
。
在发布拉取请求之前kitchen-ec2
,我想验证是否可以同步食谱s3
(将它们从s3
ec2 实例下载),而不是通过将食谱上传到每个 ec2 实例来同步食谱suite
?
将说明书从本地机器同步到 ec2 实例s3
,然后将说明书下载s3
到 ec2 实例——速度快得多,并且消耗的通信带宽更少。
python - Ansible kitchen 测试在 debian 上执行 source 命令失败
我为 python 编写了一个 ansible playbook 角色,并尝试使用带有 Serverspec/RSpec 的厨房测试对其进行测试。以下测试确保我是否能够源激活 virtualenv。这在 CentOS 上运行良好,但在 Debian-Ubuntu 上测试失败并出现错误(检查代码块下方)
错误:
我的假设
它试图从基本上无法运行源命令的/bin/sh运行。我怎样才能缓解这个问题?
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”
ansible - 如何运行多个厨房角色测试
我正在使用厨房和 ansible 来测试服务器配置。我能找到的每个示例.kitchen.yml
在与 ansible 角色相同的文件夹中都有一个文件。我想执行多个测试,但似乎没有内置的方法来执行此操作 -kitchen test
期望.kitchen.yml
在它运行的文件夹中有一个文件(以及 serverspec ruby 规范文件和包装的 default.yml 文件实际角色)例如
我宁愿将用于测试的文件与用于配置服务器的文件分开,为此我为每个角色创建了一个套件,并在套件配置中指定了供应商剧本:
然后,我的*_spec.rb
文件必须位于名为test/integration/role_1/serverspec
这也允许我通过一个单一的运行多个角色测试,kitchen test
但我不确定这是否是要走的路。如果我有一个包含多个角色的剧本,我看不到如何重用 *_spec.rb 文件。
这是怎么做的?
chef-infra - 如何让测试厨房缓存厨师客户端 RPM?
每次创建盒子后第一次运行厨房验证时,都需要下载厨师客户端。例如:
我的互联网连接很差,所以这需要很长时间。有没有一种简单的方法来缓存 RPM,这样我就不必每次都下载它了?
test-kitchen - 无法覆盖 test-kitchen/busser-serverspec 中的 rspec_opts
似乎有办法覆盖 rspec_opts。默认情况下,它使用“--color --format 文档”运行,如下所示:
有没有办法禁用颜色并以 json 格式和文档执行?
我尝试在 test 目录中添加一个 .rspec 文件,但 Test Kitchen 没有选择它。我还尝试将 .rspec 文件移动到 suite/serverspec 目录中,但 busser 仍然使用 --color 和 --format 文档运行。
任何想法如何在 json 和文档中禁用颜色并将其格式化?
谢谢!
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/functions
function的调用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 已经崩溃。