Test Kitchen 0.7.0支持在OpenStack上对Opscode Chef进行集成测试

Opscode宣布Test Kitchen 0.7.0已经可用,支持按需使用OpenStack实例来测试Chef cookbook

Test Kitchen作为一款工具软件,能够帮助Opscode Chef cookbook开发者在将cookbook应用到生产设施之前对其进行验证。Test Kitchen不仅支持在所测cookbook上运行一些基本的语法检查,还能供应虚拟机,并在供应的虚拟机内执行所测cookbook。在聚合虚拟机后,可以执行MiniTest来验证所测cookbook对虚拟机做了哪些修改。

Test Kitchen 0.7.0之前的版本,必须使用Vagrant结合VirtualBox来供应虚拟机。因为Vagrant需要在每台开发工作站和持续集成服务器上安装并维护,这对已经在使用OpenStack的用户来说是非常乏味的。最新版的Test Kitchen使用户不必管理单独的Vagrant环境。

为使用户从Vagrant迁移到已有的OpenStack配置,Test Kitchen 0.7.0引入了一种新的OpenStack runner,这种runner可以配置在cookbook的Kitchenfile内,在OpenStack虚拟机上,它能自动安装chef-client,并执行聚合和测试。

openstack do
    auth_url "http://openstack-auth-host.example.com:5000/v2.0/tokens"
    username "openstack-user-name"
    password "the-password-of-the-openstack-user"
    tenant "test-kitchen"
end

除了新的OpenStack runner,Test Kitchen 0.7.0对于老版本的aptyumbuild-essentialgitrvm cookbook没有任何硬编码依赖。不同于在Cheffile中指定这些cookbook,初始化设置在自己的cookbook中进行。cookbook可以依赖上述cookbook而无需指定其版本。

Test Kitchen 0.7.0从2012年12月3日起就以Ruby Gem形式提供了。简单运行以下命令即可安装:

gem install test-kitchen

Test Kitchen的源代码可以在GitHub上获取。

原文地址:https://www.cnblogs.com/kuaidianba/p/2874871.html