Vagrant - необходимо передавать параметры при каждом запуске, перезагрузке, вызывании - PullRequest
0 голосов
/ 12 февраля 2019

Ниже приведен код, в котором я динамически передаю некоторую переменную в виртуальную машину на основе итерации цикла for.

   (1..2).each do |i|
        config.vm.define "worker-#{i}" do |worker|

                worker.vm.network "public_network", bridge: "en0: Wi-Fi (AirPort)"

                worker.vm.provision "setup_worker",type: "shell", path: "scripts/setup_worker.sh",args: "10.200.$i.0/24"

         worker.vm.provider "virtualbox" do |vb|
                        vb.name = "worker-#{i}"
                        vb.memory = "2048"
                        vb.linked_clone=true
                end
        end

Пожалуйста, не используйте скрипт scripts/setupworker.sh, который я передаю параметру на основена итерации.

Это нормально во время начального vagrant up, однако я хочу иметь возможность передавать параметр 10.10.10.2#{i} в setup_worker.sh всякий раз, когда я запускаю vagrant provision или vagrant reload,

Я пытался пройти через env, как показано ниже

export ENV_POD_CIDR="10.200.1.0/24";vagrant provision worker-1

Однако я не могу прочитать его в виртуальной машине.

...