标签: test-kitchen

替代司机与测试厨房

许多烹饪书,例如mysql cookbook都有多个.kitchen.yml文件.例如,mysql有一个.kitchen.yml和一个.kitchen-cloud.yml.看文档和代码测试的厨房,我看不到任何方式使用比其他配置文件.kitchen.yml,.kitchen.local.yml以及~/.kitchen/config.yml.如果我想使用mysql菜谱中的云驱动程序,我会:

  • cp .kitchen-cloud.yml .kitchen.yml
  • cp .kitchen-cloud.yml .kitchen.local.yml
  • 别的什么?

似乎应该有一个更清洁的方法来使用替代配置文件,强制替换默认配置文件.

谢谢

chef-infra test-kitchen

18
推荐指数
4
解决办法
4263
查看次数

如何在.kitchen.yml文件中指定cookbook路径?

我把厨师食谱存放在厨师/食谱/文件夹中.跑步时kitchen converge我仍然会注意到

Berksfile, Cheffile, cookbooks/, or metadata.rb not found so Chef will run with effectively no cookbooks. Is this intended?
Run Code Online (Sandbox Code Playgroud)

我尝试了很多选项,例如:

suites:
  - name: default
    run_list: recipe[git]
    cookbook_path: "chef/cookbooks"
Run Code Online (Sandbox Code Playgroud)

但我找不到合适的解决方案.如何指定烹饪书和角色的路径?

chef-infra test-kitchen

15
推荐指数
2
解决办法
1万
查看次数

ChefSpec和测试厨房

我正在调查ChefSpec报告(带覆盖范围)和测试厨房报告是否可以生成为junit格式,以便Jenkins可以解析它们以发布结果.或者如果有其他友好的方式,这些结果可以由詹金斯发布.

谢谢.

编辑1:对不起,如果我解释不正确,但我知道chefspec是单元测试,测试厨房用于集成测试.我在这个问题中的意思是如何以Jenkins解析的格式(例如junit格式)获取测试结果报告(对于chefspec和另一个手工测试厨房).

chef-infra chefspec test-kitchen

12
推荐指数
2
解决办法
2976
查看次数

添加属性到测试厨房

我试图java测试厨房覆盖食谱中的属性.

当我尝试运行时kitchen converge default-centos-64,会出现错误的YAML错误.

---
driver:
  name: vagrant
  customize:
    memory: 1024
    cpuexecutioncap: 50

provisioner:
  name: chef_solo

platforms:
  - name: centos-6.4

suites:
  - name: default
    run_list: 
      - recipe[java::default]
      - recipe[maven::default]
    attributes: {
                  java.install_flavor: "oracle",
                  java.jdk_version: "7"
                }
Run Code Online (Sandbox Code Playgroud)

我将上述内容粘贴到http://yamllint.com/.当我点击"Go"时,它会删除所有以"attributes"开头的行,然后显示绿色的"Valid YAML".

yaml chef-infra test-kitchen

9
推荐指数
1
解决办法
2万
查看次数

无法登录通过Test Kitchen管理的Vagrant框

我有一个非常锅炉板,.kitchen.yml具有以下内容:

---
driver:
  name: vagrant
platforms:
  - name: ubuntu-14.04
suites:
   - name: default
   run_list:
    - recipe[webserver::default]
Run Code Online (Sandbox Code Playgroud)

当我跑步时,kitchen converge我得到以下内容:

==> default: Setting hostname...
   ==> default: Replaced insecure vagrant key with less insecure key!
   ==> default: Machine not provisioned because `--no-provision` is specified.
   Waiting for SSH service on 127.0.0.1:2222, retrying in 3 seconds
   Waiting for SSH service on 127.0.0.1:2222, retrying in 3 seconds
   Waiting for SSH service on 127.0.0.1:2222, retrying in 3 seconds
   .....
   ......
Run Code Online (Sandbox Code Playgroud)

退出一点谷歌搜索后,我读到了Vagrant 1.7+ …

ssh chef-infra vagrant test-kitchen

9
推荐指数
2
解决办法
3726
查看次数

如何在Test Kitchen .kitchen.yml文件中指定Chef Solo的版本?

我正在使用Test Kitchen来测试一本食谱.我想指定将要安装的Chef solo的版本号.如何指定版本号?

chef-infra chef-solo test-kitchen

8
推荐指数
1
解决办法
4298
查看次数

测试厨房更新,而不是每次创建

在测试厨房中,有没有办法更新创建的实例,而不是每次都要销毁和重新创建实例?如果我改变了kitchen.yml并希望看到那个改变,那么运行整个destroy/create可能需要一段时间.

chef-infra test-kitchen

8
推荐指数
1
解决办法
1463
查看次数

测试Chef角色和环境

我是Chef的新手,并且一直在使用Test Kitchen来测试我的烹饪书的有效性,这非常有用.现在,我正在尝试确保在最初运行Chef之前,生产节点上的特定于环境的属性是正确的.这些将在角色中定义.

例如,我可能会使用带有开发设置的Vagrant框进行收敛,这样可以验证菜谱.我希望能够测试生产节点的角色.我想我希望这些测试作为描述我的环境的真相来源.看看Test Kitchen的文档,这似乎超出了它的范围.

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

testing tdd role chef-infra test-kitchen

8
推荐指数
2
解决办法
6411
查看次数

当我尝试销毁厨房实例时,Virtualbox被锁定

我跑了一个测试厨房实例,一切都很好,但最后我确实试图用以下方法销毁厨房:

roberto@pc:~$ kitchen destroy
Run Code Online (Sandbox Code Playgroud)

Virtualbox给了我这个错误.

-----> Starting Kitchen (v1.1.1)
-----> Destroying <default-ubuntu-1204>...
       [default] Destroying VM and associated drives...
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #destroy action: [Expected process to exit with [0], but received '1'
---- Begin output of vagrant destroy -f ----
STDOUT: [default] Destroying VM and associated drives...
STDERR: There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["unregistervm", "2507bc77-3734-429b-a573-d92fadb80e95", …
Run Code Online (Sandbox Code Playgroud)

virtualbox test-kitchen

6
推荐指数
2
解决办法
4193
查看次数

如何将环境变量传递给.kitchen.yml中的测试厨房

我正在尝试开发一本食谱,使一个烧瓶应用程序与gunicorn和nginx一起工作.我已经成功到应用程序运行良好的本地sqlite数据库,请参阅我的食谱https://github.com/harrywang/flasky-cookbook.烧瓶应用程序使用环境变量发送电子邮件,例如:MAIL_USERNAME = os.environ.get('MAIL_USERNAME'),如何在厨房汇聚期间使用测试厨房将这些环境变量传递给ubuntu虚拟机?

cookbook chef-infra flask gunicorn test-kitchen

6
推荐指数
2
解决办法
5866
查看次数