问题标签 [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.
testing - 确定测试厨房测试是否通过或失败
我们有一个看起来像这样的脚本:
如何确定我的kitchen test
通过或失败?
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 正确启用对文件的日志记录?
目前使用的参考文献:
client.rb
参考:https ://docs.chef.io/config_rb_client.html- 厨师客户特定设置
.kitchen.yml
:https ://docs.chef.io/config_yml_kitchen.html#chef-client-specific-settings
nginx - 如何为 nginx 食谱定义自定义属性?
对于我目前的问题,我正在使用nginx
食谱。我想做的是从源代码安装它nginx::source
(/opt/nginx/<version>/
使用/opt/nginx-<version>/
.
这是我的./attributes/default.rb
:
我不明白什么?
谢谢
另一件事是: - 我如何像上面一样为它添加前缀并创建一个符号链接/opt/nginx/current
(即使在更新之后也要这样做)?
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
testing - 测试 Chef 角色和环境
我是 Chef 的新手,一直在使用Test Kitchen来测试我的食谱的有效性,效果很好。现在,我正在尝试在最初运行 Chef 之前确保生产节点上特定于环境的属性是正确的。这些将在角色中定义。
例如,我可能有使用带有开发设置的 Vagrant 框聚合的食谱,它验证了食谱。我希望能够测试生产节点的角色。我想我希望这些测试作为描述我的环境的真实来源。查看 Test Kitchen 的文档,这似乎超出了它的范围。
我的假设正确吗?在第一次在生产节点上运行 Chef 之前,是否有更好的方法来测试食谱以确保它具有正确的设置?
chef-infra - 用 vsphere 测试厨房
当我尝试运行时出现以下错误kitchen test
:
我的 .kitchen.yml 文件是:
谁能帮帮我
chef-infra - 如何使用不同于 root 的用户“厨房登录”
我们的主菜谱通过 ssh 禁用 root 登录,但我们希望能够执行kitchen login
以使用测试机器(是的,我们可以使用 ssh 机器执行此操作,但我想知道是否可以配置 test-kitchen 以使用自定义用户)。
我的问题是“是否可以将 test-kitchen 配置为在执行时使用用户steve而不是 root用户kitchen login
?” 我在网上或已经提出的问题中找不到任何关于此的信息。
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:in
login'来自 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:in
run' 从 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:in
start 的 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:in
with_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:in
load' 来自C:/Program Files (x86)/Heroku/ruby-1.9.3/bin/kitchen:23:in `'
chef-infra - 我怎样才能让测试厨房多次运行相同的厨师食谱?
我有一个用于部署应用程序的厨师食谱。每次运行配方时,它都会创建一个新的“发布”(带有当前时间戳)目录并删除旧的“发布”目录,只留下 5 个最近的“发布”目录。(类似于 Capistrano 的 keep_releases 的工作方式)。
要测试该功能,我需要运行我的“部署”配方 6 次并验证是否只有 5 个“发布”目录。似乎我无法在 run_list 中多次使用相同的配方。
有任何想法吗?
谢谢!
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
任何帮助将不胜感激。谢谢。