Vagrant 如何在kitchen.yml中提供多种食物?

Vagrant 如何在kitchen.yml中提供多种食物?,vagrant,chef-infra,test-kitchen,Vagrant,Chef Infra,Test Kitchen,我有一个Vagrant文件,在其中我通过一个json文件循环设置不同的Vm。例如 cluster_config.each do |cluster| cluster_name = cluster[0] # name of node nodes_config = (JSON.parse(File.read("test_data_bags/myapp/_default.json")))['clusters'][cluster_name]['nodes'] nodes_config.each do

我有一个Vagrant文件,在其中我通过一个json文件循环设置不同的Vm。例如

cluster_config.each do |cluster|
cluster_name   = cluster[0] # name of node
nodes_config = (JSON.parse(File.read("test_data_bags/myapp/_default.json")))['clusters'][cluster_name]['nodes']

nodes_config.each do |node|


  config.vm.define node_name do |nodeconfig|  
       processes = node_values['processes']
       processes.each do |process|
          nodeconfig.vm.provision :chef_solo do |chef|
              chef.data_bags_path = 'test_data_bags'
              chef.run_list = run_list              
              chef.roles_path = "roles"
                "myapp" => {
                  "cluster_name" => cluster_name,
                  "role" => node_role
                },
              }
          end
       end
    end
end
我想在kitchen ie中也这样做。获取一个属性数组和foreach数组项-运行recipe xyz-这样我就可以使用test kitchen编写一些测试,这可能吗


谢谢

有一些不同的变通方法可以实现这一点,但它们都是绝对的变通方法。有一个问题是开放讨论的,你可以去那里阅读更多关于为什么这可能不会很快得到支持。TL;博士:这不是项目的真正目标

解决办法包括:

  • 可以从单个配置的服务器/测试套件引导更多服务器
  • 可以将每台服务器的数据共享给设置中的其他测试套件
  • 测试厨房