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

testing - 确定测试厨房测试是否通过或失败

我们有一个看起来像这样的脚本:

如何确定我的kitchen test通过或失败?

0 投票
1 回答
6814 浏览

chef-infra - 如何将厨师客户日志输出捕获到厨房运行中的文件?

我正在尝试将 chef-client 配置为将日志输出到测试厨房运行中的文件,但我的配置.kitchen.yml似乎没有反映在client.rb准备好的和注入到测试节点中。

我在 virtualbox 上使用 ChefDK 0.3.6、chef_zero 配置器和 vagrant 驱动程序。

.kitchen.yml我的文件的摘录:

另一个摘录,这是从以下输出中提取的kitchen diagnose

最后,/tmp/kitchen/client.rb测试节点上的内容:

如您所见,预期的log_location条目未包含在 中client.rb,我猜这是在指定路径中未创建日志文件的原因。

您能否帮助我了解如何通过厨房的 chef-client 正确启用对文件的日志记录?

目前使用的参考文献:

  1. client.rb参考:https ://docs.chef.io/config_rb_client.html
  2. 厨师客户特定设置.kitchen.ymlhttps ://docs.chef.io/config_yml_kitchen.html#chef-client-specific-settings
0 投票
1 回答
423 浏览

nginx - 如何为 nginx 食谱定义自定义属性?

对于我目前的问题,我正在使用nginx食谱。我想做的是从源代码安装它nginx::source/opt/nginx/<version>/使用/opt/nginx-<version>/.

这是我的./attributes/default.rb

我不明白什么?

谢谢


另一件事是: - 我如何像上面一样为它添加前缀并创建一个符号链接/opt/nginx/current(即使在更新之后也要这样做)?

0 投票
1 回答
82 浏览

chef-infra - 与 ec2 & test-kitchen 的参数组合错误

我正在尝试使用我们 VPC 中的 ec2 插件运行测试厨房并收到以下消息:

Message: InvalidParameterCombination => The parameter groupName cannot be used with the parameter subnet

一旦我将 subnet_id 设置为表示它在 VPC 中,我就会收到 groupName 错误。

这是我的 .kitchen.yml 我没有在任何地方设置 groupName 。

driver: name: ec2 aws_access_key_id: <%= ENV["AWS_ACCESS_KEY_ID"] %> aws_ssh_key_id: *** ssh_key: <%= *** %> security_group_ids: ["default-server"] region: eu-west-1 availability_zone: eu-west-1a require_chef_omnibus: true subnet_id: subnet-*** iam_profile_name: ami_id: ami-*** image_id: ami-*** flavour_id: t2.micro assoicate_public_ip: true ebs_delete_on_termination: true

0 投票
3 回答
7255 浏览

testing - 测试 Chef 角色和环境

我是 Chef 的新手,一直在使用Test Kitchen来测试我的食谱的有效性,效果很好。现在,我正在尝试在最初运行 Chef 之前确保生产节点上特定于环境的属性是正确的。这些将在角色中定义。

例如,我可能有使用带有开发设置的 Vagrant 框聚合的食谱,它验证了食谱。我希望能够测试生产节点的角色。我想我希望这些测试作为描述我的环境的真实来源。查看 Test Kitchen 的文档,这似乎超出了它的范围。

我的假设正确吗?在第一次在生产节点上运行 Chef 之前,是否有更好的方法来测试食谱以确保它具有正确的设置?

0 投票
0 回答
952 浏览

chef-infra - 用 vsphere 测试厨房

当我尝试运行时出现以下错误kitchen test

我的 .kitchen.yml 文件是:

谁能帮帮我

0 投票
1 回答
1631 浏览

chef-infra - 如何使用不同于 root 的用户“厨房登录”

我们的主菜谱通过 ssh 禁用 root 登录,但我们希望能够执行kitchen login以使用测试机器(是的,我们可以使用 ssh 机器执行此操作,但我想知道是否可以配置 test-kitchen 以使用自定义用户)。

我的问题是“是否可以将 test-kitchen 配置为在执行时使用用户steve而不是 root用户kitchen login?” 我在网上或已经提出的问题中找不到任何关于此的信息。

0 投票
3 回答
2147 浏览

windows - 测试厨房登录命令失败

我正在遵循这个测试厨房的入门指南,并取得了一些初步的良好进展。但是,当尝试使用页面上提到的厨房登录命令时,它会失败并显示“没有这样的文件或目录 - ssh”我的本地系统是 Windows7,有人可以帮忙吗?

C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/test-kitchen-1.4.0/lib/kitchen/instance.rb:220:in exec': No such file or directory - ssh (Errno::ENOENT ) from C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/test-kitchen-1.4.0/lib/kitchen/instance.rb:220:inlogin'来自 C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/test-kitchen-1.4.0/lib/kitchen/command/login.rb:39:在call' from C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/test-kitchen-1.4.0/lib/kitchen/cli.rb:56:in执行中来自 C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/test-kitchen-1.4.0/lib/kitchen/cli.rb:224 :in login' from C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27:inrun' 从 C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:在invoke_command' from C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/test-kitchen-1.4.0/lib/kitchen/cli.rb:308:in来自 C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/thor-0.19.1/lib/thor.rb:359:in dispatch' from C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:instart 的 invoke_task'来自 C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/test-kitchen-1.4.0/bin/kitchen:13:inblock in <top (required)>' from C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/test-kitchen-1.4.0/lib/kitchen/errors.rb:154:inwith_friendly_errors' 来自 C:/Program Files (x86)/Heroku/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/test-kitchen-1.4.0/bin/kitchen:13:in <top (required)>' from C:/Program Files (x86)/Heroku/ruby-1.9.3/bin/kitchen:23:inload' 来自C:/Program Files (x86)/Heroku/ruby-1.9.3/bin/kitchen:23:in `'

0 投票
3 回答
2316 浏览

chef-infra - 我怎样才能让测试厨房多次运行相同的厨师食谱?

我有一个用于部署应用程序的厨师食谱。每次运行配方时,它都会创建一个新的“发布”(带有当前时间戳)目录并删除旧的“发布”目录,只留下 5 个最近的“发布”目录。(类似于 Capistrano 的 keep_releases 的工作方式)。

要测试该功能,我需要运行我的“部署”配方 6 次并验证是否只有 5 个“发布”目录。似乎我无法在 run_list 中多次使用相同的配方。

有任何想法吗?

谢谢!

0 投票
1 回答
858 浏览

amazon-web-services - Kitchen-EC2 SSH 提示 VPC 内实例的密码

我正在尝试在私有子网上的 VPC 内启动一个 ec2 实例。每次运行时kitchen test,我都能够使用正确的安全组和正确的子网范围启动实例。当 test-kitchen 尝试通过 SSH 连接到实例时,它要求输入密码。但是,当我手动尝试 ssh ( ssh <private_ip> -i <path_to_ssh_key> -l ubuntu) 到机器上时,我成功了,而不会提示输入密码。

以下是我的 .kitchen.yml 文件

我在环境变量上设置了 aws 凭据。以下是我的输出。

我尝试了几次,但在绕过密码以允许 test-kitchen ssh 到实例上时没有任何运气。以下是我的kitchen diagnose输出。

使用的版本: test-kitchen 1.4.0 kitchen-ec2 0.9.0

任何帮助将不胜感激。谢谢。