Vagrant 是否可以在packer config.json文件中进行循环?
封隔器中的回路是否可能如此? 我有一个带有循环的文件,想把它转换成packer。我已经在google和stack overflow上搜索过了,但没有找到正确的解决方案 我无法将其转换为json格式: (0..$NODE_COUNT)。每个do|I|Vagrant 是否可以在packer config.json文件中进行循环?,vagrant,vagrantfile,packer,vagrant-provision,Vagrant,Vagrantfile,Packer,Vagrant Provision,封隔器中的回路是否可能如此? 我有一个带有循环的文件,想把它转换成packer。我已经在google和stack overflow上搜索过了,但没有找到正确的解决方案 我无法将其转换为json格式: (0..$NODE_COUNT)。每个do|I| # -*- mode: ruby -*- # vi: set ft=ruby : $BOX_IMAGE = "VAGRANT CLOUD IMAGE NAME" $TBSP_VERSION = "2.0"
# -*- mode: ruby -*-
# vi: set ft=ruby :
$BOX_IMAGE = "VAGRANT CLOUD IMAGE NAME"
$TBSP_VERSION = "2.0"
# number of additional tendermint validation nodes to be provisioned
$NODE_COUNT = 1
Vagrant.configure("2") do |config|
(0..$NODE_COUNT).each do |i|
config.vm.define "node#{i}" do |subconfig|
subconfig.vm.box = $BOX_IMAGE
subconfig.vm.hostname = "node#{i}"
subconfig.vm.network "private_network", ip: "192.168.50.#{i + 10}"
subconfig.disksize.size = '10GB'
subconfig.vm.provider "virtualbox" do |v|
v.memory = 4096
v.cpus = 4
v.customize ["modifyvm", :id, "--name", "v2.0-abci-tm-d-multi-node#{i}-server"]
end
subconfig.trigger.after :up do |trigger|
if(i == $NODE_COUNT)
trigger.info = "last Node-#{$NODE_COUNT} is up"
trigger.run = {path: "provision_tendermint.sh", :args => "'#{$NODE_COUNT}'"}
end
end
subconfig.vm.provision "shell", path: "provision.sh", :args => "'#{i}' '#{$NODE_COUNT}'"
end
end
end
不,Packer JSON目前不支持任何类型的循环。您必须以不同的方式处理此问题。我想你是在用流浪者来提供VMS而不是创建一个图像,那么你应该考虑使用TrRAFrm。