gpt4 book ai didi

vagrant - 如何在 kitchen.yml 中进行多重配置?

转载 作者:行者123 更新时间:2023-12-02 17:33:05 24 4
gpt4 key购买 nike

我有一个 Vagrantfile,其中我通过循环 json 文件来配置不同的虚拟机。例如。

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

我想在厨房里做同样的事情。获取属性数组和 foreach 数组项 - 运行recipe xyz - 这样我就可以使用 test-kitchen 编写一些测试,这可能吗?

谢谢

最佳答案

有几种不同的解决方法可以实现此目的,但它们绝对都是解决方法。有一个问题已开放讨论support of multiple boxes on test-kitchen ,您可以去那里阅读更多关于为什么这可能不会很快得到支持的信息。 TL;DR:这并不是该项目的真正目标。

解决方法包括:

  1. Chef-provisioning可以从单个配置的服务器/测试套件引导更多服务器
  2. Kitchen-nodes provisioner可以将每个服务器的数据共享给您设置中的其他测试套件
  3. 一个custom Vagrantfile template用于测试厨房

关于vagrant - 如何在 kitchen.yml 中进行多重配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32469458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com